图形学里面的基本的坐标变换矩阵和使用

        从基本的仿射变换(平移、缩放、旋转)逐步深入理解图形学,本文主要是以具体公式为主。在后面的文章中会记录其它变换和图形学的其它内容。。。

        本文是以二维笛卡尔坐标系为基础,假设变换的点为(x0,y0),记录为\begin{bmatrix} x0\\ y0\\ 1 \end{bmatrix}

1、坐标平移矩阵。

        \begin{bmatrix} 1 & 0 & tx\\ 0& 1 & ty\\ 0 & 0 & 1 \end{bmatrix},虽然是二维坐标,但是用的是3x1的向量表示,如果用2x1的向量表示,用矩阵处理平移变换会有困难。

\begin{bmatrix} 1 & 0 & tx\\ 0& 1 & ty\\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} x0\\ y0\\ 1 \end{bmatrix}

2、坐标缩放矩阵。

        \begin{bmatrix} sx & 0 & 0\\ 0 & sy & 0\\ 0& 0& 1 \end{bmatrix},点的缩放就是到原点的距离。

3、坐标旋转矩阵。

        \begin{bmatrix} \cos \theta &\sin\theta &0 \\ -\sin \theta & \cos \theta & 0\\ 0& 0 & 1 \end{bmatrix},旋转就是点按原点旋转,旋转是按顺时针旋转。复杂变换就是依次左乘

4、一般多边形的变换

        图形的仿射变换并不是每个点按原点进行变换,比如矩形是按中心点旋转,圆是按圆心缩放。

4.1、多边形平移,每个点按原点平移即可。

4.2、多边形缩放,计算图形的中心点,中心点平移至原点,其它点按原来的中心点相对于原点的位置进行平移,每个点按原点缩放,缩放后中心点移动到原来位置,变换后其它点也按中心点相对于原点的位置平移回来。

4.3、多边形旋转,和4.2类似。 最后一步和第一步都是平移变换。

        以上是个人对图形学仿射变换的理解,如有不对,欢迎指出。

你可能感兴趣的:(图形学,图形学,仿射变换(平移,缩放,旋转))