Unity_Shader开发_数学(四)---------2016.1.6

一、从坐标说起

      在unity里一切的渲染都要从坐标系说起。

      坐标系的分类 模型坐标系、世界坐标系、摄像机坐标系、屏幕投影坐标系、2D中模型坐标系。

      在一些3D建模软件中,为了方便描述模型物体本生间的关系,将物体在一个欧几里德3维坐标系中对物体建模。模型空间在处理本生的相对关系比较有用,但是为了表达多个物体间的关系,就需要一个更高层次的坐标系统对他们进行统一,这就是世界坐标系。一个点从模型坐标到世界坐标的变换 就可以借助矩阵。

      摄像机坐标系:也叫视空间,也称相机空间,是为了方便表达以相机为世界的中心所有物体的一个坐标系。

      屏幕坐标系:将三维物体投影到屏幕二维空间。

二、向量

     Unity中 有数据结构Vector ,可以表示一个点,也可以表示方向,速度,向量。至于要赋予它什么意义正是程序员所要思考的问题。

     向量点积,两个向量的点积的结果是这两个向量的夹角对应的弧度值。是一个标量。 Cos(a)=Dot(v1,v2)/||v1|*|v2||

     向量叉积,表示垂直两个向量的向量,要注意它的方向性。 它的应用在光照计算中的计算法向量 , 和背部剔除。

三、矩阵

     矩阵要注意的地方:

         矩阵的维度和记法  、矩阵的转置 、 矩阵和 标量 与矩阵的乘法。

         方阵、行列式、代数余子式、

         使用矩阵可以进行 旋转,旋转矩阵,缩放矩阵,投影矩阵,镜像矩阵,切边矩阵,变换组合。

    噔噔 ,更详细见《3D数学基础:图形与游戏开发》

原文地址:https://www.cnblogs.com/bambomtan/p/5106751.html