# Matrix and transformation problem

1. Apr 22, 2014

### adjacent

Let there be a triangle with coordinates A(2,2) , B(5,2) and C(5,4)
I have learned two ways to shear an object(x-axis invariant) in the Cartesian coordinate system.
The first way is to find the coordinate vector of a point and multiply the y-component of the vector by the shear factor(2)(Don't change the value) and replace the x-component with it.

The second way is to use the transformation matrix and multiply it with the coordinate matrix.
So the transformation matrix is $\begin{pmatrix}1 & 2\\ 0 & 1 \end{pmatrix}$ and the cordinate matrix: $\begin{pmatrix}2 & 5 & 5\\ 2 & 2 & 4 \end{pmatrix}$ and the result is :
$$\begin{pmatrix}6 & 9 & 13\\ 2 & 2 & 4 \end{pmatrix}$$

This gives the same answer as the first method.However,the first method is easy to understand.
I realised that the matrix method does the same thing.It leaves the y-components as it is and add the $\text{Shear factor} \times \text{Y-component}$ to the x-component.

So when the matrix theory(or whatever) was made,that person must have considered these.The multiplication rule:Row and column made this transformation matrices useful.
My teacher asked to replace the $0$ with the shear factor.
I was wondering how did someone find this rule about replacing the zero?By guessing?
So can I make a transformation matrix which would translate,reflect,rotate,enlarge,stretch and shear it at the same time?
My main question here is how to make a transformation matrix which would transform the object in the way I like.

2. Apr 23, 2014

### adjacent

Anyone?

3. Apr 23, 2014

### HallsofIvy

Staff Emeritus
If you have a 3 dimensional space, then you can reflect, rotate, enlarge, stretch, and shear by multiplying by a 3 by 3 matrix. But you cannot translate by multiplying by a matrix because any matrix times (0, 0, 0) would give (0, 0, 0) and translating will move (0, 0, 0) to some other point.

What you can do is use "projective space". We represent the point (x, y, z) by the array (x, y, z, 1) and include the "equivalence relation" that (ax, ay, az, a) represents the same point as (x, y, z, 1). That is, any time the last number is NOT "1", divide through by it. That way we could represent the transation by the vector (a, b, c) as a matrix multiplication:
$$\begin{bmatrix}1 & 0 & 0 & a \\ 0 & 1 & 0 & b \\ 0 & 0 & 1 & c \\ 0 & 0 & 0 & 1 \end{bmatrix}\begin{bmatrix}x \\ y \\ z \\ 1\end{bmatrix}= \begin{bmatrix}x+ a \\ y+ b \\ z+ c \\ 1\end{bmatrix}$$

Reflection, rotation, enlarging, stretching, and shearing would be the usual 3 by 3 matrix with the fourth row and column all 0s. And you would form a matrix that combines "reflecting, rotating, enlarging, translating, stretching, and shearing by forming the matrix for each of those and multiplying the matrices.

Last edited by a moderator: Apr 23, 2014
4. Apr 23, 2014

### adjacent

Your latex is broken.
I have not learned matrix transformation in 3-d space yet

5. Apr 23, 2014

### Staff: Mentor

It's fixed now.

Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook