我正在使用point3D和vector3D类,我需要一些帮助以给定距离调整点。如何调整一个3D点与另一个3D点之间的距离
- 点A位于坐标0,0,0处。点B - 坐标为1,1,1的点。
- 向量AB - 向量AB告诉我两点A和B之间的长度是距离= 1.73205078。
代码:
Point3D A = new Point3D { X = 0, Y = 0, Z = 0 };
Point3D B = new Point3D { X = 1, Y = 1, Z = 1 };
Vector3D AtoB = A - B;
Double distanceBetweenAandB = AtoB.Length; // the distance will be 1.73205078 here.
我想调整点B.我想点A和点B之间的距离减少到0.5而不是1(调整到位置C,如图所示)。我正在努力解决如何做到这一点。已知点A(0,0,0),点B(1,1,1)已知,调整距离已知(0.5)。我如何计算?
伪代码:在下面图中所示
Point3D A = new Point3D { X = 0, Y = 0, Z = 0 };
Point3D B = new Point3D { X = 1, Y = 1, Z = 1 };
Double distanceToAdjust = 0.5;
Point3D newCoordinate = B - distanceToAdjust; // this doesnt work!
调整点B:
我使用自己的定义三维点类和Vector3D类。
向量'[111]'的长度不是1,它是'SQRT(3)= 1.732(...)'。 –