文档章节

向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读

小叮当_加V
 小叮当_加V
发布于 2017/07/28 10:19
字数 629
阅读 386
收藏 0

向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;

 

向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量

 

点乘公式

 

对于向量a和向量b:

 

                                                           

 

a和b的点积公式为:

 

 

 

要求一维向量a和向量b的行列数相同。

 

点乘几何意义

 

点乘的几何意义是可以用来表征或计算两个向量之间的夹角,以及在b向量在a向量方向上的投影,有公式:

 

 

推导过程如下,首先看一下向量组成:

 

 

 

定义向量:

 

 

根据三角形余弦定理有:

 

 

根据关系c=a-b(a、b、c均为向量)有:

 

 

即:

 

向量a,b的长度都是可以计算的已知量,从而有a和b间的夹角θ:

 

 

根据这个公式就可以计算向量a和向量b之间的夹角。从而就可以进一步判断这两个向量是否是同一方向,是否正交(也就是垂直)等方向关系,具体对应关系为:


     a·b>0    方向基本相同,夹角在0°到90°之间

     a·b=0    正交,相互垂直  

     a·b<0    方向基本相反,夹角在90°到180°之间 

 

叉乘公式

 

两个向量的叉乘,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量组成的坐标平面垂直。

 

对于向量a和向量b:

 

 

a和b的叉乘公式为:

 

 

其中:

 

 

根据i、j、k间关系,有:

 

 

 

 

叉乘几何意义

 

 

在三维几何中,向量a和向量b的叉乘结果是一个向量,更为熟知的叫法是法向量,该向量垂直于a和b向量构成的平面。

 

在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。如下图所示: 

 

 

在二维空间中,叉乘还有另外一个几何意义就是:aXb等于由向量a和向量b构成的平行四边形的面积。

本文转载自:http://blog.csdn.net/dcrmg/article/details/52416832

共有 人打赏支持
小叮当_加V
粉丝 5
博文 98
码字总数 19908
作品 0
东城
私信 提问
向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读

向量是由n个实数组成的一个n行1列(n1)或一个1行n列(1n)的有序数组; 向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘...

球球
2017/11/05
0
0
总结下线代中的基本知识点

线代的重要性只要上大学的都知道它的重要性,不仅在计算机专业其他理工科都是特别重要的,在大学大多都只教授了计算,并没有多少实质(不绝对),今天的计算机又非常牛逼,意义在哪里,先看个知...

多了去的YangXuLei
2017/07/29
0
0
向量几何在游戏编程中的使用系列四之简单的2-D追踪

简单的2-D追踪   Andre Lamothe说:“向量几何是游戏程序员最好的朋友”。一点不假,向量几何在游戏编程中的地位不容忽视,因为在游戏程序员的眼中,显示屏幕就是一个坐标系,运动物体的轨...

刘学炜
2012/09/07
0
0
常见凸多边形判断方法

凸多边形的判定方法 在计算几何和地理信息系统中,多边形的凹凸性判定十分重要。那么什么是凹多边形和凸多边形呢?首先,我们从直观上来理解,凸多边形就是多边形任意两个顶点的连线在多边形...

长平狐
2013/12/25
282
0
向量几何在游戏编程中的使用系列三之2-D物体任意角度的反弹

2-D物体任意角度的反弹   这次深入充分利用向量的性质模仿一个物理现象。   首先,我要介绍一下将要使用的两个基本但非常重要的技巧。   一、求与某个向量a正交的向量b 根据向量内积的性...

刘学炜
2012/09/07
0
1

没有更多内容

加载失败,请刷新页面

加载更多

CAS和AQS

CAS(Compare And Swap) 什么是CAS CAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制。 CAS是一种系统原语,原语属于操作系统用语范畴,是由若干条...

狼王黄师傅
32分钟前
2
0
Python利用pandas处理Excel数据的应用

Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化...

上官夏洛特
46分钟前
2
0
100:代码管理平台svn

1:代码管理平台:代码版本管理工具,工作中用于代码更新,代码发布统计,代码版本控制;(频繁更新代码的版本记录),方便查阅历史变更,协同开发及合并; 版本管理工具发展: cvs(编码兼容不太好)...

芬野de博客
46分钟前
1
0
Linux学习-1101(rsync下、log、screen)

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 一、 rsync通过服务同步 rsync 通过服务的方式同步,首先需要开启一个服务。它是C/S架构,开启rsync服务,默认端口是8...

wxy丶
53分钟前
1
0
使用jpmml-sparkml-executable生成PMML模型文件

加载依赖的jar包通过./spark-shell --jars ./jpmml-sparkml-executable-1.2.13.jar 启动spark import org.apache.spark.ml.classification.LogisticRegressionimport org.apache.spark.m......

KYO4321
56分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部