您的位置:首页 > 其它

点乘公式推导

2012-07-03 15:45 246 查看
一直都没搞清楚dot(a,b) = |a|*|b|*cos<a,b>是怎么推导出来的。很多公式推导都用到它,所以特地查了下,结果在gamedev上找到了答案。

其实很简单,wiki上说点乘的定义式是dot(a,b) = sum(a1*b1,a2*b2,...),简单的二维就是dot(a,b) = a1*b1+a2*b2.

现在由它推导出最上面的公式(乘号省略)



a•b =x1x2 + y1y2

=|a|cosθ1|b|cosθ2 + |a|sinθ1|b|sinθ2

=|a||b|(cosθ1cosθ2 + sinθ1sinθ2)

=|a||b|cos(θ1-θ2)

很简单吧,由于cos是对称的,cos(-θ)
= cosθ,所以点乘的结果只与夹角绝对值有关,不存在顺序问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: