stage3d编程-基础0(向量)
从今天开始写我对于stage3d编程的一些基础知识。尽量保证更新,不太监。之所以想到写这个,是因为在半年前,本人刚开始学习3d的时候,苦于无详细的资料,无方向,走了很多弯路,现在分享出来,同时也是对关于stage3d编程的总结,因记性差, 所以觉得写下来,以后可以翻翻。
如果是正在学习stage3d的童鞋,可能买了Adobe-Flash-11-Stage3D-Molehill-Game-Programming-Beginners-Guide这本书,当初我也是跟着这本书来学习的,但是里面其实有很多地方并没有讲明白,所以我准备从最基础的开始写。这些基础是3d的基石,只有懂了这些,在开发的时候才会得心应手。
向量
定义:向量是一种同时具有大小和方向的物理量。常见得向量有:速率,位移等。如果从几何角度描述向量的特征,那么就是一个有向线段来表示向量,其中长度表示向量的大小,箭头表示向量的方向。http://zh.wikipedia.org/wiki/%E7%9F%A2%E9%87%8F 。移步到此看平面向量http://baike.baidu.com/view/1431240.htm。
![]()
注意,向量所描绘的位置并不重要,根据向量的定义,改变向量的位置,并不会改变向量的大小和方向。因此当且仅当两个向量具有相同的方向和长度时,才会认为两个向量相等。这就使得,两个相同的向量,如果他们位置不同,那么就可以通过平移的方式来使得它们重合。
1.1 向量和坐标系
在数学几何中,向量可以通过以上方式来描述,但是在计算机中,我们只能通过数字的方式来描述。我们在空间中引入3d坐标系。计算机中2d坐标系是以屏幕左上角为原点。向右为x轴,向下为y轴。3d坐标系的原点则是以屏幕中心为原点,3d坐标系只比2d坐标多了一个z轴。因3d里面有各种各样的坐标系,例如有yup,y up顾名思义就是y轴朝上,还有z up,z up就是z轴朝上。所以在本文里面使用y up左手坐标系->y轴朝上,x轴朝右,z轴朝内,坐标原心是屏幕中心。关于右手坐标系和左手坐标系:
假如我们将3d向量的起始点A(例如上图为2D向量)移动到坐标原点。那么点A的坐标就是(0, 0, 0),点b的坐标就是(x, y, z),向量AB就可以表示为(x - 0, y - 0, z - 0)->(x, y, z)。因此就可以通过三个数字来表示一个向量。在stage3d中,可以通过一个vector3d来表示一个向量。但是一个3d坐标点,同样也可以通过vector3d来表示。
1.2 向量的运算
向量可以做加法,标量乘法,减法运算。
加法:设向量u = (ux, uy, uz) ,向量 v = (vx, vy, vz),则 u + v = (ux + vx, uy + vy, uz + vz)
浙公网安备 33010602011771号