zoukankan      html  css  js  c++  java
  • 【转】叉积的应用

    转自:http://blog.csdn.net/y990041769/article/details/38258761

    首先在二维坐标下介绍一些定义:

    点:A(x1,y1),B(x2,y2)

    向量:向量AB=( x2 - x1 , y2 - y1 )= ( x ,  y );

    向量的模 |AB| = sqrt ( x*x+y*y );

    向量的点积:[转载]向量叉积 结果为 x1*x2 + y1*y2。

    点积的结果是一个数值。

    点积的集合意义:我们以向量 a 向向量 b 做垂线,则 | a | * cos(a,b)为 a 在向量 b 上的投影,即点积是一个向量在另一个向量上的投影乘以另一个向量。且满足交换律

    应用:可以根据集合意义求两向量的夹角,cos(a,b) =( 向量a * 向量b ) / (| a | * | b |) =  x1*x2 + y1*y2 / (| a | * | b |)

    向量的叉积:[转载]向量叉积 结果为 x1*y2-x2*y1

    叉积的结果也是一个向量,是垂直于向量a,b所形成的平面,如果看成三维坐标的话是在 z 轴上,上面结果是它的模。

    方向判定:右手定则,(右手半握,大拇指垂直向上,四指右向量a握向b,大拇指的方向就是叉积的方向)

    叉积的集合意义:1:其结果是a和b为相邻边形成平行四边形的面积。

    2:结果有正有负,有sin(a,b)可知和其夹角有关,夹角大于180°为负值。

    3:叉积不满足交换律

    应用:

    1:通过结果的正负判断两矢量之间的顺逆时针关系

    若 a x b > 0表示a在b的顺时针方向上

    若 a x b < 0表示a在b的逆时针方向上

    若 a x b == 0表示a在b共线,但不确定方向是否相同

    2:判断折线拐向,可转化为判断第三点在前两的形成直线的顺逆时针方向,然后判断拐向。

    3:判断一个点在一条直线的那一侧,同样上面的方法。

    4:判断点是否在线段上,可利用叉乘首先判断是否共线,然后在判断是否在其上。

    5:判断两条直线是否想交(跨立实验)

    根据判断点在直线那一侧我们可以判断一个线段的上的两点分别在另一个线段的两侧,当然这是不够的,因为我们画图发现这样只能够让直线想交,而不是线段,所以我们还要对另一条线段也进行相同的判断就ok。

  • 相关阅读:
    压缩感知的由来
    VS2010自动崩溃问题
    随机过程好书推荐
    Kernel PCA
    稀疏性与L1范数
    豆瓣关于计算机视觉的书评及介绍
    压缩感知测量矩阵的研究现状(转)
    信号的功率谱、能量谱、频谱的区别(转)
    vc++ & matlab 换行符号
    arg min 的含义
  • 原文地址:https://www.cnblogs.com/alan-W/p/6030106.html
Copyright © 2011-2022 走看看