Matrix and transformation problem

  • Thread starter adjacent
  • Start date
  • #1
adjacent
Gold Member
1,553
63
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.
 

Answers and Replies

  • #2
adjacent
Gold Member
1,553
63
Anyone?:mad:
 
  • #3
HallsofIvy
Science Advisor
Homework Helper
41,847
965
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.
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:
[tex]\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}[/tex]

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:
  • #4
adjacent
Gold Member
1,553
63
Your latex is broken.
I have not learned matrix transformation in 3-d space yet :frown:
 
  • #5
35,132
6,877

Related Threads on Matrix and transformation problem

Replies
3
Views
1K
  • Last Post
Replies
3
Views
529
Replies
3
Views
13K
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
4
Views
7K
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
3
Views
821
Replies
3
Views
2K
Top