[计算机图形学01]坐标系统以及矢量乘法

坐标系统

在3D渲染中,使用得最广泛的坐标系统是笛卡尔坐标系(Cartesian coordinates)。 而笛卡尔坐标系又可以分成左手坐标系右手坐标系。 当左手大拇指或者右手大拇指指向坐标系z轴正方向,且其余四指指尖的环绕方向是坐标系x轴绕向y轴的方向(逆时针方向),满足这以规则的笛卡尔坐标系即称为左手坐标系或右手坐标系。 其中OpenGL使用的是右手坐标系,而DirectX使用的是左手坐标系

矢量乘法

矢量的乘法有两种最常见的种类:点积(Dot Product)叉积(Cross Product)
点积的名称应该是来源于这个运算符号:$ a \cdot b $。中间的圆点符号是不可以省略的,点积的公式如下:

$$ a \cdot b = (a_x, a_y, a_z) \cdot (b_x, b_y, b_z) = a_xb_x + a_yb_y + a_zb_z $$

矢量的点积满足交换律,即 $a \cdot b = b \cdot a$。点积的一个几何意义就是投影(Projection)。点积的另一个公式如下:

$$ a \cdot b = |a||b|cos\theta $$

另一个重要的矢量运算就是叉积与点积不同,叉积的结果仍然是一个矢量,而非标量。叉积的符号: $ a \times b$,同样这个叉号也是不可以省略的。叉积的公式如下:

$$ a \times b = (a_x, a_y, a_z) \times (b_x, b_y, b_z) = (a_yb_z - a_zb_y, a_zb_x - a_xb_z, a_xb_y - a_yb_x ) $$

叉乘虽然不满足交换律但是满足反交换律,即:$a \times b = -(b \times a)$,而叉积满足公式:

$$ | a \times b |= |a||b|sin\theta $$

上述公式实际上和计算平行四边形面积公式是相同的。

你可能感兴趣的:(图形学,渲染,directx)