利用在线绘制3d几何图形工具分析投影变化

业余写了个在线绘制几何图形工具,工具链接如下:

https://easyshow.xyz/drawgeometry/

 

通过脚本代码在可视化窗口添加对应的点,线段,成像平面推到投影后坐标的计算:

点A通过O点连线投影到红色成像平面,相交于点A'

A点坐标为(2,2,-4) OC长度等于相机的near值

A点投影到YZ平面相交于点D,所以AD长度等于A点的X坐标记为Px

D点再投影到XZ平面相交于点E,所以DE的长度等于A点的Y坐标记为Py

同理A'投影到YZ平面相交于点B,B再投影到XZ平面相交于点C

这时候其实点A'的X和Y的坐标即为线段A'B和BC的长度

又因为三角形OA'B 和 OAD相似三角形,所以A'B / AD = OB / OD;

又因为三角形OCB和三角形OED相似得到OB / OD = OC / OE; 所以A'B / AD = OC / OE; 又因为OC = -near, OE为A点Z坐标(记为Pz)

所以A'B = (-near / pz )  * Px;

同理因为三角形OCB和三角形OED相似 BC / DE = OC / OE;

所以BC = (-near / pz ) * Py;

posted on 2019-07-31 21:27  zzatp  阅读(561)  评论(0编辑  收藏  举报

导航