5 min read

数学知识

笛卡尔坐标系

  • 二维笛卡尔坐标系
  • 三维笛卡尔坐标系
  • 左右手系
    • 左右手法则判断旋转正方向
    • 左右手系可以相互转换,一般将z轴取反
    • 当两个坐标系具有相同旋转性(handedness),就可以旋转重合
  • Unity使用的坐标系
    • 除了观察空间外皆为左手系
    • right,up,forward分别对应x,y,z
    • z值对应于深度值,深度值越大,z值越小(右手系) 距离摄像机越远

点和矢量

是n维空间的一个位置,没有大小,宽度概念.在笛卡尔坐标系,可以以**P=(Px,Py)**表示二维的点, **P=(Px,Py,Pz)**表示三维空间的点

矢量

矢量是指n维空间中一种包含了模(mugnitude)和方向(direction)的有向线段.如速度(velocity).标量(scalar)没有方向只有大小,如距离(distance)

  • 矢量的模就是矢量的长度
  • 矢量的方向描述了矢量在空间中的指向

矢量表示方法和点类似.如v=(x,y,z)来表示三维矢量

  • 标量一般使用小写字母表示
  • 矢量一般用粗体小写表示,或者头顶箭头
  • 矩阵使用大写粗体表示

通常,矢量被用于表示相对于某个点的偏移(displacement),也就是说他是一个相对量.只要矢量的模和方向保持不变,无论放在哪里都是一个矢量

点和矢量的区别

点是一个没有大小之分的空间中的位置,矢量是个有模和方向但没有位置的量

矢量可以描述相对位置,此时矢量的尾是一个位置,头又是另一个位置.如果把矢量的尾固定在坐标原点,矢量的表示就与点重合了

将表示方向的矢量称作方向矢量(空间直线的方向用一个与该直线平行的非零向量来表示,该向量成为这条直线的一个方向向量)

矢量运算

矢量的乘法/除法

矢量的加法

a+b 就是将a的头指向b的尾,并画一条从a的尾指向b的头的矢量. 如果进行了一个a的位移,又进行了一个b的位移,就等同于进行了一个a+b的位移

减法由减向量指向被减向量

在图形学中矢量通常用于描述位置偏移,可以利用矢量的加法和减法来计算一点相对于另一点的位移

矢量的模

矢量的模是一个标量,可以理解未矢量在空间中的长度

单位矢量

很多情况下只关注矢量的方向而不是模,如计算顶点法线方向和光源方向,这种情况下就需要计算单位矢量(unit vector),模长为1的矢量就是单位矢量.两者转化构成就叫做归一化(normalization)

矢量点积

  • 点积就是将两个矢量对应的分量相乘后取和,最终的结果是一个标量
  • 矢量点积满足交换律
  • 点积的其中一个几何意义就是投影

矢量叉积