首页 > 编程知识 正文

点乘和叉乘的关系,向量的点积与叉积有什么区别

时间:2023-05-06 12:18:12 阅读:21752 作者:2069

编辑:计算几何图形摘要

另一方面,向量的叉向量p=(x1,y1 )、p=(x1,y2 ) )。

于是pxq=x1.y2-x2.y1

pxq=- qxp

叉子的大小等于三角形面积的两倍。

右手定则:手掌表示p向量,手指表示q向量,方向均指指尖

对于pxq 0,p为q的顺时针方向(q,p ),即拇指向上,手指和手掌九十度弯曲,手指向左,p逆时针旋转到q

pxq0时,p为q的逆时针方向(p、q ),即拇指向下,手指和手掌九十度弯曲,手指向右,p顺时针旋转至q

如果pxq=0.则pq重叠

代码计算叉是class point{ public:double x; 双y; point(doublex_=0,double y_=0) :x ) x_,y (y _ } { } friendconstpointoperator ) const point p2,constpointpor friendconstpointoperator-(const pointp 1,const point p2 )返回点) p1.y-p2.y,p1.y-p2.y ); (; friendconstpointoperator * (const pointp,const double m ) return point (p.y*m,p.y * m ); (; friendconstpointoperator * (constdoublem,const point p ) return point (p.y*m,p.y * m ); (; friendconstpointoperator/(const pointp,const double m ) return point (p.y/m,p.y/m ); (; friendostreamoperator (ostream out,point a ) point a ) () )、a.x、a.y ); 返回输出; (; (; typedef point vect2; //重命名,向量也是class line { public : pointstart; 点结束; line (points=point (0,0 ),pointe=point (0,0 ) ) ) :开始(s ),结束(e ) {}; 双关闭(pointo,point A,point B )双OA _ x=a.x-o.x; 双精度OA _ y=a.y-o.y; 双精度ob _ x=b.x-o.x; 双精度ob _ y=b.y-o.y; 返回OA _ x * ob _ y-OA _ y * ob _ x; (二、向量点乘以向量p=(x1,y1 )、p=(x1,y2 ) )

pq=x1*x2 y1*y2

doubledot(pointo,point A,point B ) double oa_x=A.x-O.x; 双精度OA _ y=a.y-o.y; 双精度ob _ x=b.x-o.x; 双精度ob _ y=b.y-o.y; 返回OA _ x * ob _ x OA _ y * ob _ y; (三、向量夹角cos (阿尔法) () pq )/)/(|p|*|q|)

#includecmathdoubledot(pointo、point A、point B ) ) double oa_x=A.x-O.x; 双精度OA _ y=a.y-o.y; 双精度ob _ x=b.x-o.x; 双精度ob _ y=b.y-o.y; 返回OA _ x * ob _ x OA _ y * ob _ y; }双精度is (常数点1,常数点p2 ) /两点之间的距离双精度ans=(P1.x-p2.x ) * (P1.x-p2.x ) ) p1.y-p2.y ) }双角度(pointo、point A、point B )//两向量OA、OB所成的角return acos (dot ) o、a、b )/(dis ) o、a ) *dis(O ) o

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。