图形学小抄-坐标系

155 阅读2分钟

构建和显示一个场景的过程中,会使用几个不同的笛卡尔参照系。

标准三维笛卡尔参照系

右手系,手指从正向x轴向y轴环绕(通过90°),右手拇指指向z轴正向。除非特殊指明,笛卡尔参照系都右手。

image.png

建模坐标系(modeling coordinate)

也称作局部坐标系(local corrdinate),或主坐标系(master corrdinate),在各自的参照系中构造每一对象的形状。原点(0,0,0)通常位于模型的几何中心、底部或其他逻辑位置。

世界坐标系(world coordinate)

一旦指定了单个物体的形状,可以将对象放到称为世界坐标系的场景参照系中的适当位置。

观察坐标系(viewing cooridinate)

观察流水:将场景的世界坐标描述经过各种处理变换到一个或多个输出设备参照。
观察坐标系也称摄像机空间,以摄像机为原点,Z轴是摄像机视线方向,X轴摄像机的右侧方向,Y轴摄像机的上方方向。

规范化坐标系(normalized coordinate)

用于将 观察坐标系  中的 3D 坐标映射到 屏幕空间(Screen Space)  之前的标准坐标系。
使用该表示可使图形软件包与任何特定输出设备的坐标无关。 将不同设备坐标系的数据转换到统一范围。坐标范围从-1到1或从0到1,依赖于不同的系统。 左手系 image.png

设备坐标(device coordinate)

显示设备的坐标系。

屏幕坐标系(screen coordinate)

image.png 左手系 z值越大离屏幕越远

三位对象从建模坐标到设备坐标

建模坐标-> 世界坐标-> 观察和投影坐标 -> 左手、规范化坐标系-> 设备坐标系

曲线坐标系

任何非笛卡尔参照系则看成是曲线坐标系。

image.png

正交曲线坐标系(orthogonal curvilinear-coordinate system)

如果坐标曲面以直角交叉,就有正交曲线坐标系。即在任意一点处,各坐标轴的切线方向保持彼此正交。 如极坐标系,柱坐标系,球坐标系,椭球坐标系。

image.png 柱坐标系到笛卡尔参照系的变换:x=ρcosθ, y=ρsinθ, z=z

image.png 球坐标系到笛卡尔参照系的变换:x=rcosθsinφ, y=rsinθ, z=rcosφ

非正交曲面坐标系

用于特定空间,任意一点处的切线方向不一定相交。