Its amazing how we can make an affine function linear by adding one extra dimension to the matrix and keep track of all transformations together.
zhenliz
Feel amazing too... Another comment is that this shares much similarity with the geometry part in computer vision about pinhole camera model.
frog
This seems nice, but it also feels like we're also encoding extra information we might not need? I suppose the mathematical representation here is nice enough to warrant carrying around some extra information in the form of an extra coordinate and bigger matrices?
Max
@frog it really is worth it, if only for the reason that you can combine any series of transforms (now including translations) into a single matrix. When you have to apply those transforms to a huge number of vectors (e.g. vertices in a mesh), combining them can save a lot of work. Also, since GPUs and CPU SIMD units can work on 4 (or more) floats at a time, going from 3 to 4 components can be nearly free.
Its amazing how we can make an affine function linear by adding one extra dimension to the matrix and keep track of all transformations together.
Feel amazing too... Another comment is that this shares much similarity with the geometry part in computer vision about pinhole camera model.
This seems nice, but it also feels like we're also encoding extra information we might not need? I suppose the mathematical representation here is nice enough to warrant carrying around some extra information in the form of an extra coordinate and bigger matrices?
@frog it really is worth it, if only for the reason that you can combine any series of transforms (now including translations) into a single matrix. When you have to apply those transforms to a huge number of vectors (e.g. vertices in a mesh), combining them can save a lot of work. Also, since GPUs and CPU SIMD units can work on 4 (or more) floats at a time, going from 3 to 4 components can be nearly free.