Hi, I am revising for an exam and decided to look at a past paper. Unfortunately, we aren't provided with solutions, so I am stuck on this question:
As far as I'm aware, wouldn't I need to do something like (1,5,0,w=1) and then adapt the rotation matrix with an additional column and row like the following, then multiply them together?
cosx -sinx 0 0
sinx cosx 0 0
0 0 1 0
0 0 0 1
I think the procedure is to
i) translate the point such that the axis of rotation is at the origin
ii) perform the rotation
iii) translate the rotated point by the negative of that done in (i)
Given a 2D point (xy)
we augment this as ⎝⎛xy1⎠⎞
and then we can perform both rotations and translations using matrices.
We can do rotations by simply augmenting the 2D rotation matrix in the obvious way.
So for this problem we
i) translate by (-1,-5) to get the axis of rotation at the origin.
T1=⎝⎛100010−1−51⎠⎞
ii) rotate by 30 degrees clockwise
R=21⎝⎛3−10130002⎠⎞
iii) and translate back
T2=⎝⎛100010151⎠⎞
And the whole idea is that the entire transformation is the product of these three matrices.
⎝⎛x′y′1⎠⎞=T⎝⎛xy1⎠⎞=T2RT1⎝⎛xy1⎠⎞
I'm not exactly sure how homogeneous coordinates fit into all this. But to my knowledge this is the usual way to augment vectors and matrices to allow affine transformations.
I think the procedure is to
i) translate the point such that the axis of rotation is at the origin
ii) perform the rotation
iii) translate the rotated point by the negative of that done in (i)
Given a 2D point (xy)
we augment this as ⎝⎛xy1⎠⎞
and then we can perform both rotations and translations using matrices.
We can do rotations by simply augmenting the 2D rotation matrix in the obvious way.
So for this problem we
i) translate by (-1,-5) to get the axis of rotation at the origin.
T1=⎝⎛100010−1−51⎠⎞
ii) rotate by 30 degrees clockwise
R=21⎝⎛3−10130002⎠⎞
iii) and translate back
T2=⎝⎛100010151⎠⎞
And the whole idea is that the entire transformation is the product of these three matrices.
⎝⎛x′y′1⎠⎞=T⎝⎛xy1⎠⎞=T2RT1⎝⎛xy1⎠⎞
I'm not exactly sure how homogeneous coordinates fit into all this. But to my knowledge this is the usual way to augment vectors and matrices to allow affine transformations.
I needed to do it specifically using homogeneous coordinates, but I appreciate the help. From looking around, it looks like I need to create a 4x4 matrix, which contains the 3x3 rotation matrix and the final row/column filled with 0s bar the bottom right, which is a 1.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.