1.四元数¶
重点: - 本质是缩放+变换。模长保持为1,目的是保持缩放不变。 - 左乘的本质可以理解为逆时针旋转,右乘的本质是顺时针旋转。左乘右乘相同的四元数不会对答案有影响。 - 四元数可以\(w+ai+bj+ck\) 可以用向量抽象为\(w+v_1\)。 - 四元数的性质:不满足交换律,易插值,无万向锁,平方和为1 - 角度转四元数(以60度为例子)? - 复数平面 sin(60)+cos (60)i - 四元数则需要四元数三明治,即\(q·o·q^-1\)。 - 旋转轴:其中q里面的向量v相当于选定的轴,目标点要根据此轴进行旋转。 - 旋转四元数:q=sin(60/2)+cos(60/2)(ai+bj+ck);注意角度只有一半 - 共轭向量q-1 = sin(60/2)+cos(60/2)(ai+bj+ck); - 计算目的:旋转相同,但是可以消除在旋转轴的缩放,避免变为超维球体TT 几何思想: - 复数平面:如1+0.5i。(1,i,-1,-i)如何通过(-1)投影成直线?旋转本质是(1)发生什么变化?模长如何计算? - 球平面:通过-1的轴投影的结果是直线?没有通过的投影是圆。ij = 1。 - 四元数超维球面:1在哪里?i,j,k的旋转尊重右手法则。
欧拉角¶
固定三个轴,万向锁问题(自由度),不易插值
变换矩阵¶
缩放+旋转+位移。 显然因为旋转矩阵的存在插值并不好做。
2.点与三角形交互¶
- 叉积法
- 重心坐标法
- 内角和法
3.射线相交¶
- 射线与球体相交
- 射线与AABB相交(甚至要求代码)
4.简单概率论(点名雷火)¶
- 古典概型
- 排列组合