好久没有写文章了,抱歉了,以后每天都会更新一篇的....
向量的点乘,也就是两个向量相乘:
我们是不这么定义的,不是两个向量对应的坐标元素相乘:
两个向量“相乘”,结果是⼀个数!,两个向量"相乘",更严格的说法:两个向量的点乘,两个向量的内积。
两个向量“相乘”:等于两个向量的模(长度)乘于夹角的余弦
在二维空间中,向量的点乘:
使用余弦定理证明:
向量点乘的直观理解:
向量的点乘,两个向量必须是同方向的,所以做投影以后的长度再相乘
同样,可以用坐标来理解:
v向量分解为x轴的x2向量,y轴的y2向量,u向量分解为x轴的x1向量,和y轴的y1向量,然后分别相乘,有4种情况,垂直的向量相乘为0,所以是x1.x2+y1.y2
使用Python实现向量的点乘:
具体代码:
定义一个内部使用的文件_globals,用来存储全局使用的变量 EPSILON,用来判断精度用的
EPSILON = 1e-8
Vector的代码:
import math
from ._globals import EPSILON
class Vector:
def __init__(self, lst):
self._values = list(lst)
@classmethod
def zero(cls, dim):
"""返回一个dim维的零向量"""
<