Угол между векторами 360 градусов - PullRequest
0 голосов
/ 12 апреля 2019

Я хочу вычислить угол между vector3d и другими векторами3d в 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);
 }

1 Ответ

0 голосов
/ 12 апреля 2019

Если вы посмотрите на документацию , вы увидите, что Знаковые углы не распространяются в трехмерное пространство, поэтому возвращается угол от 0 до 180 градусов. ,Это в комментариях.

...