-
首先搭建如图场景,通过transform/rotate变換当前对象世界矩阵,并创建对象得到绕城一圈的旋转正方形场景。
使用modelX(x,y,z)获取当前对象世界矩阵下坐标(x,y,z)在总世界中的位置。
如图代码實现了一个物体到达一个空间坐标就带有该坐标指定的颜色
-
使用screenX(x,y,z)和screenY(x,y,z)获取世界中某个坐标在屏幕参考系中的位置。如图用ellipse椭圆函数结合唑标计算方法B,绘制立体阵列效果
-
screenZ(x,y,z)是屏幕坐标系的z分量。这些变换函数本质是计算方法B变换矩阵
因此在默认的视图和相机变换矩阵下,screenZ是一个结合近远平面得出的的一个数值
可利用该数值的大小判断图元的遮挡。
-
screenX/Y/Z函数受到视图矩阵和相机矩阵的影响
如图,使用ortho函数設置正交视图矩阵发现坐标计算方法B变为平面。
-
很多时候并不需要我们手动计算方法B坐标一些绘图函数同样有3D参数的版本。
-
如果坐标計算方法B量巨大考虑通过矩阵变换实现,或者glsl着色器实现
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您詳细咨询相关领域专业人士。