我有一组包含(理论上)共面曲线的点。我的问题是飞机是任意的,可以在每次收集数据之间移动(这些点是从相机收集的)。我想知道你们是否可以帮助我弄清楚如何:
我相信我知道如何做第2点,主要是第1点,我正在努力,但我不介意第二点的帮助。
万分感谢!
A,B,C
它们不得单线,并且应尽可能远离彼此以提高准确性。U,V
基矢量
U = B-A
V = C-A
正常化
U /= |U|
V /= |U|
让U,V
垂直
W = cross(U,V) // this will be near zero if A,B,C are on single line
U = cross(V,W)
U,V
飞机
只是对于数据计算中的任何点P=(x,y,z)
:
x' = dot(U,P)
y' = dot(V,P)
如果您还需要反向转换:
P = x'*U + y'*V
如果你想要/有一个原点A
,转换将是:
x' = dot(U,P-A)
y' = dot(V,P-A)
P = A + x'*U + y'*V
这将在您的2D坐标中将A
映射到(0,0)
。如果你不知道你的矢量数学看这里:
在底部,您将找到向量运算的等式。希望有帮助......