【3D数学】之坐标系

笛卡尔坐标系

3D 数学讲解如何在3D空间中精确度量位置、距离和角度,使用最广泛的度量体系是笛卡尔坐标系。

2D笛卡尔坐标系

2D笛卡尔坐标系主要由以下两点定义:

  • 每个2D笛卡尔坐标系都有一个特殊点,称作原点,它是坐标系的中心。
  • 每个2D笛卡尔坐标系都有两条过原点的直线向两个方向无限延伸,这两条直线称作“”。这两个轴互相垂直。

坐标系是一个精确定位点的框架。为了在笛卡尔坐标系中定位点,引入了笛卡尔坐标的概念。在2D平面中,两个数(x,y)就可以定义一个点。坐标的每个分量都表明了该点与原点之间的距离和方位,每个分量都是到相应轴的有符号距离。如下图所示,x分量表示该点到y轴的有符号距离,同样y分量表示该点到x轴的有符号距离。“有符号距离”指在某个方向上距离为正,而在相反方向为负。

 

2D3D

相对于2D空间,3D空间更难认识和识别。3D笛卡尔坐标系如下图所示。

 

3D空间用3个轴表示三维坐标系,前两个轴称为x轴和y轴,这和2D平面类似。第3个轴称为z轴,一般情况下3个轴互相垂直。在3D中任意一对坐标轴都定义了一个平面,并垂直于第3个坐标轴。比如,包含x,y轴的xy平面垂直于z轴。我们可以认为这3个平面是3个2D笛卡尔空间。

在3D中定位一个点需要3个数:x,y和z,分别代表该点到yz,xz和xy平面的有符号距离

 

3D坐标系存在两种完全不同的3D坐标系:左手坐标系右手坐标系。如果同属于左手坐标系或者右手坐标系,则可以通过旋转来重合,否则不可以。左手坐标系和右手坐标系并没有好坏之分,在不同的应用场景下常常有不同的选择。比如,在计算机图形学中场使用左手坐标系,而线性代数倾向于使用右手坐标系。

 

多坐标系

为什么使用多坐标系呢?只要选定一个坐标系,并以此为“世界”坐标系,则可以描述所有的点,这样不更简单吗?实时上,不同的情况使用不同的坐标系更加方便。

常用坐标系

常用坐标系主要介绍世界坐标系、物体坐标系、摄像机坐标系和关系坐标系。

  • 世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。从另一个角度来说,用世界坐标系可以描述其他坐标系的位置,而不能用更大的外部坐标系来描述世界坐标系。世界坐标系所建立的是我们“关心”的最大坐标系,因此世界坐标系不必是整个世界。比如要显示广联达大厦,那么广联达大厦就是整个世界。
  • 物体坐标系是和特定物体相关联的坐标系。当物体位移或改变方向时,和该物体相关的坐标系也随之移动和改变方向。比如告诉你“向前走一步”,则是向你的物体坐标系发指令。“前”、“后”、“左”、“右”这样的概念只有物体坐标系才有意义。有时物体坐标系也称作模型坐标系,模型顶点的坐标都是在模型坐标系中描述的。
  • 摄像机坐标系是和观察者密切相关的坐标系。摄像机坐标系被看作是一种特殊的物体坐标系,该物体坐标系定义摄像机的屏幕可视区域。在摄像机坐标系中,摄像机在原点,x轴向右,z轴向前,y轴向上。一个摄像机坐标系如下图所示。关于摄像机坐标系的轴向约定可能不同。许多图形学书中习惯用右手坐标系,z轴向外,即从屏幕指向读者

   

  • 为了简化世界坐标系到物体坐标系的转换,引入了惯性坐标系。惯性坐标系的原点和物体坐标系的原点重合,但惯性坐标系的轴平行于世界坐标系的轴。下图展示了2D中的情况。为什么引入惯性坐标系呢?因为从物体坐标系转换到惯性坐标系只需要旋转,从惯性坐标系转换到世界坐标系只需要平移。分开考虑两件事情比把它们糅合在一起要容易。

   

坐标系转换

坐标变换就是已知某一点的坐标,而在另一个坐标系中描述该点。比如吧位置从世界坐标系转换到物体坐标系,或是从物体坐标系转换到世界坐标系。

举个例子,现在考虑将机器人胸前的灯从物体坐标系转换到世界坐标系。从下图可假设灯在物体坐标系中的左边为(0, 100)。

 

首先旋转到惯性坐标系。如下图所示,将物体坐标系顺时针旋转,就得到惯性坐标系。在惯性坐标系中,灯位于y轴正方向,x轴负方向,大概位置为(-300,600)。

 

接下来,将惯性坐标系转换到世界坐标系。如下图所示将惯性坐标系的原点向下、向左平移至世界坐标系原点。在世界坐标系中灯在两个坐标轴的正方向上,大概位置为(1200, 1000)。

 

为了将轴从物体坐标系转换到世界坐标系,步骤为:

  1. 将物体坐标系顺时针旋转,转换到惯性坐标系。
  2. 将惯性坐标系向下、向左平移转换到世界坐标系。
  3. 这样,物体坐标系顺时针旋转,向下、向左平移就转换到世界坐标系。

从物体上某点的角度来看,将物体坐标系中的某点逆时针旋转,向上、向右平移就转换到世界坐标系。可以看出,点的旋转和平移方向正好和轴的方向相反。这就像开车一样,你向前行驶,世界就像在向后移动,你向右转,世界做着和你相反的事。

问题

3D笛卡尔坐标系共有多少种组合?分别列出这些组合并指出哪些是左手坐标系,哪些是右手坐标系。

原文地址:https://www.cnblogs.com/liustdelphi/p/2833536.html