0x00 目标
- 假设有一空间三角形,现要将其空间坐标系Z轴移动至其法向量n上。也就是说旋转后的空间三角形要使得其法向量n与Z轴平行且此空间三角形三点Z坐标一致。
0x01 思路
- 现旋转前向量Z轴已知Z=[0,0,1],旋转后向量n已知(n通过对此空间三角形计算得到),则可通过公式反求旋转角度与旋转轴。而这两者可求得旋转矩阵,原空间三角形矩阵通过与旋转矩阵相乘则可得到旋转后的空间三角形图形。
- 旋转角度公式:
![0336cc94d6ab387fd298e68e757d5213.png](https://img-blog.csdnimg.cn/img_convert/0336cc94d6ab387fd298e68e757d5213.png)
- 旋转轴公式:
![19f5f7d6da18952959adb162c2cfdaeb.png](https://img-blog.csdnimg.cn/img_convert/19f5f7d6da18952959adb162c2cfdaeb.png)
0x02 代码实现
%% 参考文献
%https://www.cnblogs.com/xpvincent/archive/2013/02/15/2912836.h