0

我想计算一个vector3d和其他vector3d之间的360度角

我已经用 vector3d.AngleBetween 试过了,但这会产生 180 度的结果

//Create a new 3d vector from average points
Vector3D vector1 = new Vector3D(averageX, averageY, 0);

//Create reference vector
Vector3D vector2 = new Vector3D(averageX-100, averageY, 0);
Vector3D vectorResult1 = new Vector3D();

vectorResult1 = vector2 - vector1;                       

//Other vector to all points in layer
foreach (XYZ d1 in coord)
 {                                
   Vector3D vector3 = new Vector3D(d1.X, d1.Y, d1.Z);
   Vector3D vectorResult2 = new Vector3D();

   vectorResult2 = vector3-vector1;

   //Define a rotation

   double angleBetween = Vector3D.AngleBetween(vectorResult2, vectorResult1);
 }
4

1 回答 1

0

我看一下文档,您会看到有符号角度不会延伸到 3-D 空间中,因此会返回 0 到 180 度之间的角度。. 它在备注中。

于 2019-04-12T08:40:08.457 回答