Clockwise rotation of $3\times3$ matrix?

868 Views Asked by At

I've recently been studying matrices and have encountered a rather intriguing question which has quite frankly stumped me.

Find the $3\times3$ matrix which represents a rotation clockwise through $43°$ about the point $(\frac{1}{2},1+\frac{8}{10})$

For example: if the rotation angle is $66°$ then the centre of rotation is $(0.5, 1.3)$. Points are represented by homogeneous coordinates.

What would this look like? What would the centre of rotation be? Would anyone be able to provide a step-by-step solution to this so I can learn from it please?

In addition, there's a follow-up question: A "house" shape is formed as a polygon with vertices $(0, 0), (1, 0), (1, 1), (0.5, 1.5)$ and $(0, 1)$. Use your matrix to rotate each of these vertices, and draw the rotated house.

How can this be achieved?

Thanks!

3

There are 3 best solutions below

0
On BEST ANSWER

The center of rotation is the point $C=(c_1,c_2)=(1/2,9/5)$ and the angle is $\theta= -43°$. You can represent this transformation whith a $3 \times 3$ matrix using homogeneous coordinates in the affine plane.

Note that you can perform your transformation in three steps:

1) translate the origin to the point $C$

2) rotate about the new origin by the angle $\theta$

3) return to the old origin by means of the opposite translation.

In homogeneous coordinates these transformations are represented by the matrix:

$$ M= T R T^{-1}= \begin{pmatrix}1&0&c_1\\0&1&c_2\\0&0&1\end{pmatrix} \begin{pmatrix}\cos \theta&-\sin \theta&0\\\sin \theta&\cos \theta&0\\0&0&1\end{pmatrix} \begin{pmatrix}1&0&-c_1\\0&1&-c_2\\0&0&1\end{pmatrix} $$

You can apply this matrix to the points of your ''hause'', using homogeneous coordinates, e.g. the point $A=(0.5,1.5)$ is represented by $(0.5,1.5,1)^T$.

0
On

You need three steps.

1) First shift your points by $(x_0,y_0)$ so that your rotation point is now at the origin. That is, for a given point $(x,y)$, we have shifted points $(x_s,y_s)=(x-x_0,y-y_0)$

2) Then do the rotation about zero which is a trivial. In this case we want clockwise by $\theta$

$\begin{pmatrix} x'\\ y' \end{pmatrix}=\begin{pmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{pmatrix}. \begin{pmatrix} x_s \\ y_s \end{pmatrix}$

3) Finally, bring the points back by reversing step 1 to obtain the rotated points $(x_R,y_R)=(x'+x_0,y'+y_0)$

In your problem, substitute the points of the house in $(x,y)$, the point $(x_0,y_0)=(\frac{1}{2},1+\frac{8}{10})$ and $\theta =43^0$

0
On

I assume you know how to represent a rotation around the origin $(0,0)$ as a matrix, which I'll henceforth shall call $R$. Now, if we want to rotate about a different point $(x_0,y_0)$, we will first translate all the points of the plane back by $(x_0,y_0)$ so that or rotation center now coincides with the origin. Then we perform our rotation $R$ and then we translate back all points such that the origin is moved again to the point $(x_0,y_0)$. This will result in the following operation:

$$\left[\begin{array}{c} x' \\ y' \end{array}\right] = R \left(\left[\begin{array}{c} x \\ y \end{array}\right]-\left[\begin{array}{c} x_0 \\ y_0 \end{array}\right]\right) + \left[\begin{array}{c} x_0 \\ y_0 \end{array}\right] \; = R\left[\begin{array}{c} x \\ y \end{array}\right]+(I_2-R)\left[\begin{array}{c} x_0 \\ y_0 \end{array}\right].$$

We'll now extend our vectors $(x,y)$ with an extra component as follows

$$\left[\begin{array}{c} x \\ y \\ 1\end{array}\right] \; .$$

As a consequence, we can now rewrite the transformation as a right multiplication with only one $3\times 3$-matrix

$$\left[\begin{array}{c} x' \\ y' \\ 1 \end{array}\right] = \left[\begin{array}{c|c} R & P \\ \hline 0_{1\times 2} & 1 \end{array}\right]\left[\begin{array}{c} x \\ y \\ 1 \end{array}\right]$$

in which

$$P = (I_2-R)\left[\begin{array}{c} x_0 \\ y_0 \end{array}\right]$$

and $0_{1\times 2} = [\begin{array}{cc}0 & 0\end{array}]$.