【发布时间】:2013-11-07 18:23:39
【问题描述】:
我和我的朋友在学校的 VB 课上从零开始制作一个 3D 渲染引擎,但我不确定形成立方体的数学是如何工作的。给定六个变量:
rotX
rotY
rotZ
lenX
lenY
lenZ
分别代表 x,y,z 上的旋转和 x,y,z 上的长度,制作立方体的公式是什么?我知道我所要做的就是计算三个段,然后从这些段中创建三个平行四边形,所以我只需要数学来找出这三个段是什么。 谢谢!
【问题讨论】:
-
取决于您如何进行渲染。 OpenGL 通过将当前矩阵与特定矩阵相乘来执行旋转,其公式在here 中列出。
-
为了渲染,我只是使用 e.Graphics.DrawPolygon 函数来绘制从可见面相交的 3 个线段派生的 3 个平行四边形中的每一个。
-
通过“渲染”,我的意思是,获取一个三维点并确定该点将在您的屏幕上绘制的二维坐标。比如,如果我想绘制点 (16,23,42),你的引擎会在哪里绘制像素?你写过代码吗?
-
不,这实际上是我需要帮助的,现在我想起来了。一旦找到对我有帮助的公式,我可能可以编写公式来进行立方体的 3d 旋转,但我不确定如何将 3d 点绘制到 2d 表面上。
标签: vb.net math graphics 3d render