我需要在给定起点和基于平面的位置之间的偏移量的情况下创建 XYZ 位置列表。在平面上,这很容易。假设我需要的偏移量是从位置 0,0,0 向下移动 3 然后向右移动 2
输出将是:
0,0,0 (starting position)
0,-3,0 (move down 3)
2,-3,0 (then move right 2)
不同的起始位置也是如此,比如说 5,5,1:
5,5,1 (starting position)
5,2,1 (move down 3)
7,2,1 (then move right 2)
当飞机不再在这个平面网格上时,问题就来了。
我能够计算给定 3 个点的平面方程和法向量。但是现在给定这个方程,我能做些什么来创建这个 XYZ 位置的数据集?
我知道我可以在给定两个值的情况下求解 XYZ。假设我知道 x=1 和 y=1,我可以求解 Z。但是向下移动 2 不再只是 y-2。我相信我需要在 x 和 y 轴上找到一个线性方程来增加位置并平行于这个新平面的 x 和 y 移动,然后只求解 Z。我不知道如何完成这个。
另一个问题是我需要计算这个平面相对于基准平面的角度、倾斜和旋转。
例如:
P1=0,0,0 and P2=1,1,0 the tilt=0deg angle=0deg rotation=45deg.
P1=0,0,0 and P2=0,1,1 the tilt=0deg angle=45deg rotation=0deg.
P1=0,0,0 and P2=1,0,1 the tilt=45deg angle=0deg rotation=0deg.
P1=0,0,0 and P2=1,1,1 the tilt=0deg angle=45deg rotation=45deg.
我已经在这两个问题上搜索了几个小时,而且我总是在平面方程上停下来。正确操作 x,y 以平行于平面,然后利用该信息找到这些角度。这是要解决的很多几何问题,我找不到有关如何计算此点列表的更多信息,更不用说计算与基准平面的 3 个角度了。
我会对此有任何帮助或见解。只是简单的旧数学或对 C++ 的引用将非常适合阐明我在这里面临的这个问题。
谢谢你,马特