首页天道酬勤如何看三维立体图,三维立体图原理

如何看三维立体图,三维立体图原理

张世龙 05-12 20:48 80次浏览

2009-12-22 17:34

《三维图形成象的基本原理》

DDM君/Furry,Flab3D.com (转载许可,请注明转载) )。

一个三维模型/场景要在屏幕上成像和工作,至少需要以下元素: 对数学很辛苦或者完全没碰过的人不需要害怕。 首先,具体的计算法将在后面的教程中说明。

模型和贴图:

三个点连成一个三角形,许多三角形构成一个模型。

贴图是与模型中每个点(x、y、z )相对应的平面的u、v )、v ),也就是平面位图的x、y。 只是在点上使用了x、y,所以害怕重复。

Flash3d中的贴图根据每个三角形的倾斜度,根据每个点对应的UV计算beginBitmapFill的第二个矩阵参数矩阵,然后用位图填充三角形。

运动:

第一次接触图形数学的朋友一定会惊讶于以下的道理(二维、三维图形都是这样的道理,只是三维多一个z轴)。

所有我们认为在动的点/模型其实都没有动。 是相对坐标系。 只有坐标系在移动。 移动、旋转、放大、透视都是相同的原理,只是有移动、旋转、放大、透视这些点/模型的坐标系。

照相机的各种运动是指浮云。 相机绕y顺时针拍摄,只是模型的坐标系绕y逆时针旋转。

所有点的变化是点(x、y、z )乘以矩阵。 就这么简单。

听了这个请不要害怕。 你不需要详细研究什么是矩阵。 如果知道使用方法就好了。 另外,他们也不需要自己计算,数学算法类flash3d的引擎都是写的。

一个东西要发挥作用,无论是二维还是三维,都必须乘以其所有点的矩阵。 这是逃不掉的。

‘投射’在屏幕上

虽说是“三维”,但实际上是从二维平面的屏幕上看。 所以我们必须使三维的点(x,y,z ),只有) x,y )的点显示在平面的电脑画面上。 可以说图像的一点表明该点被“投影”在平面的画布上。

一些朋友说,我直接去掉x、y、z的z值不就好了吗? 是的,直接去除我们会得到(x,y )的点,但是这样投影在图形上没有很大的变化,看起来有点奇怪。

于是我们有了《透视投影》。 算法将x,y除以与某z相关的值w,得到近大远小的透视后的(x,y )。 这是我们平时看到的最正常的近大远小的三维图像。

图形学原理是读取flash3d各种引擎核心内容的基础。 知道这样的知识后,读了引擎的源代码才有意义,以后才能慢慢加入写引擎代码的行列。 否则,只会迷失在代码的海洋里。 (有时也会吐出来=A=)让我们一起迈出这第一步吧。 请加油。

dsp编程语言详解,51单片机开发板介绍 什么叫三维成像,三维视觉是利用什么原理