简体   繁体   English

向量之间的角度360度

[英]Angle between vectors 360 degrees

I want to calculate the angle between a vector3d and other vectors3d in 360 degrees 我想计算360度的vector3d和其他vectors3d之间的角度

I have tried this with vector3d.AngleBetween but this gives results in 180 degrees 我用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);
 }

I you have a look at the documentation you'll see that Signed angles do not extend into 3-D space, so an angle between 0 and 180 degrees is returned. 我看一下您将看到的文档签名角度不会延伸到三维空间,因此返回0到180度之间的角度。 . It's in the Remarks. 它在备注中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM