Math 求矩形的角,给定平面方程,高度和宽度

Math 求矩形的角,给定平面方程,高度和宽度,math,vector,3d,plane,vertices,Math,Vector,3d,Plane,Vertices,基本上,我想让一个矩形平面始终面对一个对象 1) 我找到了我的平面方程(ax+by+cz+d=0) 2) 我有矩形的中心点(P0=(x0,y0,z0)),它位于平面上 3) 我有矩形的宽度和高度。(W,H) 4) 我知道矩形顶部的两个角的Y值相等,这也适用于底部的两个角。(Y是我的上下轴,矩形顶线和底线始终与x,z平面平行) 有人知道如何找到四个角C1、C2、C3、C4的x、y、z值吗?计算从平面中心到要面对的对象的向量。称之为向量V,然后归一化(V)=(a,b,c)和d=-a*x0-b*y0-

基本上,我想让一个矩形平面始终面对一个对象

1) 我找到了我的平面方程(ax+by+cz+d=0)

2) 我有矩形的中心点(P0=(x0,y0,z0)),它位于平面上

3) 我有矩形的宽度和高度。(W,H)

4) 我知道矩形顶部的两个角的Y值相等,这也适用于底部的两个角。(Y是我的上下轴,矩形顶线和底线始终与x,z平面平行)


有人知道如何找到四个角C1、C2、C3、C4的x、y、z值吗?

计算从平面中心到要面对的对象的向量。称之为向量V,然后归一化(V)=(a,b,c)和d=-a*x0-b*y0-c*z0。你有你的飞机方程

现在,可以根据需要旋转平面。如果要使平面具有0个滚动(即,仅修改偏航和俯仰),则可以获取世界“向上”向量(0,0,1)的归一化叉积,然后归一化(V)以获得矩形的水平向量U。取normalize(V)和U的归一化叉积,得到矩形的垂直向量W

矩形的角现在是:

C1=P0+(宽度/2)*U+(高度/2)*W
C2=P0+(宽度/2)*U-(高度/2)*W
C3=P0-(宽度/2)*U+(高度/2)*W
C4=P0-(宽度/2)*U-(高度/2)*W


请注意,当矩形直接位于它应该面对的对象的上方或下方时,这种方法具有奇点。如果合适,您应该检查并处理它,但在您的场景中是有意义的。

谢谢!这真是太棒了。我完全忘记了交叉积数学。澄清你的方程式。C1=P0+(宽度/2*U)+(高度/2*W)@Oh我没有注意到我用W表示宽度,用W表示垂直向量。是的,每个方程式中的第一个W是宽度。