齐次坐标

在数学里，齐次坐标（homogeneous coordinates），或投影坐标（projective coordinates）是指一个用于投影几何里的坐标系统，如同用于欧氏几何里的笛卡儿坐标一般。该词由奥古斯特·费迪南德·莫比乌斯于1827年在其著作《Der barycentrische Calcul》一书内引入。齐次坐标可让包括无穷远点的点坐标以有限坐标表示。使用齐次坐标的公式通常会比用笛卡儿坐标表示更为简单，且更为对称。齐次坐标有著广泛的应用，包括电脑图形及3D电脑视觉。使用齐次坐标可让电脑进行仿射变换，其投影变换通常能简单地使用矩阵来表示。
如一个点的齐次坐标乘上一个非零纯量，则所得之坐标会表示同一个点。因为齐次坐标也用来表示无穷远点，为此一扩展而需用来标示坐标之数值比投影空间之维度多一。例如，在齐次坐标里，需要两个值来表示在投影线上的一点，需要三个值来表示投影平面上的一点。
简介.
实投影平面可以看作是一个具有额外点的欧氏平面，这些点称之为无穷远点，并被认为是位于一条新的线上（该线称之为无穷远线）。每一个无穷远点对应至一个方向（由一条线之斜率给出），可非正式地定义为一个点自原点朝该方向移动之极限。在欧氏平面里的平行线可看成会在对应其共同方向之无穷远点上相交。给定欧氏平面上的一点 formula_1，对任意非零实数formula_2，三元组 formula_3 即称之为该点的齐次坐标。依据定义，将齐次坐标内的数值乘上同一个非零实数，可得到同一点的另一组齐次坐标。例如，笛卡儿坐标上的点formula_4在齐次坐标中即可标示成 formula_5 或 formula_6。原来的笛卡儿坐标可透过将前两个数值除以第三个数值取回。因此，与笛卡儿坐标不同，一个点可以有无限多个齐次坐标表示法。
一条通过原点 formula_7 的线之方程可写作 formula_8，其中 formula_9 及 formula_10 不能同时为 0。以参数表示，则能写成 formula_11，formula_12。令 formula_13，则线上的点之笛卡儿坐标可写作 formula_14。在齐次坐标下，则写成 formula_15。当formula_16趋向无限大，亦即点远离原点时，formula_2会趋近于 0，而该点的齐次坐标则会变成 formula_18。因此，可定义 formula_18 为对应 formula_8 这条线之方向的无穷远点之齐次坐标。因为欧氏平面上的每条线都会与透过原点的某一条线平行，且因为平行线会有相同的无穷远点，欧氏平面每条线上的无穷远点都有其齐次坐标。
概括来说：
注意，三元组 formula_28 不表示任何点。原点表示为 formula_29。
符号.
有些作者会使用不同的符号表示齐次坐标，以与笛卡儿坐标相区别，如以冒号代替逗号，以 formula_30 代替 formula_31，以强调该坐标有著比例的性质。亦有以方括号代替括弧，以 formula_32 来强调有多个坐标表示同一个点。有些作者则会同时使用冒号与方括号，如 formula_33。
其他维度.
上一节的叙述可类比适用于平面以外的投影空间。因此，投影线上的点可表示成二元组 formula_1，其中 formula_35 与 formula_36 不全为 0。在此情况下，无穷远点为 formula_37。同样地，在投影 n 维空间内的点可表示成 formula_38 元组。
其他投影空间.
齐次坐标的数值若为实数，则会得出一般实投影空间内的一个点。不过，该数值可以为任意的体，特别是在复投影空间里，使用的数值为复数。例如，复投影线在齐次坐标中以两个数值表示之，称之为黎曼球面。其他的体，包括有限体，也都可以被使用。
用于投影空间的齐次坐标亦可使用除环来建立。不过，在此情况下，必须小心考虑其乘法可能是不可交换的。
另一种定义.
另一种实投影平面的定义可用等价类来给出。对formula_39内的非零元素，定义 formula_40，表示存在一非零数 formula_41，使得 formula_42。其中，~ 为等价关系，而投影平面则可被定义为 formula_43 的等价类。若 formula_31 为等价类 formula_45内的一元素，则可取之作为 formula_45 的齐次坐标。
此空间内的线可定义成由方程 formula_47 的解所组成之集合，其中formula_48、formula_49及 formula_50不全为零。方程 formula_47 的非平凡解仅会由等价类所组成，所以该方程可定义投影平面上的线。映射 formula_52 为一包含映射，可定义为formula_39内的等价类至投影平面的一个函式，formula_39内的其他元素则为 formula_55 的点。因此，该方程可定义为投影平面上的线，其他元素组成之集合则可称之为无穷远线。
等价类 formula_45 为通过原点的线，但不包括原点。因为原点在前面的讨论中并没有扮演著关键的角色，所以可以将原点加回，而不改变投影平面之性质。这会产生一个不同的定义，即投影平面可被定义为 formula_39 内通过原点的线所组成的集合，且线上的非零元素之坐标 formula_31 可取之作为该线的齐次坐标。这些线现在被解释为投影平面上的点。
在其他维度里，也可以类推适用上述的推论。因此，n 维投影空间可被定义为 formula_59 内通过原点的线所组成之集合。
齐次性.
齐次坐标的值不是由点来唯一决定，所以定义在该坐标上的函式 formula_60 并不会决定定义在笛卡儿坐标上的点之函式。不过，若函式是齐次的，则定义在齐次坐标上的方程 formula_61（可能用来表示一条曲线）可决定义于点上的方程。
具体来说，假设存在 formula_62，使得
与坐标 formula_31 表示同一点的另一组坐标可写作 formula_65，其中 formula_41为一非零值。则
一 formula_62次多项式 formula_69 可透过将 formula_35 替代成 x/z、formula_36替代成 y/z 及乘上 formula_72 来变换成一齐次多项式
产生的函式 formula_74为一多项式，将其定义域扩展为三元。此一过程可透过设定 formula_75 而倒转，即
方程 formula_61 因此可被视为 formula_78 的齐次形式，且当限制在欧氏平面时，决定出同一条曲线。例如，线方程 formula_79 的齐次形式为 formula_47。
线坐标与对偶性.
投影平面上的线方程可给定为 formula_81，其中formula_82、formula_16及formula_84为常数。每个三元组 formula_85 可决定一条线，将三个值同乘上一非零纯量不会改变这条线，且formula_82、formula_16及formula_84至少有一个值为非零。因此，三元组 formula_85 可取之作为投影平面上一条线的齐次坐标，为相对于点坐标的线坐标。若将 formula_81 内的字母formula_82、formula_16及formula_84作为变数，formula_35、formula_36及formula_96作为常数，则该方程在由所有平面上之线组成的空间内的线之集合的方程。几何上来说，通过点formula_31的线之集合可解释为线坐标内该点之方程。以同样的方式，在三维空间内之平面亦可给出四个数值的齐次坐标之集合，更高维度空间亦然。
同一关系式 formula_81 可以被视为线的方式或点的方程。通常，点与线的齐次坐标在代数上或逻辑上并没有什么不同。因此，以点为基本元素的平面几何与以线为基本元素的平面几何，除了在解释上外，其他都一样。这导致了投影几何内的对偶性，该原则描述，将投影几何内一定理的点与线之角色互换，其结果也会是一个定理。类似 地，在三维投影空间内的点亦对偶于在三维投影空间内的平面，更高维度空间亦然。
普吕克坐标.
在三维投影空间内为线配置坐标会较为复杂，因为似乎需要总计8个坐标值，两个处于该线上的点之坐标，或两个相交为该线的平面。尤利乌斯·普吕克提出了一个有用的方法，由两个点之齐次坐标 formula_99 及 formula_100 的行列式 formula_101，建立其6个坐标值。普吕克嵌入为普吕克坐标的广义化，为在formula_9维投影空间内建立任一 formula_10维元素之齐次坐标。
贝祖定理的应用.
贝祖定理预测两条曲线相交点之数量等于该多项式次数之相乘（假设一代数封闭体，且具某一计算相交次数的规则）。贝祖定理预测两条直线会相交于一点，而这通常是正确的，但当两条直线平行时，相交的点会在无穷远处。齐次坐标被用来定位此一情形之相交点。同样地，贝祖定理预测一条直线会与一条圆锥曲线相交于两个点，但在某些情形下，有其中一个点或两个点会在无穷远处，而必须使用齐次坐标定位这些点。例如， formula_104 及 formula_105 在有限（仿射）平面上只有一个点。为了找出另一个相交点，可将方程变换成齐次形式formula_106 及 formula_105。这会导出 formula_108，且假设formula_35 、formula_36及formula_96不全为 0，其解答为 formula_112 及 formula_113。第一个解答为笛卡儿坐标内的点formula_7，有限的相交点。第二个解答为齐次坐标内的 formula_115，对应于 y 轴的方向。对方程 formula_116 及 formula_105 则不存在有限的相交点。将此方程变换成齐次形式将给出 formula_118 及 formula_105。可导出方程 formula_120，其中在 formula_55 有两个根。由原方程 formula_105 可知 formula_123，因为齐次坐标内至少有一值必须为非零。因此， formula_115 会是在符合此定理下，具重数 2 的相交点。
圆点.
圆方程在实（或复）投影平面上之齐次形式为 formula_125。该圆与直线在无穷远处之相交点可透过设定 formula_55 而取得。这会导出方程 formula_127，该方程有两个复数解，分别对应复投影平面内齐次坐标为 formula_128 及 formula_129 的两点。这两点称之为虚圆点（circular points at infinity），且可被视为所有圆的共同相交点。圆点亦可扩展至更高次曲线，称之为圆代数曲线。
变更坐标系.
如同可任意地选择笛卡儿坐标内的轴一般，亦可任一选择单一系统内所有可能的齐次坐标系。因此，能知道这些系统间是如何关连的将会很有用。
令 formula_31为一点在投影平面上的齐次坐标，且对一固定矩阵
其中 formula_132，透过下列方式定义一组新的坐标 formula_21
将 formula_31 乘上一纯量会导致 formula_21 乘上同一纯量，且因为 formula_137 的行列式不为零，除非formula_35、formula_36及formula_96全为零，formula_22、formula_23及 formula_2不会全为 0。因此，formula_21 是该点在投影平面上一组新的齐次坐标。若 formula_96固定为 1，则
会正比于该点至直线 
的有号距离（「有号距离」为距离乘上正负号 1 或 -1，该正负号取决为点在线在哪一方）。注意，当 formula_148 时，formula_22的值只是个常数，这对formula_23及formula_2也一样。
在齐次坐标的三条线
或在 formula_21 系统的
会形成该系统的一个三角形，称之为「参考坐标三角形」。
重心坐标.
莫比乌斯原本建立齐次坐标时，会指定一点位于置作为将重量放在一固定三角形之三个顶点的三个点组成之系统的重心。在三角形内的点会表示成具正的重量，而在三角形外的点则表示成负的重量。将该系统内的重量乘上一纯量不会影响其重心，因此为齐次坐标系统的一个特例。
三线坐标.
令 formula_155、formula_10、formula_9为平面上的三条线，并定义点formula_45的坐标formula_22、formula_23及formula_2为formula_45至这三条线间的有号距离。这被称之为formula_45相应于三条线两两相交之顶点组成的三角形之三线坐标。严格来说，该坐标并不是齐次的，因为formula_22、formula_23及formula_2的值是绝对的，而不只有等比例而已。不过，在这些值间有著线性关系，所以可透过允许 formula_21 的倍数表示同一点来让该坐标变得齐次。更一般性地说，formula_22、formula_23及formula_2可定义为常数 formula_45、formula_172及 formula_173乘上至 formula_155、formula_10及formula_9的距离，产生一个具相同参考坐标三角形的不同齐次坐标系。实际上，若没有线是无穷远线，则该坐标系为点在平面上之齐次坐标系最一般的类型。
电脑图形内之应用.
齐次坐标在电脑图形内无处不在，因为该坐标允许平移、旋转、缩放及透视投影等可表示为矩阵与向量相乘的一般向量运算。依据链式法则，任何此类运算的序列均可相乘为单一个矩阵，从而实现简单且有效之处理。与此相反，若使用笛卡儿坐标，平移及透视投影不能表示成矩阵相乘，虽然其他的运算可以。现在的 OpenGL 及 Direct3D 图形卡均利用齐次坐标的优点，以具4个暂存器的向量处理器来实作顶点著色引擎，以完成顶点在电脑图学中的渲染。
例如，在透视投影里，空间中的位置与该位置至称为「投影中心」的固定点间的线相关联。该点可透过找出平面与该线之相交点被映射至该平面上。这是三维物件如何呈现于眼上的一精确表示。在最简单的情况下，投影中心会是原点，而点会映射至平面 上，如同在笛卡儿坐标上时一样。对空间内的一点 formula_31，其线与平面相交的点为 。删掉现在显得多余的 z 坐标，即变成 formula_31。在齐次坐标里，点 formula_31 表示为 formula_180，且该点映射至平面上的点表示为 formula_181，因此投影可以以矩阵形成表示为
表示其他几何变转的矩阵可与此一矩阵透过矩阵乘法结合。其结果是，任何空间的透视投影都能被表示为单一个矩阵。