우선 3D 모델링 상의 한 점에서 2D 도면(뷰)으로의 변환을 살펴봅시다. 일반적으로 3D 모델링을 바라보는 방향에 따라서 TOP , BOTTOM , LEFT , RIGHT , FRONT , BACK 이렇게 6개의 뷰를 생성할 수 있습니다. 아래는 각각의 뷰 변환행렬입니다. $$\begin{eqnarray}\text{Bottom View} &=& \begin{bmatrix}1&0&0\\0&-1&0\\0&0&1\end{bmatrix} \\ \text{Top View} &=& \begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} \\ \text{Right View} &=& \begin{bmatrix}1&0&0\\0&0&1\\1&0&0\end{bmatrix} \\ \text{Left View} &=& \begin{bmatrix}0&-1&0\\0&0&1\\-1&0&0\end{bmatrix} \end{eqnarray}$$ 그리고 3D 모델링에 스케일과 회전을 적용한 후에 3D 모델의 중점을 도면의 중점에 맞추면 도면으로의 변환이 완성됩니다. 변환할 점에서 모델의 중점을 뺀다.(모델의 중점을 (0 , 0 , 0)좌표로 두는 효과) $tmp=pt-\text{model center pt}$ 뷰 변환 행렬을 통해 2D로 변환시킨다. $tmp^\text{'}= \begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}*tmp$ 변환된 2D 좌표를 뷰 회전 각도로 회전시킨...