欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WebGL中的线性代数知识

程序员文章站 2022-03-05 20:23:10
...

(欢迎访问: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/

(未完待续…)

相关标签: webgl 线性代数