I am a little bit confused by the circles here.. Let's say p = (x, y), then (x, y) / 1 => (x, y), and (x, y) / 0 => p hat, am I understanding it correctly?
tarangs
The circles are possibly just a representation of the 'infinity' values, ie, as the denominator decreases, the x,y values tend to represent directions rather than any actual points
Max
Yeah - as you get closer to the edge of the circle, you become exponentially farther from the origin. If you're on the circle you're at infinity. This is a common diagramming technique for hyperbolic geometry as well.
FeiFeiFei
Yeah. So what are we going to do in practice if we have to avoid divide by zero? Do we "approach" the expected vector by using a not zero but a very small c?
Max
The dividing by zero part is only relevant when you need to actually divide out the homogeneous coordinate (e.g. doing the perspective divide), so it doesn't actually come up much. If you send vertices with c=0 through the pipeline they will just get clipped, as they are infinitely far away.
The main use of c=0 vectors is the previous slide, i.e. using them to represent directions that can get rotated by some series of transforms but not translated. In that case the c=0 component would just be dropped after the transforms.
I am a little bit confused by the circles here.. Let's say p = (x, y), then (x, y) / 1 => (x, y), and (x, y) / 0 => p hat, am I understanding it correctly?
The circles are possibly just a representation of the 'infinity' values, ie, as the denominator decreases, the x,y values tend to represent directions rather than any actual points
Yeah - as you get closer to the edge of the circle, you become exponentially farther from the origin. If you're on the circle you're at infinity. This is a common diagramming technique for hyperbolic geometry as well.
Yeah. So what are we going to do in practice if we have to avoid divide by zero? Do we "approach" the expected vector by using a not zero but a very small c?
The dividing by zero part is only relevant when you need to actually divide out the homogeneous coordinate (e.g. doing the perspective divide), so it doesn't actually come up much. If you send vertices with c=0 through the pipeline they will just get clipped, as they are infinitely far away.
The main use of c=0 vectors is the previous slide, i.e. using them to represent directions that can get rotated by some series of transforms but not translated. In that case the c=0 component would just be dropped after the transforms.