《3D数学基础:图像与游戏开发》读书笔记(一)

《3D数学基础:图像与游戏开发》读书笔记(一)

一、向量运算

1. 点积

点积又叫内积、点乘,两个向量的点积结果是一个标,等于两个向量对应维度数值乘积之和。

a1a2anb1b2bn=a1b1+a2b2++anbn(1)

点积结果描述了两个向量的“相似”程度,点积结果越大,两向量越想近。

点积等于两个向量的模的积再乘上两个向量夹角的cos值。

ab=|a||b|cosθ(2)

所以如果其中一个向量是单位向量,比如 a 是单位向量,那么 a 的模|a|的值为1,那么点积的结果就为 b 向量的一个平行于 a 向量的分向量的模。常用于把一个向量分解成一个与另一个向量平行或垂直的分向量。

向量点积优先级高于加法和乘法。

2. 叉积

叉积又叫叉乘,两个向量叉积的结果是一个向量,叉积不满足交换律,但满足反交换律:a×b=(b×a)

a1a2a3×a1a2a3=a2b3b2a3a3b1a1b3a1b2a2b1(3)

两个向量的叉积得到的向量的模等于两个向量的模的积再乘上两个向量夹角的sin值。

|a×b|=|a||b|sinθ(4)

叉积的运算优先级和点积一样,不过两个混合运算时优先计算叉积,因为点积运算结果是标量,标量不能叉积。运算 a(b×c) 称为三重积。

叉积的的结果是一个垂直于 a 且垂直于 b 的向量,所以如果 a b 同起点,a b 的逆时针方向,在左手坐标系中 a×b 是一个指向显示器外的向量,右手坐标系则相反。

二、矩阵

1. 矩阵与向量

一个3维向量相当于一个1x3的矩阵,1x3的矩阵乘上3x3的矩阵等于1x3的矩阵,也就是说一个三维向量乘上一个3x3的矩阵能得到另一个三维向量,实现了向量的变换。

矩阵每一维都可以解释为转换后的基向量。

[100]m11m21m31m12m22m32m13m23m33=[m11m12m13](5)

向量可以代表一个方向,也可以代表一个点,所以和矩阵相乘可以实现点的变换,即可以实现三维物体的变换(旋转、缩放、镜像)。三维向量平移需要4x4的矩阵

2. 矩阵与线性变换

在数学上,如果满足下式,F(a)就是线性的。

F(a+b)=F(a)+F(b)(6)

F(ka)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值