有时问题是什么是矩形3D旋转和透视转换(例如在CSS中)绘制为四边形。但我们希望获得通过旋转和透视绘制转换为矩形的矩形(宽度,长度,欧拉角,透视)。
答案 0 :(得分:0)
解:
坐标系:
坐标系的原点与对角线交点重合。斧头Z垂直于四边形。 Ax X穿过A点
a,b,c,d; - ; - 具有坐标
的矩形
A(X <子> 1 子>,Y <子> 1 子>和z <子> 1 子>);
B(X <子> 2 子>,Y <子> 2 子>和z <子> 2 子>);
C(X <子> 3 子>,Y <子> 3 子>和z <子> 3 子>);
A(X <子> 4 子>,Y <子> 4 子>和z <子> 4 子>);
A,B,C,d-阴影。角点A(q 1 ,p 1 ,0);
乙(Q <子> 2 子>,P <子> 2 子>,0); Ç(Q <子> 3 子>,P <子> 3 子>,0);
d(Q <子> 4 子>,P <子> 4 子>,0);
k观点。
在该坐标系y 1 = y 3 = 0。
FIG1。的
从相似变换三角形是:
X <子> 1 子> = 1-Z <子> 1 子> / K q <子> 1 子>;
X <子> 3 子> = 1-Z <子> 3 子> / K q <子> 3 子>
从问题陈述来看,对角十字架是坐标的原点,因此:
z 3 = - z 1 x x 3 = - x 1
在上面的表达中代入并相互等同是:
X <子> 1 子> = 2 * Q <子> 1 子> * Q <子> 3 子> /(Q <子> 3 子> -q <子> 1 子>);
ž<子> 1 子> =(Q <子> 1 子> + Q <子> 3 子>)/(Q <子> 1 子> -q <子> 3 子>)* K
为简化其他计算,假设第二个矩形对角线(bd)位于坐标系中,对角点的Y坐标等于零。在此坐标系中,坐标点b和d与点a和c相同,但我们必须将z 1 更改为z 2 ,z 3 到z 4 ,x 1 到x 2 ,x 3 到x 4 ,q 1 至q 2 ,q 3 至q 4 。
从想象系统转换到实际系统使用旋转坐标公式(Z ax相同,z坐标等于)
图2
X = X'* cos(A); Y = Y'* SIN(一);
结果是:
X <子> 2 子> = - X <子> 4 子> = 2 * Q <子> 2 子> * Q <子> 4 子> /(Q <子> 4 子> -q <子> 2 子>);
ÿ<子> 2 子> = - ý<子> 4 子> = X <子> 2 子> * TAN(一);
ž<子> 2 子> = - z <子> 4 子> =(Q <子> 2 子> + Q <子> 4 子>)/(Q <子> 2 < /子> -q <子> 4 子>)的 K表;
黄褐色的(a)=(P <子> 2 子> -p <子> 4 子>)/(Q <子> 2 子> -q <子> 4 子>)
abcd是平行四边形。对角交叉点将对角线分成一半。我们还需要一个表达式来制作矩形。使用角度等于90度。在abcd中制作两边的标量乘法向量。协调它是:
(AB)(DA)= Y <子> 4 子> ý<子> 2 子> +(X <子> 1 子> -x <子> 4 子>)(X <子> 1 子> -x <子> 2 子>)+(Z <子> 1 子> -z <子> 4 子>)*(Z <子> 1 子> -z <子> 2 子>)= 0;
F =(Q <子> 1 子> * Q <子> 2 子> -q <子> 3 子> q <子> 4 子>)< / em>的(q <子> 1 子> * q <子> 4 子> -q <子> 2 子> * q <子> 3 子>)
克= -tan 2 的(a)* Q <子> 4 子> 2 q <子> 2 子> < SUP> 2 (q <子> 1 子> -q <子> 3 子>) 2 +( - q <子> 1 子> q <子> 2 子> 的(q <子> 3 子> + q <子> 4 子>)+ q <子> 3 子> < EM> q <子> 4 子> 的(q <子> 1 子> + q <子> 2 子>))*(q <子> 1 子> q <子> 2 子> 的(q <子> 4 子> -q <子> 3 子>)+ q <子> 3 子> q <子> 4 子> 的(q <子> 1 子> -q <子> 2 子>))
我们得到方程k(透视):f * k 2 -g = 0,解决它
K = SQRT(克/ F)。
收集所有公式我们得到点abcd的所有坐标。
从角的坐标简单计算矩形边。
答案 1 :(得分:0)
图 图1点a,c对角矩形(黄色)点A,C对角线四边形(阴影)(红色)
图2 a,b,c,d矩形点(黄色)A,B,C,D阴影(四边形)(红色)