我有一个由法线和距离定义的三维平面,有没有办法旋转平面以面对三维世界中的给定点?我可以很容易地计算法线(targetPos-objectPos标准化),但我不确定应该如何重新计算距离,以便平面保持相同的“原点”。
我正在尝试构建平面以与3d世界中的对象相交并面向相机,以便我可以在其上执行光线投射。
答案 0 :(得分:0)
如果我正确理解你的帖子,那么距离是指飞机沿着法线向量远离原点的距离。这意味着如果你试图旋转飞机但是保持相同的原点那么它是不可能的,因为改变法线会使整个飞机围绕原点移动。
最好将平面定义为两个向量,即位置向量(p)和法向量(n),这给出了平面的向量方程: p.n = d其中d是标量值。
这将允许您轻松更改平面的方向,例如,如果您希望平面指向某个点P1,那么您可以通过以下方式计算新法线n2: n2 =归一化(P1 - p)。