关于向量点积和叉积的回顾和总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于向量点积和叉积的回顾和总结相关的知识,希望对你有一定的参考价值。
一.点积
1.数量积,返回数值。
2.公式:a*b=|a|*|b|*cosθ,适用于二维和三维。向量基本以坐标的形式给出,计算的的话就是对应位置的相乘,然后相加,可以扩展到n维。
3.根据公式,我们可以判断这两个两个向量成锐角(<0),直角(=0),钝角(>0)。
4. 公式:。
1 double Dot(point A,point B)//点乘 2 { 3 return A.x*B.x+A.y*B.y; 4 } 5 6 double Length(point A)//模 7 { 8 return sqrt(Dot(A,A)); 9 } 10 11 double Angle(point A,point B)//角度 12 { 13 return acos(Dot(A,B)/Length(A)/Length(B)); 14 }
二.叉积
1.向量积,返回向量。
2.axb=|a|*|b|*sinθ,二维空间里的叉乘:V1(x1,y1) X V2(x2,y2) = x1y2 – y1x2
3.叉积的长度 |a×b| 可以解释成以a和b为邻边的平行四边形的面积。
4.混合积 [a b c] = (a×b)·c可以得到以a,b,c为棱的平行六面体的体积。
4.可以判断一个点(P)在一条直线(两个点A,B构成)的哪一侧。PAxPB<0,左侧。
1 double Cross(point A,point B)//叉乘 2 { 3 return A.x*B.y-A.y*B.x; 4 } 5 6 double Area(Point A,Point B,Point C)//平行四边形面积 7 { 8 point ab,ac; 9 ab.x=B.x-A.x;ab.y=B.y-A.y; 10 ac.x=C.x-A.x;ac.y=C.y-A.y; 11 return Cross(ab,ac); 12 }
以上是关于关于向量点积和叉积的回顾和总结的主要内容,如果未能解决你的问题,请参考以下文章