热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

线性代数笔记4——向量3(叉积)

什么是叉积向量的叉积也叫外积、向量积、叉乘或矢量积。两个向量的叉积是这样表示的:在二维空间内,向量A<a1,a2>,B<b1,b2>其
什么是叉积

  向量的叉积也叫外积、向量积、叉乘或矢量积。两个向量的叉积是这样表示的:

 

  在二维空间内,向量A = 1, a2>,B = 1, b2>

 

  其几何意义就是以两个向量为边的平行四边形的面积,这在上篇文章中给出了详细说明。

  此外,叉积也适用于两个在三维空间内的向量。在三维空间内,向量A = 1, a2, a3>,B = 1, b2, b3>,C = 1, c2, c3>

 

  i, j, k是三个维度中每个维度的单位向量,有点像三阶行列式,但并不是常理上的行列式,因为行列式不会出现向量,这里仅仅是为了便于表达和记忆。

  从上面的描述中可以看出,叉积得到的是一个向量,而不是一个数字,也因此,A×BB×A并不等同,实际上,

叉积的几何意义

  向量的两个要素是模长和方向,让我们从这两个角度考虑叉积的几何意义。

  在模长上,叉积的几何意义是以两个向量为边的平行四边形的面积:

  两个相同向量的叉积是0,

 

  如果用几何意义解释,二者构成一条线段,线段的面积是0。

  在方向上,叉积垂直于平行四边形所在的平面:

  由于叉积存在负值,所以垂直的方向可能向上或向下,具体方向根据右手法则判断。

  右手法则很有意思,首先要保持拇指朝上,然后其他四指指向叉积的第一个向量,向内弯曲四指指向另一个向量。如果两个向量的方向能符合这个手势,此时拇指的方向就是叉积的方向;如果必须向外弯曲四指,拇指的反方向是叉积的方向。总之,最终能够以一个舒服的方向竖起拇指就对了。

叉积的作用

计算平行六面体的体积

  所谓平行六面体,就是六面体的每个面都是平行四边形,如下图所示:

  向量H是垂直于底面的向量,|H|是六面体的高,可看作向量AH方向上的分量,分量可以用点积表示,这在上一篇中叙述过。如果令uH方向的单位向量:

 

判断点是否在同一平面

  空间内的三点可以确定一个平面,P1,P2,P3是空间中的三个点,另有一点P,如何判断P是否在平面内?

 

P是否在P1,P2,P3组成的平面内?

  可以借助向量通过上一节中平行六面体体积的知识判断,如下图所示:

 

  这样形成了三个向量,|P1P3×P1P2| 是这两个向量围成的平行四边形的面积,P1P·|P1P3×P1P2| 表示平行六面体的体积,如果体积是0,那么P就在平面内。

计算法向量

  也可以用另一种方法求解上面的问题,这需要法向量的帮助。一个与平面垂直的向量称为该平面的法向量,一个平面有无数条法向量,法向量与一个常数的乘积还是法向量。

  N是平面的法向量,如果NP1P,则P在平面内。根据点积的知识,N·P1P = 0,则NP1P。如何计算N呢?实际上,N就是P1P3P1P2的叉积。

  如果P在平面内,则体积 = P1P·(P1P3×P1P2)= 0;由于NP1PN·P1P = 0,结合二者:

P1P·(P1P3×P1P2)= P1P· N = 0

 => N = P1P3×P1P2

示例

示例1

  平行六面体是三条边是三个向量<2, 2, 0>,<1, 0, 1>,<0, 1, 1>,求该六面体的体积。

  很明显是相交于<0, 0, 0>的三个向量,设三个向量分别是ABC

 

  体积是4

示例2

  计算三个点围成的三角形的面积,P1(-1, 0 , 1),P2(0, 2, 2),P3(0, -1, 2)

  使用叉积很容易计算,需要注意的是,点积和叉乘仅对向量有意义,对点来说则毫无用处,所以首先需要将点转换为向量。

 

 


   作者:我是8位的

  出处:http://www.cnblogs.com/bigmonkey

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途! 

 


推荐阅读
  • 本文详细介绍了如何在Java中实现RSA非对称加密技术,包括生成密钥对、加密和解密操作的具体实现步骤。 ... [详细]
  • 安装MemcachedMemcached整理安装PythonMemcachedAPIpython操作啊Memcached使用Python-memcached模块下载安装:https ... [详细]
  • 本文深入探讨了@RequestBody注解的使用场景及核心逻辑,包括其与@RequestParam的区别和结合使用的方法。文章前半部分介绍了基础知识,后半部分则详细分析了源码和重要结论。 ... [详细]
  • 本文介绍如何利用Python中的Epoll机制构建一个高效的Web服务器,该服务器能够处理多个并发连接,并向每个连接的客户端返回预定义的响应文本。通过使用Epoll,服务器可以实现高性能的I/O多路复用。 ... [详细]
  • 本文介绍了如何处理在使用 aiohttp 进行 HTTPS 请求时遇到的 SSL 证书验证错误,包括忽略证书验证和使用自定义证书的方法。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • MySQL中如何为字段添加注释
    本文详细介绍了在MySQL数据库中为字段添加注释的两种方法,并提供了具体的SQL语句示例,帮助开发者更好地管理和理解数据库结构。 ... [详细]
  • 如何在家高效自学英语口语
    随着全球化的加深,英语作为国际交流的主要工具,在日常生活和职业发展中扮演着越来越重要的角色。本文将提供一系列实用的方法,帮助你在家也能有效提升英语口语能力。 ... [详细]
  • 本文详细介绍了在Hive中创建表的基本语法,包括临时表、外部表的创建方法,以及如何设置表的各种属性和约束条件。 ... [详细]
  • 一、数据更新操作DML语法中主要包括两个内容:查询与更新,更新主要包括:增加数据、修改数据、删除数据。其中这些操作是离不开查询的。1、增加数据语法:INSERTINTO表名称[(字 ... [详细]
  • 本文介绍了一种使用 Java 编程语言来实现字符串包含检测的方法,通过比较两个字符串中的字符来判断一个字符串是否包含另一个字符串。 ... [详细]
  • 本文探讨了在iOS应用中实现类似Android Snack Bar功能的方法,并特别关注如何确保Snack Bar正确显示在键盘下方。 ... [详细]
  • Django框架的使用教程mysql数据库[三]
    Django的数据库1.在Django_test下的view.py里面model定义模型fromdjango.dbimportmodels#Createyourmodelshere ... [详细]
  • 本文详细解析了 Mongolass 中 populate 方法的正确使用方式及其限制,特别是与 Mongoose 在使用上的差异。 ... [详细]
author-avatar
大笨猫的男人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有