最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--方向向量
(欢迎拜访:http://www.3body.tk/iblog/)
线性代数是数学中处理矢量和矩阵的一个分支。学习三维图形和WebGL的同学最少要对线性代数有基本的懂得。上面总结了线性代数中需要懂得的一部分知识。
1.坐标系
首先,我们需要一个坐标系来肯定用WebGL画出来的图形的位置。坐标系有时候也被称为空间。在线代中有很多种坐标系,但是用在WebGL中的叫做三维的,正交的,右手坐标系。虽然看上去好像很复杂的模样,实现上很简单。
三维说明这个坐标系有三个坐标轴,一般称作x轴,y轴,z轴。 正交的意思是三个坐标轴是互相垂直的。 右手是用来指明z轴的方向,因为当x,y轴肯定后,z轴有可能会指向正反两个方向。具体做法是伸出你的右手,然后依次将大拇指,食指,中指对应到x,y,z轴,你中指所指的方向就是z轴的方向。
2.点和顶点
三维坐标系中的一个点可以用(Vx, Vy, Vz)来表现,这个点的位置是从原点(0, 0, 0)挪动得到的(x轴挪动Vx,y轴挪动Vy,z轴挪动Vz)。 在数学定义中,点是构成其他几何图形的最基本的元素。两个点可以构成一条直线,三个点可以构成一个三角形,诸如此类。 当一个点用来在三维图形中构建其他几何外形的时候,平日被称为顶点。
3.矢量(向量)
一些物理属性(比如温度,品质,能量)是没有方向的,可以用一个单独的数值来表现,叫做标量。另一些属性(比如速率,加速度,推力)除了数值外,还需要方向才能在坐标系中完整描述,叫做向量。 向量与两个点构成的直线不同,它没有位置定义,只有方向和长度。用图形表现的话就是一个从起点到终点的带有方向的箭头。在三维坐标系中,向量(Vx,Vy,Vz)表现从原点(0,0,0)出发到终点(Vx,Vy,Vz)所定义的方向和长度。 向量可以进行加法运算,相加的结果是另外一个向量:
V + U = (Vx + Ux, Vy + Uy, Vz + Uz)。
向量可以与一个标量相乘,相加的结果同样是另外一个向量:
kU = (kUx, kUy, kUz)。
如果k是-1,那得到的就是一个与原来的向量方向相反,巨细相同的向量。 向量在基本物理迷信和三维应用中是十分重要的,比如你可以用(100, 0, 0)来描述一个速度为100米/秒,方向向东,在地面上狂跑的兄弟的速率。
新站应用:金地*城http://www.myjindy.net
转载请注明出处:http://www.3body.tk/iblog/
(未完待续…)
文章结束给大家分享下程序员的一些笑话语录: 刹车失灵
有一个物理学家,工程师和一个程序员驾驶着一辆汽车行驶在阿尔卑斯山脉 上,在下山的时候,忽然,汽车的刹车失灵了,汽车无法控制地向下冲去, 眼看前面就是一个悬崖峭壁,但是很幸运的是在这个悬崖的前面有一些小树 让他们的汽车停了下来, 而没有掉下山去。 三个惊魂未定地从车里爬了出来。
物理学家说, “我觉得我们应该建立一个模型来模拟在下山过程中刹车片在高 温情况下失灵的情形”。
工程师说, “我在车的后备厢来有个扳手, 要不我们把车拆开看看到底是什么 原因”。
程序员说,“为什么我们不找个相同的车再来一次以重现这个问题呢?”