欢迎来到天天文库
浏览记录
ID:6569450
大小:34.50 KB
页数:2页
时间:2018-01-18
《利用向量的叉积和点积计算向量之间的夹角》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、利用向量的叉积和点积计算向量之间的夹角参考:http://www.cppblog.com/lovedday/archive/2009/01/15/22890.html本文主要实现了利用向量的叉积和点积来计算向量之间的夹角的问题。向量的点积公式是:假设向量u(ux,uy)和v(vx,vy),u和v之间的夹角为α,从三角形的边角关系等式出发,可作出如下简单推导:
2、u-v
3、
4、u-v
5、=
6、u
7、
8、u
9、+
10、v
11、
12、v
13、-2
14、u
15、
16、v
17、cosα ===> (ux-vx)2+(uy-vy)2 =ux2+uy2+vx2+vy
18、2-2
19、u
20、
21、v
22、cosα===> -2uxvx-2uyvy=-2
23、u
24、
25、v
26、cosα===> cosα=(uxvx+uyvy)/(
27、u
28、
29、v
30、)向量的叉积公式是: ux*vy-vx*uy=(
31、u
32、
33、v
34、)*sina这样,就可以根据向量u和v的坐标值计算出它们之间的夹角。 POINTBPoint; BPoint.x=AOrigin.x; BPoint.y=AOrigin.y-10;//以屏幕的左上角为中心点 doubleALength=sqrt((APoint.x-AOri
35、gin.x)*(APoint.x-AOrigin.x)+(APoint.y-AOrigin.y)*(APoint.y-AOrigin.y)); doubleBLength=10; intdJ=(AOrigin.x-APoint.x)*(AOrigin.x-BPoint.x)+(AOrigin.y-APoint.y)*(AOrigin.y-BPoint.y); intcJ=(AOrigin.x-APoint.x)*(AOrigin.y-BPoint.y)-(AOrigin.x-BPoint.x
36、)*(AOrigin.y-APoint.y); doublecosResult=dJ*1.0/(ALength*BLength); sinResult=cJ*1.0/(ALength*BLength);
此文档下载收益归作者所有