首页 > 编程知识 正文

三个向量叉乘运算公式,向量叉乘公式

时间:2023-05-03 06:16:14 阅读:136810 作者:4073

外积的计算是线段方法的核心。 考虑图33-1(a )所示的矢量p1和p2。 可以将叉积解释为由点(0,0 )、p1、p2和p1p2=(x1x 2,y1 y2 )组成的平行四边形的有向面积。 与此等价,但更有效外积的定义方法之一是看作矩阵行列式:

P1p2=det [ x1 y1 x2 y2 ]=x1 y2 x2 y1=p2P1

如果p1p2的值为正,则p1相对于原点(0,0 )位于p2的顺时针方向; 如果p1p2的值为负,则p1位于p2的逆时针方向。 图(b )表示向量p的顺时针方向和逆时针方向的区域。 叉积为0时出现边界的情况; 在这种情况下,两个向量位于同一条直线上,指向同一个方向或相反的方向。

为了使有向线段p0p 1顺时针还是逆时针相对于共同端点p0接近p0p 2,以p0为原点将问题简单化。 向量p1=(x1,y1 )由p1-p0表示,其中x1=x1x 0,y1=y1 y0,这同样可以定义p2-p0。 然后,计算外积

(P1 P0 ) ) (P1 P0 ) (P1 P0 ) x1x0) y2y0 ) (x2x0 ) y1y0 ) ) ) ) ) ) ) ) ) 652

叉积的用途如下所示。

1 .相交判断线段的弯曲方式

如上图所示,可以通过计算向量的外积来判断拐点方向,即(C-B ) ) a-b )的符号。

(C-B ) ) a-b ) 0时,CB在b点顺时针得到AB

(C-B ) ) a-b ) 0时,CB在b点逆时针得到AB

(C-B ) ) a-b )=0时,a、b、c三点为同一直线。

如图所示,给定3个点a、b、c,沿着AB到BC,判断在b点是右转还是左转。 然后求出弯曲的角度。 这个先用直接叉积判断弯曲方式,然后用馀弦定理计算角度就可以了。

从180减去这个角度就是弯曲的角度。

2 .叉积还有一个重要用途。 是为了求出面积。

叉积是用来求面积的。 要求的是有向面积。 也就是说有正负符号。

但是,如果取绝对值的话,就会变成真正的面积大小。

例如求出三角形ABC的面积,先计算外积cross(a,b,c ),

面积为Fabs(cross(a,b,c ) )/2.0

为什么呢?

通过查看外积的定义可以看出,a和b的外积类型如下。

|ab|=|a||b|sin(a,b )他的几何学意思是以a和b为邻边的平行四边形的面积。

判断三点p是否在三角形内。

如果在三角形内,则必须满足S.abc=S.abp S.acp S.bcp; 如果位于三角形之外,则表达式不成立。

4 .叉积可以判断两条直线是否相交。

对于给定的两条线段A1A2、B1B2,判断他们是否相交需要分为两个阶段

(1)快速拒绝实验

设以线段A1A2和线段B1B2为对角线的矩形为m、n;

如果m、n不相交,两条线段明显不相交;

判断矩形的交点时,判断某个矩形是否有顶点即可。

因此,只有在满足第一个条件时,两条直线才可能相交。

)2)水刺实验

如果两条线段相交,两条线段一定会相互跨越对方。 如果A1A2跨越B1B2,则向量(A1 - B1 )和(A2-B1 )位于向量(B2-B1 )的两侧。

即((A1-B1 ) ) A1-B1 ) ) A1-B1 ) ) A1-B1 ) ) A1-B1 ) ) 0。

上式可以改写为((A1-B1 ) ) A1-B1 ) ) ) A1-B1 ) ) 0。

(A1-B1 ) ) B2B1)=0时,A1B1和B2B1在同一直线上,但由于先通过了高速拒绝实验,所以A1一定在B1B2上,所以判断线段A1A2是否跨越立B1B2的依据如下

(A1-B1 ) ) (A1-B1 ) ) ) A1-B1 ) ) 0。

同样地,判断线段B1B2是否跨越A1A2的根据是((B1-A1 ) )-(B1-A1 ) ) (B1-a1 ) ) ) 0。

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