0

我有一个法线为 (0,1,0) 的平面,即它是一个 xz 平面。我有了新的常态和距离。我想将我的原始平面转换为新平面的法线/距离。

为了计算旋转,我简单地取了两条法线的叉积,然后通过点积得到角度。然后我旋转了它。如何沿着新常态移动飞机?如果我的原始平面起源于 (0,0,0),我是否只需将其平移 (Nx*d, Ny*d, Nz*d) (其中 N = 新法线,d = 与原点的距离)?

4

1 回答 1

1

如何沿着新常态移动飞机?

我认为你的提议是正确的。

假设您用单位法线距离表示平面,距离是从原点到平面的距离。然后,您可以进行如下任何翻译,

m_distance += m_normal.Dot(translation); \\ translation will be (Nx*d, Ny*d, Nz*d) in your case. 
m_normal; \\ normal stay the same, as translation won't change the direction of the plan.

在这种情况下,实际上 m_distance = m_distance + d。

于 2013-10-30T15:43:57.160 回答