美文网首页
3D数学基础及图形开发(五)矩阵的线性变换-缩放和投影

3D数学基础及图形开发(五)矩阵的线性变换-缩放和投影

作者: Levi_Wan | 来源:发表于2016-12-27 23:59 被阅读106次

    线性变换-缩放

    缩放

    2D的缩放,等比例的缩放,和不等比例的缩放。我们的缩放由于不改变旋转,我们使用对角矩阵来实现。


    Image Scale.png

    3D的缩放矩阵,缩放实现对向量的等比例缩放:

    Paste_Image.png
      在我们的程序实现中,我们可以将一个向量作为参数,向量的x,y,z就分别对应着不同轴的缩放系数(一般不会有会沿着任意轴的缩放的需求)
    编程实现:
    • 头文件:
    Paste_Image.png
    • 源文件:
    Paste_Image.png
    投影

    投影分为两种:正交投影和透视投影(对应着Unity中Camera的两种Type),投影的本质其实就是把二维变为一维或者把三维变为二维的过程。

    • 正交投影:投影线都为平行的直线(看到的图像大小不变)
    Paste_Image.png
    • 透视投影:投影线根据视点远端的变小,近端的变大。
    Paste_Image.png

    2D投影:乘上这个矩阵后直接会转化为一维。

    Paste_Image.png

    3D投影:乘上这个矩阵后会转化为二维。(如果要进行3D的投影,我们则需要选择它将投影到哪一个平面上类似x轴和y轴组成的平面这是z轴就为0(也就是需要得到这个平面的法向量n

    1.png

      3D投影,投影到任意一个平面的公式,基于这个公式进行编程。

    Paste_Image.png
    • 投影的编程实现(投影到任意一平面首先需要获取法向量n):(可以看出投影为一组正交矩阵)

      • 头文件:
    Paste_Image.png
    • 源文件
    Paste_Image.png

    相关文章

      网友评论

          本文标题:3D数学基础及图形开发(五)矩阵的线性变换-缩放和投影

          本文链接:https://www.haomeiwen.com/subject/duievttx.html