总结
在计算机视觉和图形学中,将世界坐标扩充成四维,以及图像坐标扩充成三维,是为了便于运用齐次坐标(homogeneous coordinates)进行坐标变换。这样的做法简化了投影变换的数学表示和计算,特别是在三维场景和二维图像间的转换中。
一、为什么世界坐标要扩充成四维, 图像坐标要扩充成三维
1. 世界坐标扩充成四维
世界坐标系统描述三维空间中的点。在使用三维坐标 (X, Y, Z) 进行表示时,转换操作(如平移和旋转)通常需要单独处理。为了统一这些操作,可以将三维坐标扩充到四维齐次坐标 (X, Y, Z, W)。在齐次坐标中:
平移、旋转、缩放 以及其他线性变换可以通过一个 4x4 矩阵来表示和处理。
当 W=1 时,(X, Y, Z, 1) 直接对应于 (X, Y, Z)。
使用四维坐标,可以通过矩阵乘法来组合多个变换,这在计算机图形和机器视觉中非常有用。
2. 图像坐标扩充成三维
图像坐标系通常是二维的,表示为 (x, y)。为了将这些坐标与三维世界坐标系中的点对应起来,并方便地进行透视投影变换,可以扩充图像坐标到三维齐次坐标 (x, y, w)。
在图像处理和计算机视觉中,使用齐次坐标可以简化相机的投影模型。例如,透视投影可以通过一个 3x4 投影矩阵与四维世界坐标的点相乘来实现。
三维齐次图像坐标允许通过简单的矩阵乘法实现从世界坐标到图像坐标的转换。w 分量在进行投影变换时起到了归一化的作用,使得变换后可以通过除以 w 来回到常规的二维坐标形式。
总的来说,使用齐次坐标系统是为了在处理几何变换时增加数学上的便利性和效率,特别是在涉及多步骤变换和不同坐标系之间的转换时。这种方法广泛应用于计算机图形、图像处理、计算机视觉以及机器人技术中。
二、几何变换的矩阵表示
在三维计算机图形中,使用 4x4 矩阵进行平移、旋转和缩放等变换是常见的方法,这些矩阵可以单独使用,也可以组合来表示复杂的变换序列。
1. 旋转变换矩阵(以 Z 轴为例)
旋转矩阵可以围绕任意轴进行旋转,但最常见的是围绕主轴(X轴、Y轴、Z轴)的旋转。例如,围绕 Z 轴旋转 𝜃度的旋转矩阵是:
cos(θ)−sin(θ)00sin(θ)cos(θ)0000100001\begin{matrix} \cos(\theta) & -\sin(\theta) & 0 & 0 \\ \sin(\theta) & \cos(\theta) & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{matrix}cos(θ)sin(θ)00−sin(θ)cos(θ)0000100001
2. 缩放变换矩阵
如果你想改变一个物体的大小,缩放矩阵允许你在每个方向上独立地调整尺寸。缩放矩阵如下所示:
sx0000sy0000sz00001\begin{matrix} s_x & 0 & 0 & 0 \\ 0 & s_y & 0 & 0 \\ 0 & 0 & s_z & 0 \\ 0 & 0 & 0 & 1 \end{matrix}