• 《3D Math Primer for Graphics and Game Development》读书笔记2


    《3D Math Primer for Graphics and Game Development》读书笔记2

    上一篇得到了"矩阵等价于变换后的基向量"这一结论。

    本篇只涉及两章,但容量已足够喝一壶了。

    第8章 矩阵和线性变换

    变换物体和变换坐标系是等价的,将物体变换一个量等价于将坐标系变换一个相反的量。

    旋转rotation

    2D中的旋转只有一个参数:角度θ,逆时针经常被认为是正方向。

    在3D场景中,绕轴旋转而不是点。绕轴旋转θ°时,必须知道哪个方向被认为是正方向。在左手坐标系中用左手法则,在右手坐标系中用右手法则判定。

    为单位向量,方向任意,旋转角度为θ,那么相应的旋转矩阵为:

    缩放scaling

    为平行于缩放方向的单位向量,k为缩放因子,缩放沿穿过原点且平行于的直线(2D)或平面(3D)进行。

    2D的缩放公式

    3D的缩放公式

    投影projection

    2D中,

    3D中,

    镜像reflection

    2D中,

    3D中,

    切变shearing

    切变时角度会变化,但面积和体积不变。

    第9章 矩阵的更多知识

    行列式determinant

    上图展示了行列式的计算方法。可以将任意一行作为主行,然后写出行列式;也可以按列来写,结果都是一样的。

    2×2矩阵的行列式等于其围成的平行四边形的有符号面积。

    3×3矩阵的行列式等于以变换后的基向量为三边的平行六面体的有符号体积。

    如果行列式为零,那么该矩阵包含投影;如果行列式为负,那么该矩阵包含镜像。

    矩阵的逆

    假设矩阵M有r行c列。记法M{ij}表示从M中除去第i行第j列后剩下的矩阵。称为M余子式。余子式是一个矩阵。

    余子式的有符号行列式称为代数余子式

    用Cij表示M的第i行第j列元素的代数余子式。代数余子式是一个标量。

    可以用代数余子式求行列式。

    例如4×4矩阵

    矩阵M的逆记作M-1,也是一个矩阵,且满足

    M标准伴随矩阵记作adj M,定义为M的代数余子式矩阵的转置矩阵。例如:

    M的代数余子式矩阵:

    M的标准伴随矩阵:

    M的逆矩阵:

    标准伴随矩阵提供无分支计算逆矩阵的方法。还有一种求逆矩阵的方法是高斯消元法。

    正交矩阵

    旋转和镜像矩阵是正交的。

    正交矩阵的每一行代表的基向量都是单位向量,且行互相垂直。

    矩阵正交化

    施密特正交化:

    改进的施密特正交化:

    4×4齐次矩阵

    4×4矩阵可以同时表示线性变换(旋转、缩放。。。)和平移。这是使用4×4矩阵的原因之一。

    仿射变换

    仿射变换的基本思路是,先平移到原点,然后执行线性变换,最后反向平移回去。

  • 相关阅读:
    分析建模中的行为分析
    SOLID总结(未完待续)
    分析建模的五个子过程中为什么有个编码子过程?
    用例建模的五个子过程
    类之间的关系
    python cx_Freeze安装详解、打包exe文件简解
    pyautoit:OSError: [WinError 193] %1 不是有效的 Win32 应用程序
    Python 动态导入类并运行其中的方法
    比较2个字符串,输出看起来一样,但比较起来不同
    pyautogui 文档(五):截图及定位功能
  • 原文地址:https://www.cnblogs.com/bitzhuwei/p/reading-notes2-3D-Math-Primer-for-Graphics-and-Game-Development.html
Copyright © 2020-2023  润新知