Homogeneous Coordinate Understanding

1. Homogeneous

In fact, there are many concepts of homogeneous. If we just want to talk about the meaning of "homogeneous", it seems to be more abstract and difficult to understand, so I think it may be better to give a specific homogeneous thing to explain.

The homogeneous coordinates that I want to explain below are concepts that are often used in the two fields of computer vision and graphics that I am familiar with. At the same time, coordinates are also things that ordinary people can understand.

A point in two-dimensional space is represented by a two-tuple (x, y). We can add an extra coordinate to get the triple (x, y, 1), and at the same time we declare that this is the same point. This seems completely harmless, since we can switch back and forth between the two representations simply by adding or removing the last coordinate value. Now, there is a very important question: why does the last coordinate need to be 1? After all, the other two numbers have no such restriction. For example (x, y, 2). Here, we want to give another definition, that is, when k is non-zero, all (kx, ky,k)triples in the form represent the same point, such as (x, y, 1)and (2x, 2y,2)represent the same point. From this, we can lead to the definition of homogeneous coordinates, that is, given a two-dimensional point (x, y), then (kx, ky,k)all triples in the form are equivalent, and they are the homogeneous coordinates of this point . For each homogeneous coordinate, we just divide it by the third number in the triple to get the original 2D point coordinate (this is an example of the YoY shrinkage mentioned in @zhuwenxiang's answer) . However, I think that literally, the term homogeneous coordinates is not so vivid, but if we look at the English word homogeneous corresponding to homogeneous, we will find that this word is sometimes translated as "homogeneous", which means a certain A type of thing has some of the same properties, so it's quite vivid if you look at it this way.

Note again that k is non-zero here, so what if k=0? Since divisors cannot be made 0, there does not appear to be any 2D point that sums(x,y,0)corresponding. In fact, (x,y,0)it is a point at infinity. Previously, we (x, y)could not describe the infinity point on the two-dimensional plane, but when we introduce homogeneous coordinates, it can be (x,y,0)used to represent the infinity point. This is one benefit of introducing homogeneous coordinates. Of course, there are many benefits to using homogeneous coordinates. In fact, there are not many benefits. Why do we have to use an extra number to represent a two-dimensional point, please say yes.

The above content about homogeneous coordinates has been translated and modified from the two paragraphs beginning on page 2, line 9 of Multiview Geometry in Computer Vision (2nd Edition).

2. Linear

Let's talk about "linear". Similar to "homogeneous", there are many concepts with "linear". I will also give a specific linear explanation below to prevent it from being too abstract.

"Linear transformation" (Linear Transformation) is also often used in computer vision and graphics. Usually, we will use a matrix to represent a linear transformation, and for linear transformations in two-dimensional space, we often use a 3x3 matrix to represent it. When a linear transformation matrix is ​​given, we can get the transformed homogeneous coordinates by multiplying it by a homogeneous coordinate.

So why do we call this transformation a linear transformation rather than a bending transformation? Leaving aside the mathematical definition of linearity here, linear transformation has an important property, which expresses this concept very vividly, that is, preserving collinearity (I can’t remember if it’s called this name, I hope to correct it). Specifically, the three points that were on the same straight line before the linear transformation must still be on the same straight line after the linear transformation. In other words, if you draw a straight line, it must still be a straight line after the linear transformation.

Therefore, linear transformation likes straight lines the most. Things other than straight lines, such as angles, may be completely different after linear transformation. In addition, there are also length, area, parallelism, etc. Linear transformation does not like it, no Make sure they stay the same after the transformation.

The above, I hope to help you understand these two concepts.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325064506&siteId=291194637