Homogeneous CoordinatesProblem: Two parallel lines can intersect.
railroad.jpg (56.29 KB, 下載次數(shù): 11)
下載附件
2018-4-26 01:31 上傳
Railroad gets narrower and meets at horizon.
In Euclidean space (geometry), two parallel lines on the same plane cannot intersect, or cannot meet each other forever. It is a common sense that everyone is familiar with.
However, it is not true any more in projective space, for example, the train railroad on the side picture becomes narrower while it moves far away from eyes. Finally, the two parallel rails meet at the horizon, which is a point at infinity.
Euclidean space (or Cartesian space) describe our 2D/3D geometry so well, but they are not sufficient to handle the projective space (Actually, Euclidean geometry is a subset of projective geometry). The Cartesian coordinates of a 2D point can be expressed as (x, y).
What if this point goes far away to infinity? The point at infinity would be (∞,∞), and it becomes meaningless in Euclidean space. The parallel lines should meet at infinity in projective space, but cannot do in Euclidean space. Mathematicians have discoverd a way to solve this issue.
Solution: Homogeneous CoordinatesHomogeneous coordinates, introduced by August Ferdinand Möbius, make calculations of graphics and geometry possible in projective space. Homogeneous coordinates are a way of representing N-dimensional coordinates with N+1 numbers. (齊次坐標(biāo)系是用N+1組數(shù)據(jù)表示N維坐標(biāo)系的方式)
To make 2D Homogeneous coordinates, we simply add an additional variable, w, into existing coordinates. Therefore, a point in Cartesian coordinates, (X, Y) becomes (x, y, w) in Homogeneous coordinates. And X and Yin Cartesian are re-expressed with x, y and w in Homogeneous as;
X = x/w
Y = y/w
For instance, a point in Cartesian (1, 2) becomes (1, 2, 1) in Homogeneous. If a point, (1, 2), moves toward infinity, it becomes (∞,∞) in Cartesian coordinates. And it becomes (1, 2, 0) in Homogeneous coordinates, because of (1/0, 2/0) ≈ (∞,∞). Notice that we can express the point at infinity without using "∞".(w為0時,可表示無窮遠(yuǎn)處的坐標(biāo),齊次坐標(biāo)系使坐標(biāo)系有了距離的概念,達(dá)到透視效果)
Why is it called "homogeneous"?As mentioned before, in order to convert from Homogeneous coordinates (x, y, w) to Cartesian coordinates, we simply divide x and y by w;
homogeneous01.png (1.96 KB, 下載次數(shù): 12)
下載附件
2018-4-26 01:31 上傳
Converting Homogeneous to Cartesian, we can find an important fact. Let's see the following example;
homogeneous02.png (6.9 KB, 下載次數(shù): 22)
下載附件
2018-4-26 01:31 上傳
As you can see, the points (1, 2, 3), (2, 4, 6) and (4, 8, 12) correspond to the same Euclidean point (1/3, 2/3). And any scalar product(數(shù)量積), (1a, 2a, 3a) is the same point as (1/3, 2/3) in Euclidean space. Therefore, these points are"homogeneous" because they represent the same point in Euclidean space (or Cartesian space). In other words, Homogeneous coordinates are scale invariant(縮放不變性).
Proof: Two parallel lines can intersect.Consider the following linear system in Euclidean space;
homogeneous03.png (1.13 KB, 下載次數(shù): 14)
下載附件
2018-4-26 01:31 上傳
And we know that there is no solution for above equations because of C ≠ D.
If C = D, then two lines are identical (overlapped).
Let's rewrite the equations for projective space by replacing x and y to x/w, y/w respectively.
homogeneous04.png (2.99 KB, 下載次數(shù): 17)
下載附件
2018-4-26 01:31 上傳
Now, we have a solution, (x, y, 0) since (C - D)w = 0, ∴ w = 0. Therefore, two parallel lines meet at (x, y, 0), which is the point at infinity. (當(dāng)w為0時,C、D取任何值都能相交)
Homogeneous coordinates are very useful and fundamental concept in computer graphics, such as projecting a 3D scene onto a 2D plane.(對于在2D平面做3D場景非常有用)