# How to understand affine space and affine transformation

As far as I know, the affine space is a space without origin point. Some others define affine space as $$A=\left\{\sum_{i=1}^N \alpha_i \boldsymbol{v_i \mid \sum_{i=1}^N} \alpha_i=1\right\}$$ How do we relate these two explanations? What's more, are these two concepts the same with computer graphics?

Let $v_1, ... , v_n$ be linearly independent vectors in a vector space $V$. Your set

$$A = \{ c_1v_1 + \cdots + c_nv_n : c_1 + \cdots + c_n = 1 \}$$

has the structure of an affine space of dimension $n-1$. Indeed, $A$ is a linear translation of an $(n-1)$ dimensional subspace of $V$. Let me make this precise below.

For example, if $V = \mathbb{R}^2, v_1 = (1,0),$ and $v_2 = (0,1)$, then $A$ is the line $y = 1 - x$. Being a line, it has the structure of an affine space.

Here are the formal definitions: an affine space is a set $A$, together with a vector space $\vec{A}$, and a group action

$$A \times \vec{A} \rightarrow A, (a, v) \mapsto a + v$$

where $\vec{A}$ is regarded as an abelian group with respect to addition. The action is required to be free and transitive. This means for any $a, b \in A$, there exists a unique $v \in \vec{A}$ such that $a + v = b$.

The dimension of an affine space is defined to be the dimension of the vector space $\vec{A}$. It follows from the definition that if $(A, \vec{A})$ is an affine space, and $a_0$ is a fixed point of $A$, then the function

$$\vec{A} \rightarrow A$$ $$v \mapsto a_0 + v$$

is a bijection. Using this bijection, you can give the set $A$ the structure of a vector space whose zero vector is $a_0$. But $a_0$ can be any point of $A$ whatsoever, so any point of $A$ can be the origin. This is how you described affine spaces: vector spaces with no origin.

Now, let's check that

$$A = \{ c_1v_1 + \cdots + c_nv_n : c_1 + \cdots + c_n = 1 \}$$

has the structure of an affine space. Let $W$ be the following subspace of $V$:

$$W = \{ c_1v_1 + \cdots + c_nv_n : c_1 + \cdots + c_n = 0 \}$$

Then $W$ is a vector space, and we define a function $A \times W \rightarrow W$ by

$$(a, v) \mapsto a + v$$

where we are using the usual addition in $V$. Check that this is a well defined group action which is free and transitive on $A$. Then $(A,W)$ together with this action is an affine space.

So every such $A$ is an affine space. On the other hand, it is not immediately obvious that every affine space should look like this. It is true, however.

In order to make this precise, we need a notion of "isomorphic" affine spaces. If $(A, \vec{A})$ and $(B, \vec{B})$ are affine spaces, what does it mean to say that these affine spaces are the same? First, the vector spaces $\vec{A}$ and $\vec{B}$ should be the same, which is to say there should exist a vector space isomorphism $\phi: \vec{A} \rightarrow \vec{B}$. There should be also bijection $p: A \rightarrow B$ which is compatible with the action of the vector spaces:

$$p(a + v) = p(a) + \phi(v)$$

for all $a \in A$ and $v \in \vec{A}$.

Now that we have formulated the notion of isomorphic vector spaces, we can state the main result: the isomorphism class of an affine space $(A, \vec{A})$ only depends on its dimension, which is to say the dimension of $\vec{A}$. To see this, note that $\vec{A}$ itself is an affine space with corresponding vector space $\vec{A}$, the group action being addition. Then any choice of origin $a_0 \in A$ gives an isomorphism of affine spaces $\vec{A} \rightarrow A, v \mapsto a_0 + v$, the corresponding vector space isomorphism being the identity map.

Let's try to give a more intuitive explanation. As explained in the other answer, your set $$A$$ can also be written:

$$A = \{ c_1v_1 + \cdots + c_nv_n : c_1 + \cdots + c_n = 1 \}$$

If our vector space is $$\mathbb{R}^2,$$ with $$v_1 = (1,0),$$ and $$v_2 = (0,1)$$, then $$A$$ is the line connecting $$v_1$$ and $$v_2$$, which doesn't pass through the origin. What can you do with such a line?

In algebra, we are generally concerned with operations that are closed, meaning that performing them doesn't take you out of the underlying set.

If you try to add two points on our line, you will get a point that's not on the line. So addition is a no-go (it's simply not defined). But you can take linear combinations whose weights sum to one -- that's how it was designed, after all. This includes things like "find the point 75% of the way from $$v_1$$ to $$v_2$$" (i.e., where $$c_1$$=0.75 and $$c_2$$=0.25). That doesn't depend on a special point called the "origin."

So this line captures some interesting things you might want to do with a line, without letting you do others. At the same time, you could always choose to pick a point on your line and call it the origin, in which case you're back to having a vector space.

How does this relate to computer graphics? In a linear transformation, the origin cannot move. In an affine transformation, it can. However, to be an affine transformation, the affine properties defined previously cannot be affected. For example, the point 75% of the way from $$v_1$$ to $$v_2$$ must end up still being 75% of the way. It turns out that the set of affine transformations is exactly the set of linear transformations plus a translation.

In other words, while your points are generally represented in a way that specifies an origin (e.g., using coordinates, where the origin is (0, 0)) -- and thus a vector space -- affine transformations don't have to treat the origin as special.