我想计算360度的vector3d和其他vectors3d之间的角度
我用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);
}
我看看the documentation,你会看到有符号的角度不会延伸到3-D空间,所以返回0到180度之间的角度。它在备注中。