Solutions for 3D Modelling
Stage Turntable
- Position in the local co-ordinate system \(\mathbf{x}=(x,y,1)\)
- Translation from the local to the global system \(T=(0,10,0)\).
- Rotation \[R_{-\alpha} = \begin{bmatrix} \cos\alpha & \sin\alpha \\ -\sin\alpha & \cos\alpha \end{bmatrix}\]
- Homogeneous transformation \[H_{-\alpha} = \begin{bmatrix} \cos\alpha & \sin\alpha & 0 \\ -\sin\alpha & \cos\alpha & 10 \\ 0 & 0 & 1 \end{bmatrix} \]
- Global position of the actress \[ H_{-\alpha}\mathbf{x} = \begin{bmatrix} x\cos\alpha + y\sin\alpha \\ -x\sin\alpha + y\cos\alpha + 10 \\ 1 \end{bmatrix}\]
- Global position in heterogeneous co-ordinates \[(x\cos\alpha + y\sin\alpha, -x\sin\alpha + y\cos\alpha + 10)^T\]
The Crane
Step 2
In homogeneous co-ordinates we had the transformation \[ A^T\mapsto R_y(\beta)\cdot(A^T+(0,0,b)^T)\] Because the translation is made before the rotation, we have to rewrite them as homogeneous co-ordinates separately. The translation is \[ H_T = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & b \\ 0 & 0 & 0 & 1 \end{bmatrix} \] and the rotation is \[ H_y(\beta) = \begin{bmatrix} \cos\beta & 0 & \sin\beta & 0 \\ 0 & 1 & 0 & 0 \\ -\sin\beta & 0 & \cos\beta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \] The actual homogeneous transformation is \(H(\beta)=H_z(\beta)H_T\), or \[ \tilde A^T\mapsto H_y(\beta)\cdot H_T\cdot \tilde A^T\] By completing the multiplication, we get \[ H(\beta) = \begin{bmatrix} \cos\beta & 0 & \sin\beta & b\sin\beta \\ 0 & 1 & 0 & 0 \\ -\sin\beta & 0 & \cos\beta & b\cos\beta \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
Step 2 Validation
Consider an arbitrary homogeneous point \((x,y,z,1)\) and let’s check if the heterogeneous and the homogeneous transformation give the same result.
Heterogeneous
\[(x,y,z)\mapsto R_y(\beta)\cdot(x,y,z+b)^T = \begin{bmatrix} x\cos\beta + (z+b)\sin\beta \\ y \\ -x\sin\beta + (z+b)\cos\beta \end{bmatrix}\]
Homogeneous
\[(x,y,z)\mapsto H_y(\beta)\cdot(x,y,z,1)^T = \begin{bmatrix} x\cos\beta + z\sin\beta + b\sin\beta\\ y \\ -x\sin\beta + z\cos\beta + b\cos\beta \\ 1 \end{bmatrix}\]
Step 3
Similarly to above, the transformation from the joint basis to the base basis is \[ H(\alpha) = H_z(\alpha)H_{T'} = \begin{bmatrix} \cos\alpha & \sin\alpha & 0 & 0\\ -\sin\alpha & \cos\alpha & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & a \\ 0 & 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \cos\alpha & \sin\alpha & 0 & 0 \\ -\sin\alpha & \cos\alpha &0 & 0 \\ 0 & 0 & 1 & a \\ 0 & 0 & 0 & 1 \end{bmatrix} \]
Step 3 can be validated in the same way as Step 2.