-
2020-12-23 14:11:28
到了讨论向量叉积时,对右手法则咋用还不清楚,确实有点着急。
向量a与b叉积,得到的新向量c=axb,这个c的方向是与a,b同时垂直的。与a,b同时垂直是啥意思?就是c与a,b所在的平面垂直。比如,你在桌上铺一张纸,上面画了a,b(两者从同一点出发,指向不同方向),c与a,b垂直,在直观上就是与这张纸面垂直了(因为a,b都在这个平铺的纸面上)。但与纸面垂直有两个相反的方向,一个由纸面往上(假设为正面),一个由纸面往下(假设为反面)。那么,c=axb时,究竟c往上还是往下?这个就可以用右手法则来判断了。咋做?
你伸开手掌✋,然后,小拇指外侧(手掌外侧)按到a上,方向与a同向。拇指这时是朝上的。如果在手掌这样放的时候,b在手掌掌心一侧(意味着这时a若逆时针转动到b,其间的夹角<180°),这时,拇指的方向就是c的方向(朝上);如果b这时处在掌背一侧,那么,你需要把手掌倒放过来,拇指朝下,食指(和其它三指一起)还是与a同向,你可以看到,b又处于掌心一侧了。但这是拇指是向下的,这就是c的方向。
总结一下右手法则的用法:
1.a与b叉积,新的向量c总是与a,b所在的平面垂直的。对于这个平面,以及与之垂直的线(c在这根线里)所在的位置,没有右手法则也可以确定。
2.我们知道a与b叉积得到的向量c在a,b所在的平面的垂直线里,但是,它究竟是指向上的,还是指向下的,单单看这个平面,我们是不知道的。怎么定c的朝向呢?这就要看a与b的相对位置了。怎么
更多相关内容 -
【转载】向量叉乘求三维空间中两直线(或线段)的交点
2020-08-31 15:23:10作者:xdedzl 原文地址 1. 2D空间的直线相交 在二维空间中,利用两个...三维空间中,两个向量叉乘得到的是一个垂直于两向量组成的平面的向量,方向可利用右手螺旋法则获取,这一点百度谷歌一搜一大把,不细说..作者:xdedzl
以下是原文,我把格式整理一下,方便大家理解阅读
1. 2D空间的直线相交
在二维空间中,利用两个直线方程
我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以的到一个比例值,这个值的大小还可以判断四个点所得到的两个线段是延长线相交还是线段相交。
2. 向量叉乘
三维空间中,两个向量叉乘得到的是一个垂直于两向量组成的平面的向量,方向可利用右手螺旋法则获取,这一点百度谷歌一搜一大把,不细说了大小可由下面的公式得到,注意和点乘的区别。
向量叉乘的几何意义是得到一个三角形的有向面积,如下图所示,向量
和
叉乘的到的向量大小的二分之一就等于三角形
的面积
有了以上基础,我们就可以开始计算三维空间中的直线交点了
3. 三维空间中的两直线交点
下图 CE 和 AB 是平行线且长度相等。
首先确定两条直线是否平行,利用向量点乘结果是否等于 0 来判断,等于 0 垂直,等于 1 则平行。
接着我们需要确定两条直线在一个平面内,否则无论如何也无法相交,这个用向量叉乘来判断,即判断
和
叉乘得到的向量是否垂直于
。
然后明确一个目标,在四个点 ABCD 已知的情况下,求交点 O 我们只需要知道
就可以了。通过观察发现,
的面积比
的面积等于线段 AO 和 AB 的比值,我们来证明一下,步骤很简单。
证明 :
和
相似
;
CE = AB 所以等式成立。问题转化成要计算两个三角形的面积,那么我们只需要
,
和
就可以了,开始写代码
4.代码实现
利用叉乘求交点少了很多 if / else 的判断,并且可以做到二维和三维的通用,传递参数的时候只要将所有点和向量 y 轴的值设为 0 就可以当作二维来使用了。
利用代码中得到的比例值 num2 的大小还可以判断是延长线相交还是线段相交
注意下述方法所传入的参数是两个点和两个方向,可以改写成传入四个点。
/// <summary> /// 判断线与线之间的相交 /// </summary> /// <param name="intersection">交点</param> /// <param name="p1">直线1上一点</param> /// <param name="v1">直线1方向</param> /// <param name="p2">直线2上一点</param> /// <param name="v2">直线2方向</param> /// <returns>是否相交</returns> public static bool LineLineIntersection(out Vector3 intersection, Vector3 p1, Vector3 v1, Vector3 p2, Vector3 v2) { intersection = Vector3.zero; if (Vector3.Dot(v1, v2) == 1) { // 两线平行 return false; } Vector3 startPointSeg = p2 - p1; Vector3 vecS1 = Vector3.Cross(v1, v2); // 有向面积1 Vector3 vecS2 = Vector3.Cross(startPointSeg, v2); // 有向面积2 float num = Vector3.Dot(startPointSeg, vecS1); // 打开可以在场景中观察向量 //Debug.DrawLine(p1, p1 + v1, Color.white, 20000); //Debug.DrawLine(p2, p2 + v2, Color.black, 20000); //Debug.DrawLine(p1, p1 + startPointSeg, Color.red, 20000); //Debug.DrawLine(p1, p1 + vecS1, Color.blue, 20000); //Debug.DrawLine(p1, p1 + vecS2, Color.yellow, 20000); // 判断两这直线是否共面 if (num >= 1E-05f || num <= -1E-05f) { return false; } // 有向面积比值,利用点乘是因为结果可能是正数或者负数 float num2 = Vector3.Dot(vecS2, vecS1) / vecS1.sqrMagnitude; intersection = p1 + v1 * num2; return true; }
根据原作者的实现, 0<= num2<=1时,交点在线段上; 否则,在延长线上
-
向量叉乘的线性性质 几何解释
2019-12-22 11:21:49叉乘(向量的外积)是物理里面常常用到的概念, 它是由两个向量得到一个新的向量的运算。一般我们都是从几何意义下手: 向量\(\vec a\)和\(\vec b\)叉乘, 得到一个垂直于\(\vec a\)和\(\vec b\)的向量\(\vec a \time...本文转载自: http://www.cnblogs.com/zzdyyy/p/7643267.html 作者:zzdyyy 转载请注明该声明。
叉乘(向量的外积)是物理里面常常用到的概念, 它是由两个向量得到一个新的向量的运算。一般我们都是从几何意义下手: 向量\(\vec a\)和\(\vec b\)叉乘, 得到一个垂直于\(\vec a\)和\(\vec b\)的向量\(\vec a \times \vec b\), 它的方向由右手螺旋法则确定, 它的长度是\(\vec a\)和\(\vec b\)张开的平行四边形的面积:
\[| \vec a \times \vec b | = |\vec a| \cdot |\vec b| \cdot \sin \theta\]
其中\(\theta\)是\(\vec a\)和\(\vec b\)的夹角.叉乘满足的基本的性质如下:
- \(\vec a \times \vec a = \vec0\), 因为夹角是0, 所以平行四边形面积也是0, 即叉积长度为0
- \(\vec a \times \vec b = - (\vec b \times \vec a)\), 等式两边的叉积等大反向, 模长因为平行四边形不变而相同, 方向因为右手法则旋转方向相反而相反
- \((\lambda \vec a)\times b = \lambda (\vec a \times \vec b)\), 这点比较好想, 因为: ①正数\(\lambda\)数量乘不会影响\(\vec a\)的方向, 所以左右的叉积方向一样; 负数\(\lambda\)使得\(\vec a\)反向了, 但也使得左右叉积方向相反. ②对\(\vec a\)进行缩放, 平行四边形面积也同等缩放.
- \((\vec a+\vec b) \times \vec c = \vec a \times \vec c + \vec b \times \vec c\), 这种分配率是以前最难想象的了.
上述3. 4.两点结合起来, 说明叉乘具有一种线性性质, 再结合2.就是双线性了(同时对左右具有线性性质). 一直以来我都想找到性质4. 的一种几何证明, 可它就像一个过不去的坎, 挡住了我追求完美的心.
每次想到性质4., 都会去想象空间中一点出发的三个随机向量, 然后又叉乘出两个新向量, 一共5个向量, 甚至画图都很难. 这个问题一直持续了很久, 后来某天突然想到, 可以固定一个向量, 剩余的工作在二维投影面完成啊~
结论4的证明
这里证明4.的等价结论: \(\vec a \times (\vec b + \vec c) = \vec a \times \vec b + \vec a \times \vec c\). 如下图所示, 把向量\(\vec b\)和\(\vec c\)按照向量\(\vec a\)的负方向, 投影到与\(\vec a\)垂直的平面S.
这里先要说明, 向量\(\vec a\)和\(\vec b\)的叉乘, 等于和\(\vec b\)的投影\(\vec b \,'\)的叉乘:
\[ \vec a \times \vec b = \vec a \times \vec b \, ' \]
这个结论很好想象, 这种投影其实是把\(\vec b\)掰成与\(\vec a\)垂直的等价部分: 叉乘方向不会变, 并且平行四边形面积不变(底乘高,高没变).那么这就好说了, 直接在投影面分析:
- \(\vec a \times \vec b\)就是\(\vec b \,'\)逆时针旋转90度, 并且伸缩\(|\vec a|\)(蓝色的向量)
- \(\vec a \times \vec c\)就是\(\vec c\,'\)逆时针旋转90度, 并且伸缩\(|\vec a|\)(绿色的向量)
- \(\vec a \times (\vec b +\vec c)\)就是\(\vec b\,'+\vec c\,'\)逆时针旋转90度, 并且伸缩\(|\vec a|\)(红色的向量)
换句话说, 两个平行四边形是相似的. 在左边那个平行四边形里, 我们得到了结论
\[ \vec a \times (\vec b + \vec c) = \vec a \times \vec b + \vec a \times \vec b. \]几何证明以后...
所有性质得到几何理解以后, 就感觉整个理论都通畅很多呢...
比如就可以分析, 解析几何下怎么计算叉乘:
\[ {\begin{aligned}\mathbf {u} \times \mathbf {v} ={}&(u_{1}\mathbf {i} +u_{2}\mathbf {j} +u_{3}\mathbf {k} )\times (v_{1}\mathbf {i} +v_{2}\mathbf {j} +v_{3}\mathbf {k} )\\={}&u_{1}v_{1}(\mathbf {i} \times \mathbf {i} )+u_{1}v_{2}(\mathbf {i} \times \mathbf {j} )+u_{1}v_{3}(\mathbf {i} \times \mathbf {k} )+{}\\&u_{2}v_{1}(\mathbf {j} \times \mathbf {i} )+u_{2}v_{2}(\mathbf {j} \times \mathbf {j} )+u_{2}v_{3}(\mathbf {j} \times \mathbf {k} )+{}\\&u_{3}v_{1}(\mathbf {k} \times \mathbf {i} )+u_{3}v_{2}(\mathbf {k} \times \mathbf {j} )+u_{3}v_{3}(\mathbf {k} \times \mathbf {k} )\\\end{aligned}} \]
就是说, 利用前面的分配率, 我们就能够将坐标形式的叉乘归结为基底的叉乘! 对于基底, 我们按照最开始的叉乘定义可以求出他们的值(右手坐标系下):
\[ \mathbf {i} \times \mathbf {i} =\mathbf {j} \times \mathbf {j} =\mathbf {k} \times \mathbf {k} =\mathbf {0} \]
\[ \left\{ {\displaystyle {\begin{aligned}\mathbf {i} \times \mathbf {j} &=\mathbf {k} \\\mathbf {j} \times \mathbf {k} &=\mathbf {i} \\\mathbf {k} \times \mathbf {i} &=\mathbf {j} \end{aligned}}} \right. \quad\quad \left\{ {\displaystyle {\begin{aligned}\mathbf {j\times i} &=-\mathbf {k} \\\mathbf {k\times j} &=-\mathbf {i} \\\mathbf {i\times k} &=-\mathbf {j} \end{aligned}}} \right. \]
最后就是熟悉的形式:
\[ {\displaystyle {\begin{aligned} \mathbf {u\times v} &=(u_{2}v_{3}-u_{3}v_{2})\mathbf {i} +(u_{3}v_{1}-u_{1}v_{3})\mathbf {j} +(u_{1}v_{2}-u_{2}v_{1})\mathbf {k} \\ &={\begin{vmatrix}u_{2}&u_{3}\\v_{2}&v_{3}\end{vmatrix}}\mathbf {i} -{\begin{vmatrix}u_{1}&u_{3}\\v_{1}&v_{3}\end{vmatrix}}\mathbf {j} +{\begin{vmatrix}u_{1}&u_{2}\\v_{1}&v_{2}\end{vmatrix}}\mathbf {k} \\ &={\begin{vmatrix}\mathbf {i} &\mathbf {j} &\mathbf {k} \\u_{1}&u_{2}&u_{3}\\v_{1}&v_{2}&v_{3}\\\end{vmatrix}} \end{aligned}}} \]这里再放一张维基百科的图:
维基百科里还有更多性质的介绍和证明:
-
向量叉乘求三维空间中两直线(或线段)的交点
2019-01-11 20:58:44在二维空间中,利用两个直线方程y = kx + b我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以的到一个...1.2D空间的直线相交
在二维空间中,利用两个直线方程y = kx + b我们可以直接计算出交点,但是这种方法麻烦了些,并且套用到三维空间用公式就更麻烦了,接下来介绍的是如何利用向量叉乘求出直线交点。并且由于利用叉乘最后可以的到一个比例值,这个值的大小还可以判断四个点所得到的两个线段是延长线相交还是线段相交。
2.向量叉乘
三维空间中,两个向量叉乘得到的是一个垂直于两向量组成的平面的向量,方向可利用右手螺旋法则获取,这一点百度谷歌一搜一大把,不细说了大小可由下面的公式得到,注意和点乘的区别。
向量叉乘的几何意义是得到一个三角形的有向面积,如下图所示,向量OA和OB叉乘的到的向量大小的二分之一就等于三角形OAB的面积
有了以上基础,我们就可以开始计算三维空间中的直线交点了
3.三维空间中的两直线交点
下图CE和AB是平行线且长度相等。
首先确定两条直线是否平行,利用向量点乘结果是否等于0来判断,等于0垂直,等于1则平行。
接着我们需要确定两条直线在一个平面内,否则无论如何也无法相交,这个用向量叉乘来判断,即判断向量CA和向量AB叉乘得到的向量是否垂直于向量CD。
然后明确一个目标,在四个点ABCD已知的情况下,求交点O我们只需要知道CO/CD就可以了。通过观察发现,三角形ACD的面积比三角形CDE的面积等于线段CO和CD的比值,我们来证明一下,步骤很简单。
证明 :S三角形ACD/S三角形CDE = AO比AB
三角形AFO和三角形EGC相似
AF / EG = AO/CE;
CE = AB 所以等式成立问题转化成要计算两个三角形的面积,那么我们只需要 向量AB,CD和CA就可以了,开始写代码
3.代码实现
利用叉乘求交点少了很多if else的判断,并且可以做到二维和三维的通用,传递参数的时候只要将所有点和向量y轴的值设为0就可以当作二维来使用了。
利用代码中得到的比例值num2的大小还可以判断是延长线相交还是线段相交
注意下述方法所传入的参数是两个点和两个方向,可以改写成传入四个点。
/// <summary> /// 判断线与线之间的相交 /// </summary> /// <param name="intersection">交点</param> /// <param name="p1">直线1上一点</param> /// <param name="v1">直线1方向</param> /// <param name="p2">直线2上一点</param> /// <param name="v2">直线2方向</param> /// <returns>是否相交</returns> public static bool LineLineIntersection(out Vector3 intersection, Vector3 p1, Vector3 v1, Vector3 p2, Vector3 v2) { intersection = Vector3.zero; if (Vector3.Dot(v1, v2) == 1) { // 两线平行 return false; } Vector3 startPointSeg = p2 - p1; Vector3 vecS1 = Vector3.Cross(v1, v2); // 有向面积1 Vector3 vecS2 = Vector3.Cross(startPointSeg, v2); // 有向面积2 float num = Vector3.Dot(startPointSeg, vecS1); // 打开可以在场景中观察向量 //Debug.DrawLine(p1, p1 + v1, Color.white, 20000); //Debug.DrawLine(p2, p2 + v2, Color.black, 20000); //Debug.DrawLine(p1, p1 + startPointSeg, Color.red, 20000); //Debug.DrawLine(p1, p1 + vecS1, Color.blue, 20000); //Debug.DrawLine(p1, p1 + vecS2, Color.yellow, 20000); // 判断两这直线是否共面 if (num >= 1E-05f || num <= -1E-05f) { return false; } // 有向面积比值,利用点乘是因为结果可能是正数或者负数 float num2 = Vector3.Dot(vecS2, vecS1) / vecS1.sqrMagnitude; intersection = p1 + v1 * num2; return true; }
-
向量叉乘求三维空间中两直线的交点
2021-03-25 15:56:541.2D空间的直线相交 在二维空间中,利用两个直线方程y = kx + ...三维空间中,两个向量叉乘得到的是一个垂直于两向量组成的平面的向量,方向可利用右手螺旋法则获取,这一点百度谷歌一搜一大把,不细说了大小可由下... -
向量叉乘
2017-04-19 15:00:02向量叉乘公式以及推导: 向量叉乘几何意义: -
向量叉乘判断点的位置
2018-07-04 13:34:08note:用到叉乘的知识,两个向量的叉乘得到一个垂直于这两个向量的向量,如果这两个向量不共线的话。否则,得到的是0。结果向量的方向可以用右手定则判断。如图所示,线段AB和点P印象里,只学过三维向量的叉乘,将... -
判断两条线段是否相交(向量叉乘)
2019-08-10 22:37:47网上很多讲这个问题都不完整,仅仅是叉积一下,并未考虑平行共线等情况,这篇文章讲的很细致,所以我转载过来了 问题:给出两条线段,问两线段是否相交?...首先我们要明白一个定理:向量a×向量b(×为向量叉乘... -
向量叉乘 - 判断两条线段是否相交
2020-01-19 10:59:58首先我们要明白一个定理:向量a×向量b(×为向量叉乘),若结果小于0,表示向量b在向量a的顺时针方向;若结果大于0,表示向量b在向量a的逆时针方向;若等于0,表示向量a与向量b平行。(顺逆时针是指两向量平移至... -
js前端可视化 | 向量叉乘
2021-08-24 07:41:09一、向量叉乘的几何意义 二、法向量的叉乘公式 -
利用python计算两个平面相交直线的方向向量
2022-01-21 19:24:09利用两平面的法向量做”叉乘“运算获得两平面交线的方向向量。 -
【转载】判断两条线段是否相交——(向量叉乘)
2020-12-01 14:11:14首先我们要明白一个定理:向量a×向量b(×为向量叉乘),若结果小于0,表示向量b在向量a的顺时针方向;若结果大于0,表示向量b在向量a的逆时针方向;若等于0,表示向量a与向量b平行。(顺逆时针是指两向量平移至... -
向量点乘与叉乘
2019-02-25 14:06:01向量点乘与叉乘 向量(Vector) 在几乎所有的几何问题中,向量(有时也称矢量)是一个基本点。向量的定义包含方向和一个数(长度)。在二维空间中,一个向量可以用一对x和y来表示。例如由点(1,3)到(5,1的向量... -
利用二维向量的叉乘判断凹凸多边形
2021-07-26 14:54:29两个二维向量叉乘结果:x1y2-x2y1 三个二维向量叉乘结果:x1y2+x2y3+x3y1-x2y1-x3y2-x1y3 如果s>0 则说明 这连接这3个点时是按照逆时针的顺序, 如果是s<0则说明连接这3个点是按照顺时针的顺序 这样的话按顺序... -
计算几何基础知识 叉乘、点乘、点到直线距离、叉积方向法等
2020-11-10 11:25:261、判断一个点在一条直线的左侧还是右侧 叉乘方向法 向量的叉积,p1,p2,p3三个点,判断p3在p1p2向量的左边还是右边,左右跟向量的方向有关,如果是p1p2的方向,那么就是对|p1,p2,p3|进行叉积计算,根据右手法则,... -
判断两条线段是否相交—(向量叉乘)
2020-12-08 08:43:23向量叉乘(行列式计算):向量a(x1,y1),向量b(x2,y2):首先我们要明白一个定理:向量a×向量b(×为向量叉乘),若结果小于0,表示向量b在向量a的顺时针方向;若结果大于0,表示向量b在向量a的逆时针方向;若等于0,... -
2014软专高级程序语言T2(用向量叉乘判断点与三角形的位置关系)
2021-12-08 20:16:01对于某一点P,求出三个向量PA,PB,PC, 然后计算以下三个叉乘(^表示叉乘符号): t1 = PA^PB, t2 = PB^PC, t3 = PC^PA, 如果t1,t2,t3同号(同正或同负),那么P在三角形内部,否则在外部。 (更多在代码后) ... -
【十天自制软渲染器】DAY 03:画一个三角形(向量叉乘算法 & 重心坐标算法)
2021-02-02 14:45:41前面两天画了点和线,今天我们来画一个最简单也是最强大的面——三角形。 本文主要讲解三角形绘制算法的推导和思路(只涉及到一点点的向量知识),最后会给出代码实现,大家放心的看下去就好。 本文源码 ????:... -
3维向量的点乘叉乘运算
2020-11-04 20:30:36文章目录3维向量的点乘叉乘运算三维向量的点乘三维向量的叉乘点到直线的距离点到平面的距离 三维向量的点乘 点乘得到的是对应元素乘积的和,是一个标量,没有方向 V1( x1, y1, z1)·V2(x2, y2, z2) = x1x2 + y1y2 + ... -
向量的点乘和叉乘的区别,举个例子,谢谢!
2020-12-20 09:05:23一、运算结果不同:叉乘运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量和垂直。点乘,也叫数量积。结果是一个向量在另一个向量方向上投影的长度,是一个标量。二、应用不同:1、点乘:平面向量... -
向量的叉乘 - 点到 直线距离 运用(lua代码)
2016-07-10 23:19:34点到直线距离 -
HDU-2108-Shape of HDU(Java+向量叉乘的简单应用)
2015-03-10 23:57:11* 向量叉积:两个向量的叉积是向量,它们的绝对值相当于两个向量构成平行四边形的面积,A向量*B向量=A*B*sina; * 相当于三角形的2倍,然后我们可以利用三角形的面积的正负来判断是否是凸边形.因为如果是凹边形,a>90... -
点与直线位置关系,叉乘
2019-09-17 20:50:34向量的叉积的模表示这两个向量围成的平行四边形的面积。 设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P×Q = x1y2 - x2y1,其结果是一个... -
视觉SLAM小知识——叉乘的物理意义
2019-04-24 20:20:41向量n是叉乘方向的单位向量,角度为向量a,b的夹角。 当夹角为0时,叉乘为0. 当两向量垂直: 证明: 设两条平行线ax+by+c=0,和ax+by+d=0,分别用向量l,m表示: 同样的,两点的叉乘可以表示过两点的直线 ... -
计算机图形常用数学之向量运算 向量的模 向量的点乘内积 向量的叉乘外积 向量的模向量的加减法 向量归一化
2019-09-06 16:03:51定义:两个向量a与b的内积为 a·b = |a||b|cos∠(a, b),0·a =a·0 = 0;若a,b是非零向量,则a与b向量正交的充要条件是a·b = 0。 向量内积的性质: a^2 ≥ 0;当a^2 = 0时,必有a = 0. (正定性) a·b = b·a. ... -
向量的点乘与叉乘学习笔记
2019-06-25 13:11:00原文 这里简单做些关于二维向量的笔记 点乘 $V_1(x_1,y_1) V_2(x_2,y_2) = x_1*x_2+y_1*y_2$ ...如果点乘出的点积是0的话表示向量垂直,点积在两向量平行时得到最大值 叉乘(重头戏来了) $V_1(x_1... -
数学空间向量--两条异面直线距离,以及相交并垂直与两条直线的直线。
2022-04-11 16:20:351.两条异面直线的距离 (1)第一步先在两条直线上各取...这里我们有两种方式:一、通过平面的一般式方程得出其法向量(即为x,y,z前的系数),将两平面法向量做叉乘即可得出方向向量,再随便取一点,即可变形为点法式方 -
C++ : 直线的向量表示
2021-02-26 10:22:191、两点坐标表示方向向量 2、向量法计算点到直线的距离 上面2张图来源于 这里 3、C++ norm() 可以返回复数的平方大小 4、向量a与b叉乘,可以得到向量a与b组成的平行四边形的面积,平行四边形的面积又等于...