问题描述
现有一起点在原点 (0,0) 处的向量 (-5,-8)。选择一个基向量 (此基向量可以选任意方向、大小)。要将现有向量旋转至基向量方向,该怎么做?
![红色:目标向量,绿色:基向量,灰色箭头表示旋转方向](https://img-blog.csdnimg.cn/20200825194923516.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTI1NzAyMTU=,size_16,color_FFFFFF,t_70#pic_center)
选定基向量
设定基向量为 (0,2)。则:
v1 = np.asarray((0,2))
v2 = np.asarray((-5,-8))
计算两向量夹角
unit_v1 = v1 / np.linalg.norm(v1)
unit_v2 = v2 / np.linalg.norm(v2)
dot_product = np.dot(unit_v1, unit_v2)
angle