What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
cg:books:3dprimer_2:chpt_1 [2021/06/15 10:35] – [左手 vs 右手] codingharecg:books:3dprimer_2:chpt_1 [2021/07/03 06:25] (当前版本) – [本书习俗] codinghare
行 37: 行 37:
 在 2D 空间中,任意空间是等同的。也就是说,无论x,y 如何定义正负,我们都可以将其标准化。这是因为我们可以通过旋转空间来得到标准的正方向(就好像旋转一张地图一样)。 在 2D 空间中,任意空间是等同的。也就是说,无论x,y 如何定义正负,我们都可以将其标准化。这是因为我们可以通过旋转空间来得到标准的正方向(就好像旋转一张地图一样)。
 \\ \\  \\ \\ 
-然而在 3D 空间中却不是这样的。**不是所有的 3D 空间都是等同的**。一个典型例子:如果 z 轴的方向是朝向 xy 平面,那么我们是无法通过旋转来得到以下结果的:+然而在 3D 空间中却不是这样的。**不是所有的 3D 空间都是等同的**。一个典型例子:如果 z 轴的方向是朝向 xy 平面内部,那么我们是无法通过旋转来得到以下结果的:
   * z 轴指向 xy 平面外部   * z 轴指向 xy 平面外部
   * 新的空间等同于原有空间   * 新的空间等同于原有空间
 +因此,z 轴指向xy平面内与指向xy平面外,实际上是两个不同的空间;我们将这两种空间区分为**左手空间**(//Left-hand coordinate space//)和**右手空间**(//Right-hand coordinate space//)。可以得出结论,如果两个空间有相同的**惯用手**(//Handedness//),那么这两个空间是等同的,可以通过旋转来对齐的;反之则不可能。
 +\\ \\
 +左手 / 右手 空间的判定规则如下图,大拇指方向位 +x, 食指方向为 +y, 中指方向位 +z:\\ \\ 
 +{{ :cg:books:3dprimer_2:left_right_hand_coord.jpg |}}
 +==Positive Rotation==
 +在左手空间与右手空间中,正方向旋转的定义也是是不同的。假设旋转围绕着一条轴(//Axis of Rotation//),那么如果用大拇指代表//旋转轴//的正方向,那么在不同的 3D 空间中有着不同的约定俗成的正方向,也就是所谓的**左手/右手定理**(//Left-hand / Right-hand Rule//):\\ \\ 
 +{{ :cg:books:3dprimer_2:left_right_hand_rule.png?600 |}}
 +该定理规定所有除开大拇指的**手指指向的方向**为**旋转的正方向**。
 +<WRAP center round tip 100%>
 +旋转轴**自身**可以为空间内任意的一条轴(自身可以随意旋转),并不一定是 //cardinal axis// (像 x、y、z一样的轴)
 +</WRAP>
 +
 +==左手 / 右手空间的相互转化==
 +左手空间与右手空间可以进行任意的转化。最简单的方式是直接将某一个坐标轴的正反对调即可。Tips:
 +  * 同时翻转两条轴不会改变惯用手
 +  * 工作前先检查坐标空间的惯用手。如果表现不对,尝试翻转 Z 轴的方向。
 +==本书习俗==
 +  * 使用左手空间
 +  * 书中指的 north / east 一般指以地面为二维平面作为衡量标准。
 +====相关的基础数学====
 +  * 和/积的符号(sum / Product notation)
 +  * 区间符号
 +  * angle、Degrees、Radians
 +  * 三角函数
 +====术语====
 +  * Handedness: 惯用手
 +  * Revolution: 用于描述一整圈(360 dregee / 2pi radian)
 +  * isosceles / right triangle: 等腰 / 直角三角形