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

Posted zzatp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用在线绘制3d几何图形工具分析投影变化相关的知识,希望对你有一定的参考价值。

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

https://tinygltf.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;

以上是关于利用在线绘制3d几何图形工具分析投影变化的主要内容,如果未能解决你的问题,请参考以下文章

如何绘制 3D 球体?

js + html5 怎么来绘制三维图形

Python 使用 matplotlib绘制3D图形

SharpGL之Viewport

L7-15 3D图形

绘制相同 X 的多个 Y 值不会投影所需的值