精华内容
下载资源
问答
  • 叉积

    2019-08-09 23:19:25
    叉积 图中两个向量p1,p2.两个向量a和b的叉积写作a×b(有时也被写成a∧b,避免和字母x混淆) 向量p1,p2的叉积为 我们把(0,0)点当做p0. 有了叉积的基础,我们在判断两条线段的关系p0p1,p1p2,就可以...

    叉积

    图中两个向量p1,p2.两个向量ab的叉积写作a×b(有时也被写成ab,避免和字母x混淆)

    向量p1,p2的叉积为

     我们把(0,0)点当做p0.

    有了叉积的基础,我们在判断两条线段的关系p0p1,p1p2,就可以直接添一条有向线段p0p2,再检查p0p1,p1p2和p0p2的时钟旋转关系。为了做到这一点,我们计算出叉积\left ( p_{1}-p_{0} \right )\wedge \left ( p_{1}-p_{0} \right ) = \left ( x_{1}-x_{0} \right )\left ( y_{2}-y_{0} \right )-\left ( x_{2}-x_{0} \right )\left ( y_{1}-y_{0} \right )

    给出向量的一些模板运算

    struct point{
    	double x,y;
    	point(){};
    	point(double x,double y) :x(x),y(y){};
    //	point(double x=0,double y=0): x(x),y(y){}
    	point operator - (const point &op2) const{
    		return point(x-op2.x,y-op2.y);
    	}
    	double operator ^ (const point &op2)const{  //叉积 
    		return x*op2.y - y*op2.x;
    	}
    }p[maxn];
    inline int sign(const double &x){  //判断符号 
    	if(x>epsi) return 1;
    	if(x < -epsi) return -1;
    	return 0;
    }
    inline double sqr(const double &x){
    	return x*x;
    }
    inline double mul(const point &p0,const point &p1,const point &p2){ //求 p0p1与p0p2的叉积 
    	return (p1-p0) ^ (p2-p0); 
    }
    inline double dis2(const point &p0,const point &p1){// |p0p1|的平方 
    	return	sqr(p0.x-p1.x)+sqr(p0.y-p1.y);
    }
    inline double dis(const point &p0,const point &p1){// |p0p1|
    	return sqrt(dis2(p0,p1));
    }

    叉积的应用:

    叉积求点在直线的一侧

    求多边形面积

    判断两直线相交

    //补

    展开全文
  • 关于叉积

    千次阅读 2019-05-11 10:02:41
    学过计算几何以后,我发现几乎每一道题都用到了叉积这个东西 叉积是什么呢 在这个图中(以原点为中心)叉积就是x1*y2-x2*y1 ( 记得话就记1221,x前y后) 但是这并不是完全正确 比如说这个图 在这个图中,...

    学过计算几何以后,我发现几乎每一道题都用到了叉积这个东西

    叉积是什么呢

    在这个图中(以原点为中心)叉积就是x1*y2-x2*y1

    ( 记得话就记1221,x前y后)

    但是这并不是完全正确

    比如说这个图

    在这个图中,点1和点2是以点0为中心,不是原点

    因此我们可以把点0当成原点

    x1 = p1.x-p0.x;
    y1 = p1.y-p0.y;
    x2 = p2.x-p0.x;
    y2 = p2.y-p0.y;

    (p1表示点1,p2表示点2,p0表示点0 )

    在此之后,我们又可以用原来x1*y2-x2*y1的公式来求叉积了

    所以叉积的代码是 

    int multi ( node p1 , node p2 , node p0 ) {
    	int x1 , y1 , x2 , y2 ;
    	x1 = p1.x-p0.x , y1 = p1.y-p0.y ;
    	x2 = p2.x-p0.x , y2 = p2.y-p0.y ;
    	return x1*y2 - x2*y1 ; 
    }

    注意一下double和int的类型

     

    第二个问题就是叉积怎么用

    当我一开始学习计算几何根本就不懂叉积的意思是什么

    我听老师说如果

    叉积>0 , 则以点0为中心点1逆时针转向点2

    叉积=0,则三点共线

    叉积<0 , 则以点0为中心点1顺时针转向点2

    终于理解了意思,但为什么是这样呢,我用各种方法都没有知道原因

    直到我做了一道题,就是求三角形的面积(边不一定与坐标轴平行)

    然后老师用了叉积除以2就可以得到面积

    起初我不信,然后就试了很多种情况,都证明这个结论是对的

    我研究了好一会儿,才理解了原理

    把刚才的那个图片拿出来

    我们给ta做一个辅助线

    变成这样

    据图得知

    AE = x1 , AB = CD = y1 , BC = AD = x2 , CF= y2

    DE = BC-AE = x2-x1 , DF = DC-FC = y1-y2

    呵呵,图片似乎有点丑

    S正方形ABCD = AB * BC = x2*y1

    S▲ABE = AE * AB / 2 = x1*y1/2

    S▲EDF = ED*DF/2 = (x2-x1)*(y1-y2)/2 = (x2*y1-x2*y2-x1*y1+x1*y2 ) / 2 

    S▲BCF = BC * CF / 2 = x2*y2/2

    所以

    S▲BEF = S正方形ABCD - S▲ABE - S▲EDF - S▲BCF

                    = x2*y1- ( x1*y1 +  x2*y1-x2*y2-x1*y1+x1*y2   +   x2*y2  ) / 2

                    = x2*y1 - ( x2*y1 + x1*y2 ) / 2

                    = - ( x1*y2 - x2*y1 ) / 2 

    记得前面有个负号

    补充一下

    对于钝角三角形,就连接连接钝角顶点和矩形的一个顶点,还是可以证明的

     

    这个面积不仅解释了叉积求面积的问题,也解释了前面的问题

    叉积>0 , 则以点0为中心点1逆时针转向点2

    叉积<0 , 则以点0为中心点1顺时针转向点2

    通过求面积,这两个理论也被很好的解释了

    但还有一个,就是三点共线的问题

    为什么三点共线的时候叉积就是0呢?

    这个要分两种情况讨论

    情况一 :点0不在中间

    我们可以考虑将点0假设成原点

    然后过点1和点2向x轴,y轴分别作垂线

    我们根据三角形全等和相似的结论可以求出

    x2 = tx1 , y2 = ty1

    叉积 = x1*y2-x2*y1 = x*ty - tx*y = txy-txy = 0 

    反过来亦是如此

     

     

    情况2 :点0在中间

    我们可以考虑先将点0变成原点

    那么我们可以考虑给点2做一个原点对称点点3

    点3就是 ( -x2 , -y2 ) , 也可以说点2是放过来的点3

    根据情况2得出的结论,点3也是tx1和ty1

    也就是说 -x2 = tx1 , -y2 = ty1

    叉积 = x1 * y2 - x2 * y1

             = - x1*(-y2) + ( -x2) * y1 

             = - x1 * ty1 + tx1 * y1

             = - t * x1 * y1 + t * x1 * y1

             = 0

    写了好久终于写完了!

    展开全文
  • 向量叉积

    2019-12-07 11:55:15
    叉积 叉积-百度百科 Python numpy.cross import numpy as np from numpy import cross a = np.array([1,2,0]) b = np.array([2,3,0]) cross_ab = cross(a,b) print(cross_ab) [ 0 0 -1]

    叉积

    叉积-百度百科

    Python

    numpy.cross

    import numpy as np
    from numpy import cross
    
    a = np.array([1,2,0])
    b = np.array([2,3,0])
    
    cross_ab = cross(a,b)
    print(cross_ab)
    
    [ 0  0 -1]
    
    展开全文
  • 08-1 叉积基本介绍【熟肉】线性代数的本质 - 08第一部分 - 叉积的标准介绍_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com叉积也可以从线性变换的角度来深刻理解。在这之前先讨论一下叉积的基本知识。二维...

    37eac8a407ec8b9450d5a09a60d6b44f.png

    08-1 叉积基本介绍

    【熟肉】线性代数的本质 - 08第一部分 - 叉积的标准介绍_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com
    f54fd875abd388e465fdbe227764a908.png

    叉积也可以从线性变换的角度来深刻理解。在这之前先讨论一下叉积的基本知识。二维空间两个向量vw,叉积v x w等于它们所围成的平行四边形的面积。请注意这种叉积计算是有正负的,代表取向。可以通过基向量ij的相对位置关系来进行记忆,i x j=+1。

    d685266ea4ba300dac71e8bfe3a26468.png

    平行四边形的面积可以通过行列式来进行计算。行列式代表着向量ij构成的单位面积,经过线性变换之后的缩放倍率,因此两个向量vw的坐标设定为行列式的列,计算行列式就得到这两个向量围成的平行四边形的面积。

    62525c18093f7c25bce7e8e14207c0cc.png

    叉积计算有一些性质:两个向量长度不变,互相垂直时所构成的平行四边形面积最大;其中一个向量放大3倍,所得平行四边形面积也同样放大3倍。

    前面是为了描述叉积所建立的基本概念,但实际上的叉积定义是从两个三维向量vw,生成一个新的三维向量p

    equation?tex=%5C%5B%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cvec+p%5C%5D
    p的长度就是两个向量vw构成的平行四边形的面积,其方向与平行四边形的面垂直,采用右手定则确定。

    aae39852c66f154f8186fa9bea4b6d2e.png

    例如向量

    equation?tex=%5C%5B%5Cvec+v+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+0%5C%5C+0%5C%5C+2+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D ,向量
    equation?tex=%5C%5B%5Cvec+w+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+0%5C%5C+2%5C%5C+0+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D ,则根据右手定则,其叉积指向x轴的负方向,可得
    equation?tex=%5C%5B%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B+-+4%7D%5C%5C+0%5C%5C+0+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D

    叉积计算公式:

    equation?tex=%5C%5B%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bv_1%7D%7D%5C%5C+%7B%7Bv_2%7D%7D%5C%5C+%7B%7Bv_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%5Ctimes+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bw_1%7D%7D%5C%5C+%7B%7Bw_2%7D%7D%5C%5C+%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bv_2%7D+%5Ccdot+%7Bw_3%7D+-+%7Bw_2%7D+%5Ccdot+%7Bv_3%7D%7D%5C%5C+%7B%7Bv_3%7D+%5Ccdot+%7Bw_1%7D+-+%7Bw_3%7D+%5Ccdot+%7Bv_1%7D%7D%5C%5C+%7B%7Bv_1%7D+%5Ccdot+%7Bw_2%7D+-+%7Bw_1%7D+%5Ccdot+%7Bv_2%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D

    但这种公式不如通过行列式的方法进行记忆:

    equation?tex=%5C%5B%5Cbegin%7Barray%7D%7Bl%7D+%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bv_1%7D%7D%5C%5C+%7B%7Bv_2%7D%7D%5C%5C+%7B%7Bv_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%5Ctimes+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bw_1%7D%7D%5C%5C+%7B%7Bw_2%7D%7D%5C%5C+%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%5Chat+i%7D%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+%7B%5Chat+j%7D%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+%7B%5Chat+k%7D%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5C++%3D+%5Chat+i%7B%5Crm%7B%28%7D%7D%7Bv_2%7D+%5Ccdot+%7Bw_3%7D+-+%7Bw_2%7D+%5Ccdot+%7Bv_3%7D%29+%2B+%5Chat+j%7B%5Crm%7B%28%7D%7D%7Bv_3%7D+%5Ccdot+%7Bw_1%7D+-+%7Bw_3%7D+%5Ccdot+%7Bv_1%7D%29+%2B+%5Chat+k%7B%5Crm%7B%28%7D%7D%7Bv_1%7D+%5Ccdot+%7Bw_2%7D+-+%7Bw_1%7D+%5Ccdot+%7Bv_2%7D%29+%5Cend%7Barray%7D%5C%5D

    需要注意一点,这里将向量写成了矩阵的列,在教科书里大多是写作向量的行,因为矩阵转置不改变行列式的值,所以不影响结果。写作列主要是为了更加直观。


    08-2 以线性变换的眼光看叉积

    【熟肉】线性代数的本质 - 08第二部分 - 以线性变换的眼光看叉积_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com
    83cae3ce175f21938983a2c9696bd678.png

    叉积有其计算公式,以及很多可以通过计算验证的性质:

    equation?tex=%5C%5B%5Cvec+v+%5Ccdot+%7B%5Crm%7B%28%7D%7D%5Cvec+v+%5Ctimes+%5Cvec+w%29+%3D+0%5C%5D

    equation?tex=%5C%5B%5Cvec+w+%5Ccdot+%7B%5Crm%7B%28%7D%7D%5Cvec+v+%5Ctimes+%5Cvec+w%29+%3D+0%5C%5D

    equation?tex=%5C%5B%5Ctheta++%3D+%7B%5Ccos+%5E%7B+-+1%7D%7D%7B%5Crm%7B%28%7D%7D%5Cvec+v+%5Ccdot+%5Cvec+w%2F%5Cleft%5C%7C+%7B%5Cvec+v%7D+%5Cright%5C%7C+%5Ccdot+%5Cleft%5C%7C+%7B%5Cvec+w%7D+%5Cright%5C%7C%29%5C%5D

    equation?tex=%5C%5B%5Cleft%5C%7C+%7B%5Cvec+v+%5Ctimes+%5Cvec+w%7D+%5Cright%5C%7C+%3D+%7B%5Crm%7B%28%7D%7D%5Cleft%5C%7C+%7B%5Cvec+v%7D+%5Cright%5C%7C%29%7B%5Crm%7B%28%7D%7D%5Cleft%5C%7C+%7B%5Cvec+w%7D+%5Cright%5C%7C%29%5Csin+%5Ctheta+%5C%5D

    但为了深入概念,我们试着从几何的方面来理解它。

    多维空间通过线性变换变为一维空间的时候。该变换与沿一维空间方向的唯一的向量对应。也就是说实施这个线性变换,和与这个向量点乘是等价的。这个向量就被称为这个线性变换的对偶向量。

    现在就是根据向量vw,定义一个从三维到一维的线性变换,将这个变换与三维空间中的对偶向量关联,这个对偶向量就是向量vw的叉积。理解这个线性变换,就可以理解叉积计算的几何意义。

    如果从二维空间中叉积的计算进行推导,那么三维空间中应该涉及到三个向量uvw,并且他们叉积的值,就是三个向量坐标的行列式。而从几何上讲,这个行列式给出的是三个向量张成的平行六面体的体积。

    这个想法已经很接近于真实的叉积了。如果将第一个向量u看作可变的向量

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D 。我们就有一个从三维空间到数轴的函数:
    equation?tex=%5C%5Bf%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%29+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+y%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+z%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5D

    输入一个向量

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D,然后通过矩阵行列式得到一个数值。这个函数的意义就是对任意的向量,求得它和
    v以及w所确定的平行六面体的有向体积。该函数为线性函数,可以根据行列式的性质来证明这一点。而对一个线性的函数,可以通过矩阵乘法来描述这个函数。而因为这是一个从三维空间到一维空间的变换,所以存在一个1×3矩阵来表示这一变换,
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%3F%26%3F%26%3F+%5Cend%7Barray%7D%7D+%5Cright%5D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+y%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+z%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5D

    从对偶性的角度而言,要寻找的就是一个特殊的对偶向量p,它与任意向量

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D的点积,就可以实现该向量到一维空间的变换。即点积等于3×3矩阵的行列式,
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bp_1%7D%7D%5C%5C+%7B%7Bp_2%7D%7D%5C%5C+%7B%7Bp_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%5Ccdot+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+y%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+z%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5D

    两面展开得到计算结果

    equation?tex=%5C%5B%7Bp_1%7D+%5Ccdot+x+%2B+%7Bp_2%7D+%5Ccdot+y+%2B+%7Bp_3%7D+%5Ccdot+z+%3D+%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7Bx%7B%5Crm%7B%28%7D%7D%7Bv_2%7D+%5Ccdot+%7Bw_3%7D+-+%7Bw_2%7D+%5Ccdot+%7Bv_3%7D%29+%2B+%7D%5C%5C+%7By%7B%5Crm%7B%28%7D%7D%7Bv_3%7D+%5Ccdot+%7Bw_1%7D+-+%7Bw_3%7D+%5Ccdot+%7Bv_1%7D%29+%2B+%7D%5C%5C+%7Bz%7B%5Crm%7B%28%7D%7D%7Bv_1%7D+%5Ccdot+%7Bw_2%7D+-+%7Bw_1%7D+%5Ccdot+%7Bv_2%7D%29%7D+%5Cend%7Barray%7D%5C%5D

    从而可得:

    equation?tex=%5C%5B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bp_1%7D+%3D+%7Bv_2%7D+%5Ccdot+%7Bw_3%7D+-+%7Bw_2%7D+%5Ccdot+%7Bv_3%7D%7D%5C%5C+%7B%7Bp_2%7D+%3D+%7Bv_3%7D+%5Ccdot+%7Bw_1%7D+-+%7Bw_3%7D+%5Ccdot+%7Bv_1%7D%7D%5C%5C+%7B%7Bp_3%7D+%3D+%7Bv_1%7D+%5Ccdot+%7Bw_2%7D+-+%7Bw_1%7D+%5Ccdot+%7Bv_2%7D%7D+%5Cend%7Barray%7D%5C%5D

    与叉积的计算公式对比,发现公式只是引入ijk,与相应的系数配合,从而得到这个向量。

    equation?tex=%5C%5B%5Cbegin%7Barray%7D%7Bl%7D+%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bv_1%7D%7D%5C%5C+%7B%7Bv_2%7D%7D%5C%5C+%7B%7Bv_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%5Ctimes+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bw_1%7D%7D%5C%5C+%7B%7Bw_2%7D%7D%5C%5C+%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%5Chat+i%7D%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+%7B%5Chat+j%7D%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+%7B%5Chat+k%7D%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5C++%3D+%5Chat+i%7B%5Crm%7B%28%7D%7D%7Bv_2%7D+%5Ccdot+%7Bw_3%7D+-+%7Bw_2%7D+%5Ccdot+%7Bv_3%7D%29+%2B+%5Chat+j%7B%5Crm%7B%28%7D%7D%7Bv_3%7D+%5Ccdot+%7Bw_1%7D+-+%7Bw_3%7D+%5Ccdot+%7Bv_1%7D%29+%2B+%5Chat+k%7B%5Crm%7B%28%7D%7D%7Bv_1%7D+%5Ccdot+%7Bw_2%7D+-+%7Bw_1%7D+%5Ccdot+%7Bv_2%7D%29+%5Cend%7Barray%7D%5C%5D

    从几何进行理解,一个向量p

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D点乘的结果,等于
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D、向量
    v向量w所确定的平行六面体的有向体积。什么样的向量p才能满足这样的特殊性质?

    5511d211322a25b7a4113d44f8952741.png

    回想如何计算平行六面体的体积:首先获得向量vw所确定的平行四边形的面积,然后该面积乘以向量

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D在垂直于平行四边形方向上的分量(底面积乘以高)。

    而向量p与任意向量

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D点积的几何解释,是将
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D投影在
    p上,然后将投影长度与p的长度相乘。

    37f19c7f0dafe02deabaab1b539e4359.png

    如果p垂直于vw,且长度为平行四边形面积,则p

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D的点积就是,将
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D投影在垂直于
    vw的方向上,投影长度与平行四边形面积相乘,所得结果恰为平行六面体的体积。如果选择了合适的向量方向,则点积为正的情况,就会与
    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D%5C%5D、向量
    v和向量w满足右手定则的情况相同。

    于是我们找到了向量p,满足

    equation?tex=%5C%5B%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%7Bp_1%7D%7D%5C%5C+%7B%7Bp_2%7D%7D%5C%5C+%7B%7Bp_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D+%5Ccdot+%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%5C%5C+y%5C%5C+z+%5Cend%7Barray%7D%7D+%5Cright%5D+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+x%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+y%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+z%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5D 。从几何上讲,这个向量与向量
    vw垂直,并且其长度与这两个向量张成的平行四边形面积相同。而从计算的角度,它的坐标系数符合
    equation?tex=%5C%5B%5Cvec+v+%5Ctimes+%5Cvec+w+%3D+%5Cdet+%7B%5Crm%7B%28%7D%7D%5Cleft%5B+%7B%5Cbegin%7Barray%7D%7B%2A%7B20%7D%7Bc%7D%7D+%7B%5Chat+i%7D%26%7B%7Bv_1%7D%7D%26%7B%7Bw_1%7D%7D%5C%5C+%7B%5Chat+j%7D%26%7B%7Bv_2%7D%7D%26%7B%7Bw_2%7D%7D%5C%5C+%7B%5Chat+k%7D%26%7B%7Bv_3%7D%7D%26%7B%7Bw_3%7D%7D+%5Cend%7Barray%7D%7D+%5Cright%5D%29%5C%5D 。两者是同一个向量。
    展开全文
  • 向量的叉积

    2019-09-19 11:41:08
    叉积的计算结果仍然为一个向量 叉积只能计算3d向量,2d向量没有叉积,通过对两个3d向量计算叉积,结果第三个向量同事垂直于计算向量 叉积计算方式 a=(ax,ay,az); b=(bx,by,bz) a X b =(aybz-azby,azbx-axbz,axby-ay...
  • 向量叉积与向量叉积的模的运算

    千次阅读 2020-10-09 10:11:03
    一:向量叉积 设两个点P(x1,y1,z1),Q(x2,y2,z2) 叉积PxQ=(y1z2-y2z1,x2z1-x1z2,x1y2-x2y1) 代码实现(vb.net封成一个函数): Private Function Cross(ByVal Mat4() As Double, ByVal Mat5() As Double) Dim...
  • 计算叉积

    2017-04-03 21:54:19
    struct point//点的定义 { double x; double y; }; struct V//向量的定义 { point sstart; point eend;...double Cross(V*v1,V *v2)//叉积 { V vt1,vt2; double result=0; vt1.sstart.x=0; vt
  • 08-1 叉积基本介绍【熟肉】线性代数的本质 - 08第一部分 - 叉积的标准介绍_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com叉积也可以从线性变换的角度来深刻理解。在这之前先讨论一下叉积的基本知识。二维...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,768
精华内容 1,507
关键字:

叉积