# Why affine transformations?

This topic is 3710 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hello, It never occurred to me until now, but why are the transformations used in 3d graphics programming affine? It seems really confusing, considering affine spaces are basically vector spaces without a zero vector, but when I rotate a mesh or translate it, I need to know where the origin is? Thanks a lot[smile]! Chad

##### Share on other sites
Quote:
 Original post by Chad SeibertHello,It never occurred to me until now, but why are the transformations used in 3d graphics programming affine?

First of all, affine transformations are quite general -- more so than linear transformations. To quote mathworld, "Geometric contraction, expansion, dilation, reflection, rotation, shear, similarity transformations, spiral similarities, and translation are all affine transformations."

Secondly, it's not true that all transformations used in graphics are affine. Perspective matrices are also used. In other words, ALL kinds of matrix transformations are used in graphics.

Quote:
 It seems really confusing, considering affine spaces are basically vector spaces without a zero vector, but when I rotate a mesh or translate it, I need to know where the origin is?

Affine space is not the same as affine transformation. Also affine spaces do have a zero vector...in fact one of the three defining properties of an affine space is that adding the zero vector to another vector doesn't change it. An affine space is basically just a regular space where you can add vectors to points and get a unique solution by adding two vectors together. Space-time is non affine but it would be ridiculous to try to model the effects of something like general relativity in a computer game, because at human scales things behave as if they were affine spaces.

• 10
• 9
• 48
• 12
• 10
• ### Forum Statistics

• Total Topics
631383
• Total Posts
2999689
×