学习 3D数学基础 (矩阵1)

矩阵

一个4x3矩阵(4行,3列)

这里写图片描述

方阵
行数和列数相同的矩阵

这里写图片描述

对角矩阵
所有非对角元素为0

这里写图片描述

单位矩阵

这里写图片描述

向量作为矩阵

一个n维向量能被当做1xN矩阵或Nx1矩阵。
这里写图片描述

矩阵的转置
沿着矩阵的对角线翻转

这里写图片描述

向量的转置

这里写图片描述

标量和向量的乘法

这里写图片描述

矩阵和矩阵相乘

这里写图片描述
这里写图片描述

2x2矩阵相乘

这里写图片描述
这里写图片描述

3x3矩阵相乘

这里写图片描述
这里写图片描述

乘法定律

不满足交换率 ( AB!=BA A B ! = B A
满足结合律 ( (AB)C=A(BC) ( A B ) C = A ( B C ) 和标量,向量相乘同样满足)
这里写图片描述
矩阵积的转置相当于先转置矩阵然后以相反的顺序相乘
这里写图片描述

向量和矩阵的乘法
1x3矩阵乘3x3矩阵

这里写图片描述

3x3矩阵乘3x1矩阵

这里写图片描述

不满足之前提到的规律

这里写图片描述
DX中使用行向量,openGL使用列向量

几何解释

一般来说,方阵能描述任意线性变换

旋转
缩放
投影
镜像
仿射

根据三角形法则可以将向量转化为以下形式

这里写图片描述
这里写图片描述
这里写图片描述
p, q, r 为 +x, +y, +z 方向的单位基向量
v=px+qy+rz v = p x + q y + r z
p, q, r 为行构建3x3矩阵
这里写图片描述
这里写图片描述

矩阵的每一行都能解释为旋转后的基向量

这里写图片描述

2D中的变换

这里写图片描述
这里写图片描述

3D中的变换

这里写图片描述

旋转

2D旋转矩阵

这里写图片描述
这里写图片描述

3D旋转
旋转需要知道方向的正负(左手法则,右手法则)
大拇指指向旋转轴的正方向,此时,四指玩去的方向就是旋转的正方形

这里写图片描述
这里写图片描述

绕X轴旋转

这里写图片描述
这里写图片描述

绕Y轴旋转

这里写图片描述
这里写图片描述

绕Z轴旋转

这里写图片描述
这里写图片描述

绕任意轴旋转

v=vR(n,θ) v ′ = v R ( n , θ ) (n为单位向量,θ为旋转角度)

推导

这里写图片描述
将V分解为平行于n的VⅡ,和垂直于n的V⊥
V=V+V V = V Ⅱ + V ⊥
V=V+V V ′ = V Ⅱ ′ + V ⊥ ′
V//n ∵ V Ⅱ ′ / / n
V=V+V ∴ V ′ = V Ⅱ + V ⊥ ′
VVn ∵ V Ⅱ 是 V 在 n 上 的 投 影
V=(nV)n|n|2 ∴ V Ⅱ = ( n V ) n | n | 2
n ∵ n 为 单 位 向 量
V=(nV)n ∴ V Ⅱ = ( n V ) n
V=V+V ∵ V = V Ⅱ + V ⊥
V=VV ∴ V ⊥= V − V Ⅱ
V=V(nV)n ∴ V ⊥= V − ( n V ) n
wVVVwVnwVn90 假 设 w 为 同 时 垂 直 于 V Ⅱ , V ⊥ 的 向 量 , 并 且 长 度 和 V ⊥ 相 同 , w 和 V ⊥ 同 时 垂 直 于 n 的 平 面 且 w 是 V ⊥ 绕 n 旋 转 90 度 的 结 果
w=n×V ∴ w = n × V ⊥
=n×(VV) = n × ( V − V Ⅱ )
=n×Vn×V = n × V − n × V Ⅱ
=n×V0 = n × V − 0
=n×V = n × V
V=Vcosθ+wsinθ V ⊥ ′ = V ⊥ c o s θ + w s i n θ
=(V(nV)n)cosθ+(n×V)sinθ = ( V − ( n V ) n ) c o s θ + ( n × V ) s i n θ
V=V+V V ′ = V ⊥ ′ + V Ⅱ
=(V(nV)n)cosθ+(n×V)sinθ+(nV)n = ( V − ( n V ) n ) c o s θ + ( n × V ) s i n θ + ( n V ) n

已经得到V’与v,n,θ的关系了,所以可以求出个基向量

这里写图片描述
这里写图片描述
这里写图片描述

缩放

2D缩放

这里写代码片
这里写图片描述

3D缩放

这里写图片描述

沿任意方向缩放

这里写图片描述
nk n 为 缩 放 方 向 上 的 单 位 向 量 , k 为 缩 放 系 数
V=V+V V ′ = V Ⅱ ′ + V ⊥ ′
Vn ∵ V ⊥ ′ ⊥ n
V=V ∴ V ⊥ ′ = V ⊥
V=V+V ∴ V ′ = V Ⅱ ′ + V ⊥
V=kV V Ⅱ ′ = k V Ⅱ
V=kV+V ∴ V ′ = k V Ⅱ + V ⊥
V=VV ∵ V ⊥= V − V Ⅱ
V=(nV)n V Ⅱ = ( n V ) n
V=k(nV)n+V(nV)n ∴ V ′ = k ( n V ) n + V − ( n V ) n
=V+(k1)(nV)n = V + ( k − 1 ) ( n V ) n

所以可以得出个基向量
2D缩放

这里写图片描述
这里写图片描述

3D缩放

这里写图片描述
这里写图片描述

镜像

2D镜像

这里写图片描述
这里写图片描述

3D镜像

这里写图片描述

组合变换

最常见的比如mvp矩阵

变换分类

线性变换

F(a+b)=F(a)+F(b) F ( a + b ) = F ( a ) + F ( b )
F(ka)=kF(a) F ( k a ) = k F ( a )

仿射变换
仿射变换指线性变换后接着平移,因此仿射变换是线性变换的超集
可逆变换
如果存在一个逆变换可以撤销原变换,那么该变换可逆,除了投影变换其他基本变换均可逆,求逆矩阵等价于求矩阵的逆
等角变换
正交变换的基本思想是轴保持相互垂直,而且不进行缩放变换,平移,旋转,镜像是仅有的正交变换,正交矩阵的行列式为±1,所有正交矩阵都是仿射和可逆的
刚体变换
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值