Games101学习笔记(Lecture1-2)
该笔记基于闫令琪大神的cs课程及课后作业总结而成
学习过程中遇到的一些词
- Geometrically: Parallelogram law & Triangle law
几何:平行四边形定律和三角形定律
Algebraically: Simply add coordinates
代数上:简单地添加坐标usually orthogonal unit
通常正交单元Cartesian Coordinates
笛卡尔坐标Dot product
点积Cross product
交叉积Orthonormal bases and coordinate frames
正交基与坐标框架Decompose a vector
分解向量dual matrix of vector a
向量a的对偶矩阵homogenous coordinate
齐次坐标
线代基础
点乘可分解向量以及判断向量之间接近or远离
叉乘可判断方位
点乘
叉乘求得的结果垂直于两个原始向量,因此常用于求法线, 所以三维软件会提供翻转法线的功能 opengl永远是右手系,DirectX经常是左手系
a在b的左侧的意思是,a经过不大于180°的逆时针旋转可以与b的方向一致,右侧同理,方向变为顺时针
点在所有向量左侧或在所有向量左侧,就是多边形内部
Eigen库的用处
Eigen: Matrix and vector arithmetic
矩阵/向量的练习:
注:C++中 三角函数运算使用弧度制
1 |
|
- 测试效果:
Example of cpp :
1
0.5
1.41421
3.14159
0.5
a =
8 2
2 1
b =
4 1
1 4
a + b =
12 3
3 5
a - b =
4 1
1 -3
Do: a += b;
Now: a =
12 3
3 5
i * j =
37 36 35
82 84 77
127 132 119
v =
1
2
3
w =
1
2
4
v - 2 * w =
-1
-2
-5
Here is the initial matrix c:
1 2 3
4 5 6
and after being transposed:
1 4
2 5
3 6