Are linear transformations precisely those that keep lines straight and the origin fixed? It's easy to show that given a linear transformation $T:\mathbb{R}^n \rightarrow \mathbb{R}^m$ lines are mapped to lines and the origin stays fixed (as long as its rank $=n$).
Yet is the converse true?
More precisely, if $T:\mathbb{R}^n \rightarrow \mathbb{R}^m$ is a function that maps lines to lines in the sense that for any pair of vectors $a, b$ there exists vectors $c, d$ such that $T(a+tb)=c+td$ & $T(0)=0$ can we deduce that $T(x+y)=T(x)+T(y)$ for all vectors $x, y$?
Would appreciate any help.
 A: Edit: We have to clarify: Do you actually mean "Lines are mapped to lines", i.e. the image of a line under $T$ is again a line (what I assumed), or do you mean actually mean that $T(a + tb) = c + td$ for all $t\in [0,1]$?

Not if $m=1$! 
Take for example 
$T: \mathbb{R}^n \rightarrow \mathbb{R}$
$T(x) = 2x_1$ if $x_1>0$ 
$T(x) = x_1$ if $x_1\leq0$
It projects the line to one dimension and stretches the line on the right half plane, but not on the left half plane. Its non linear around 0, but will still always project lines to lines.
From "(as long as its rank $=n$)" I assume you'd add the condition that $T$ has to have full rank, and than we could assume $m=n > 2$ and there my counter example obviously does not work any more. 
A: Notice first that $T(0+tv)=0+tw$, thus $T(tv) = tT(v)$ (thanks Andrea).
Let $v_1$ & $v_2$ be linearlly independent vectors, and consider the lines $v_1+tv_2$ & $v_2+tv_2$. These cross each other precisely when $t=1$ at $p=v_1+v_2$.
Say $$T(v_1+tv_2)=w_1+tw_2' \rightarrow T(v_1) = w_1$$, 
$$T(v_2+tv_1)=w_2+tw_1' \rightarrow T(v_2) = w_2$$
Since $v_1+1v_2=v_2+1v_1$ we must have $w_1+1w_2'=w_2+1w_1'$. Because of linear independency we must have $w_i' = w_i = T(v_i)$.
Therefore $T(v_1+v_2) = T(v_1)+T(v_2)$.
Let $x_1, ..., x_n$ be a basis of $\mathbb{R}^n$. Then $T(a_1x_1+...+a_nx_n)= a_1T(x_1+[a_2'x_2+...+a_n'x_n])=a_1T(x_1)+T(a_2x_2+...a_nx_n)$ where $a_i'=a_i/a_1$. Applying the trick repeadetly yields $T(a_1x_1+...+a_nx_n)=a_1T(x_1)+...+a_nT(x_n)$. 
A: I think it is true. Recall the two equations $T(0)=0$ and for any $a,b$ there exist $c,d$ such that for any t $T(a+tb)=c+td$.
Substituting $t=0$ yields $c=T(a)$. In particular for $a=0$ we get $c=0$, i e. $T(tb)=td$. This means that every component of $T$ has derivatives in every direction around 0, and that $\partial_bT(0)=d$: just divide by $t$ and take the limit $t \to 0$. In particular, for $t=1$ we get $T(b)=d=\partial_bT(0)$.
Now we have the surprise: from the same equation, we get
$$ T(x+y) =\partial_{(x+y)}T(0) =\partial_xT(0) +\partial_yT(0) =T(x)+T(y)$$
Voilà ! To conclude, note that $T(tb)=td$ for $t=1$ gives $d=T(b)$, so that $T(tb)=td=tT(b)$, the second condition of linearity.
