向量叉乘和其在图形学的应用

向量叉乘和其在图形学的应用我们都学过向量的标量积 也就是所谓的点乘 dotproduct 两个向量做标量积后得到的是一个标量

大家好,欢迎来到IT知识分享网。

向量叉乘和其在图形学的应用

代数公式:

向量叉乘和其在图形学的应用

\vec{a}表示为(x1,y1)\vec{b}表示为(x2,y2)则:

        \vec{a}\times \vec{b}=(x1*y2-x2*y1,x2*y1-x1*y2)

三维的情况: 

c = a×b = (a.y*b.z-b.y*a.z , b.x*a.z-a.x*b.z , a.x*b.y-b.x*a.y)

模长:

        叉积是一个向量,它的模定义为:

向量叉乘和其在图形学的应用

        二维向量叉积模与行列式关系: a(x1,y1),b(x2,y2)

        \left | a\times b \right |=\left | a \right | \left | b \right | \sin \theta =\begin{vmatrix} x1 &y1 \\ x2&y2 \end{vmatrix}=x1y2-x2y1 

模长的几何意义:

其中θ为向量a和向量b的夹角,如下图所示,向量c的模即以ab为两条边的平行四边形的面积。

向量叉乘和其在图形学的应用

c的方向定义为垂直于ab所构成的平面,并且abc构成右手螺旋定则,也就是右手四指方向从a转向b,大拇指即得到c方向。

性质:

  1. 叉积与两个初始向量正交
  2. 叉积的方向由右手螺旋定则确定
  3. 不满足交换律,axb=-bxa
  4. 两个非零向量a和b平行, |a × b| = |a| × |b| × sin0° = 0,叉乘结果是零向量。
  5. axa=0

在图形学中的作用:

向量叉乘和其在图形学的应用

  • 判断左和右

向量叉乘和其在图形学的应用

上图中a叉乘b的结果为正的则a在b的右侧,而b叉乘a结果为负b在a的左侧。

严格的描述:向量a和向量b的叉积结果大于0,表示向量a在向量b的顺时针方向;若结果小于0,表示向量a在向量b的逆时针方向;若等于0,表示向量a与向量b平行(顺逆时针是指两向量平移至起点相连,从某个方向旋转到另一个向量小于180度)

  • 判定一个点是否在三角形内

向量叉乘和其在图形学的应用

上图中AB在AP右侧,BC在BP右侧,CA在CP右侧,那么P点一定在三角形内部。可以利用叉积判断P点是否都处于三角形三条边的左边来判断P点是否在三角形内。若将三角形ABC逆时针方向改成顺时针:ACB,就是需要判断P点是否都处于三角形三条边的右侧。

这个用法是三角形光栅化的基础,用来判定三角形覆盖哪些像素。

  • 应用场景1:

我们利用向量叉乘可以建立一些垂直的轴,这些轴就会形成一个坐标系。当我们定义好一个坐标系,我们就可以将任意一个向量分解到这三个轴上。

  • 应用场景2:

求两个向量是否相交(可以点开)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/144621.html

(0)
上一篇 2025-04-25 16:15
下一篇 2025-04-25 16:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信