Math 计算矩形三维坐标及其阴影坐标?

Math 计算矩形三维坐标及其阴影坐标?,math,3d,rotation,geometry,perspective,Math,3d,Rotation,Geometry,Perspective,有时会出现一个问题:什么是三维旋转的矩形,什么是透视变换(例如在CSS中)绘制为四边形。但我们希望通过旋转和透视绘制得到矩形(宽度、长度、欧拉角、透视图)作为四边形 解决: 坐标系: 坐标系的原点与对角线交点重合。轴Z垂直于四边形。斧头X穿过A点 a、 b,c,d;-;-直角坐标 a(x1,y1,z1); b(x2,y2,z2); c(x3,y3,z3); a(x4,y4,z4); A、B、C、D-阴影。角点A(q1,p1,0); B(q2,p2,0);C(q3,p3,0); D(第4季度、

有时会出现一个问题:什么是三维旋转的矩形,什么是透视变换(例如在CSS中)绘制为四边形。但我们希望通过旋转和透视绘制得到矩形(宽度、长度、欧拉角、透视图)作为四边形


解决:
坐标系:
坐标系的原点与对角线交点重合。轴Z垂直于四边形。斧头X穿过A点
a、 b,c,d;-;-直角坐标
a(x1,y1,z1); b(x2,y2,z2); c(x3,y3,z3); a(x4,y4,z4);
A、B、C、D-阴影。角点A(q1,p1,0); B(q2,p2,0);C(q3,p3,0); D(第4季度、第4季度、第0季度)
k透视图。
在坐标系y1=y3=0中。
图一。
来自相似变换三角形的是:

x1=1-z1/kq1;
x3=1-z3/kq3
根据问题陈述,对角线交叉位于坐标原点,因此:
z3=-z1*x3=-x1
在上述表达式中替换并相互相等为:
x1=2*q1*q3/(q3-q1)
z1=(q1+q3)/(q1-q3)*k.

为了简化其他计算,假设第二个矩形对角线(bd)位于坐标系中,对角线点的Y坐标等于零。在该坐标系中,坐标点b和d与点a和c相同,但我们必须将z1改为z2,z3改为z4,x1改为x2,x3改为x4,q1改为q2,q3改为q4
要从想象系统转换到真实系统,请使用旋转坐标公式(Z轴相同,Z坐标相等)
图2

x=x'*cos(a);y=y'*sin(a)
结果是:
x2=-x4=2*q2*q4/(q4-q2);
y2=-y4=x2*tan(a)
z2=-z4=(q2+q4)/(q2-q4)k; tan(a)=(p2-p4)/(q2-q4)

abcd是平行四边形。对角线交叉点将对角线除以一半。我们还需要一个表达式来制作矩形。使用等于90度的角度。在abcd中做两边的标量乘向量。在坐标系中:
(a-b)(d-a)=y4y2+(x1-x4)(x1-x2)+(z1-z4)*(z1-z2)=0;
f=(q1*q2-q4)(q1*q4-q2*q3)
g=-tan2(a)*q42q22(q1-q3)2+(-q1q2(q3+q4)+q3q4(q1+q2))*(q1q2(q4-q3)+q4q4(q1-q2))
我们得到k(透视图)的方程:f*k2-g=0,求解它

k=sqrt(g/f)。


收集所有公式,得到点abcd的所有坐标。
从角点坐标计算矩形边很简单。

计算四元数、旋转矩阵、角度参见图 图1点a、c对角矩形(黄色)点a、c对角四边形(阴影)(红色)

图2 a、b、c、d矩形点(黄色)a、b、c、d阴影(四边形)(红色)


我已经解决了这个问题。请稍后回答。如果没有图片,我就无法发布它(你要找的谷歌单词可能是“单字法”。但我想现在提出这个问题已经太晚了。