利用叉积计算向量的旋向及折线段的拐向

一、向量叉积

两个向量 u u u v v v的叉积写作 u × v = n ∥ u ∥ ∥ v ∥ s i n θ \mathbf{u \times v = n \left \| u \right \| \left \| v \right \| sin\theta } u×v=nuvsinθ
式中, n n n: 与 u u u v v v均垂直的单位向量,theta是两向量的夹角。
在这里插入图片描述
叉积的w长度可以解释成以 u u u v v v为边的四边形的面积。同样,三重积是以 u u u v v v w w w为边的平行六面体的体积。

二、向量的旋向

设平面内两向量 P 1 = ( x 1 , y 1 ) P_{1} =(x_1, y_1) P1=(x1,y1) P 2 = ( x 2 , y 2 ) P_{2} =(x_2, y_2) P2=(x2,y2)。由叉积定义,两向量叉积的模是原点o、 P 1 P_1 P1 P 2 P_2 P2组成的平行四边形的带符号的面积:
在这里插入图片描述
即: C = ∥ P 1 × P 2 ∥ = ∣ x 1 y 1 x 2 y 2 ∣ = x 1 y 2 − x 2 y 1 C=\left \| P_1\times P_2 \right \| = \begin{vmatrix} x_1 & y_1\\ x_2 & y_2 \end{vmatrix} = x_1y_2-x_2y_1 C=P1×P2= x1x2y1y2 =x1y2x2y1
叉积一个非常重要的性质是可以通过其模 C C C的符号判断两向量相互之间的顺时针、逆时针关系:

  1. C>0, 则 P 2 P_2 P2 P 1 P_1 P1的逆时针方向;
  2. C<0, 则 P 2 P_2 P2 P 1 P_1 P1的顺时针方向;
  3. C>0, 则 P 2 P_2 P2 P 1 P_1 P1共线,可能同向也可能反向;

三、折线段的拐向

折线段的拐向判断方法可以直接由向量叉积的性质推出。设 P 1 ( x 1 , y 1 ) P_1(x_1, y_1) P1(x1,y1) P 2 ( x 2 , y 2 ) P_2(x_2, y_2) P2(x2,y2) P 3 ( x 3 , y 3 ) P_3(x_3, y_3) P3(x3,y3),对于有公共端点 P 2 P_2 P2的线段 P 1 P 2 P_1P_2 P1P2 P 2 P 3 P_2P_3 P2P3,通过计算 C = ∥ ( P 2 − P 1 ) × ( P 3 − P 2 ) ∥ C=\left \| (P_2-P_1)\times \right (P_3-P_2)\| C=(P2P1)×(P3P2)的符号便可确定折线的拐向。

  1. 若C>0, P 1 P 2 P_1P_2 P1P2 P 2 P_2 P2点逆时针旋转后得到 P 2 P 3 P_2P_3 P2P3,此时 P 2 P_2 P2是凸点
  2. 若C<0, P 1 P 2 P_1P_2 P1P2 P 2 P_2 P2点顺时针旋转后得到 P 2 P 3 P_2P_3 P2P3,此时 P 2 P_2 P2是凹点
  3. 若C=0, P 1 、 P 2 、 P 3 P_1、P_2、P_3 P1P2P3三点共线
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack的钩子集合

总之有这么多钩子可以用&#xff1a; entryOption&#xff1a;在entry配置项处理前被调用&#xff0c;可以修改entry配置项&#xff1b;beforeRun&#xff1a;在运行编译器前被调用&#xff1b;run&#xff1a;在开始读取记录时被调用&#xff1b;emit&#xff1a;生成资源到ou…

Java 编码

编码: 加密: 通过加密算法和密钥进行 也可通过码表进行加密 对称加密: 缺点:可被截获 元数据---加密算法密钥密文 ----> 解密算法密钥元数据 算法:DES(短 56位),AES(长 128位)破解时间加长 非对称加密: 元数据-加密算法加密密钥 密文 --->加密算法解密密钥元数据 …

mysql面试内容点

left join和inner join的区别 1.返回不同 innerjoin只返回两个表中联结字段相等的行。left join返回包括左表中的所有记录和右表中联结字段相等的记录。 2.数量不同 inner join的数量小于等于左表和右表中的记录数量。left join的数量以左表中的记录数量相同。 3.记录属性不同…

C++学习——C++运算符重载(含义、格式、示例、遵循的规则)

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 一、运算符重载的含义 所谓重载&#xff0c;就是赋予新的含义。函数重载&#xff08;Function Overloading&#xff09;可以让一个函数名有多种功能&#xff0c;在不同情况下进行不同…

Vue 重写push和replace方法,解决:Avoided redundant navigation to current location

当我们使用编程式路由导航跳转路径时&#xff0c;如果我们两次携带同样的参数进行跳转&#xff0c;会进行页面报错&#xff1a; 那产生这个问题的原因是什么呢&#xff1f; 我们接收并输出调用push方法返回的结果&#xff1a; 会发现这是一个Promise对象 我们都知道&#xff…

SAP_ABAP_面试篇_关于Function Module函数的三种处理类型

关于 Function Module 这个技术点&#xff0c;在面试过程中一般会考察以下几个问题&#xff1a; 1 函数处理类型的更新模式 一般会问到异步和事务&#xff08;逻辑单元 LUW&#xff09;&#xff0c;异步函数的调试方式、SM13监控更新函数的执行过程&#xff08;V1 与 V2 模式…

Epub书籍阅读工具

Epub书籍阅读工具 前言WIndows总结Neat ReaderAquile ReaderWPS Android总结Neat Reader掌阅 前言 Epub文件为电子书文件格式&#xff0c;此格式的电子书相比txt书籍&#xff0c;增加了目录跳转功能&#xff0c;并可以显示图片。本文介绍WIndows和Android端的epub书籍阅读工具…

SpringBoot中的classpath都包含啥

一句话总结&#xff1a;classpath 等价于 main/java main/resources 第三方jar包的根目录。下面详细解释。 参考&#xff1a;SpringBoot中的classpath

使用Burp发送请求,左下角显示Unsupported or unrecognized SSL message

这个问题很简单&#xff0c;那就是源网址使用http协议 而不是https协议

来吧,SpringBoot的自动配置原理都在这里了

&#x1f497;推荐阅读文章&#x1f497; &#x1f338;JavaSE系列&#x1f338;&#x1f449;1️⃣《JavaSE系列教程》&#x1f33a;MySQL系列&#x1f33a;&#x1f449;2️⃣《MySQL系列教程》&#x1f340;JavaWeb系列&#x1f340;&#x1f449;3️⃣《JavaWeb系列教程》…

Java架构师软件架构风格

目录 1 数据流风格1.1 管道过滤器1.2 数据流风格的优点2 调用返回风格2.1 面向对象风格2.2 调用返回风格总结3 独立构件风格3.1 事件驱动系统风格的主要特点3.2 独立构件风格总结4 虚拟机风格4.1 虚拟机风格总结5 仓库风格5.1 仓库风格总结想学习架构师构建流程请跳转:Java架构…

8款宝藏级别的云端设计工具推荐

早年&#xff0c;UI设计师选择的工具有限&#xff0c;功能相对单一&#xff0c;大多数在线原型设计工具都是国外的&#xff0c;语言和网络都增加了设计工作的负担。如今&#xff0c;国内外有许多在线原型设计工具&#xff0c;不仅可以在浏览器上使用&#xff0c;而且还具有团队…

SpringBoot集成Swagger2登录功能和安全认证

本篇文章要实现的功能&#xff1a; 1.集成swagger2.集成swagger登录功能&#xff0c;访问 /swagger-ui.html需要先登录3.集成安全认证&#xff0c;访问接口时携带header 请求接口时携带了上一步输入的header参数和值 1.集成swagger jdk11&#xff0c;SpringBoot 2.7.13 pom…

内网配置git代理

http、https访问 [http]proxy socks5://192.168.102.xxx:xxxx [https]proxy socks5://192.168.102.xxx:xxx设置ssh访问 需要修改~/.ssh/config文件&#xff08;&#xff09;, 没有的话新建一个. 同样仅为github.com设置代理需要注意~/.ssh/config文件权限为600&#xff0c;…

C语言 子函数调malloc申请内存返回给主函数使用——可行,但要注意

一般情况&#xff0c;子函数中动态申请内存&#xff0c;将地址返回给主函数&#xff0c;理论上应该也是可以的&#xff0c;需要子函数返回动态内存地址&#xff0c;主函数实参是相应的地址变量即可。只不过&#xff0c;主函数实参传入子函数之前&#xff0c;可能会将指针置空&a…

MatrixOne实战系列回顾 | 导入导出项目场景实践

本次分享主要介绍MatrixOne导入导出以及项目场景实践。将从四个方向为大家演示MatrixOne的功能&#xff0c;分别是数据的导入、导出、对接数据集成工具&#xff0c;以及Java连接实战。 数据导入会使用三种方式将数据导入至 MatrixOne中。分别是insert语句、load data语句还有s…

学习Opencv(蝴蝶书/C++)——3. OpenCV的数据类型

文章目录 1. 总览2. 基础类型2.0 基础类型总览2.1 cv::Vec<>类2.2 cv::Matx<>类2.3 cv::Point类(cv::Point3_< >和cv::Point_< >)2.4 cv::Scalar(cv::Scalar_)类2.5 cv::Size(cv::Size_)类、cv::Rect(cv::Rect_)类和cv::RotatedRect 类2.6 基础类型…

常见面试题-Redis 主从复制原理以及痛点

Redis 主从复制如何同步数据呢&#xff1f; 参考文章&#xff1a;https://blog.csdn.net/Seky_fei/article/details/106877329 https://zhuanlan.zhihu.com/p/55532249 https://cloud.tencent.com/developer/article/2063597 https://xie.infoq.cn/article/4cffee02a2a12c2…

LongAccumulator

原子操作之LongAccumulator 和LongAdder的区别在于&#xff0c;LongAdder是在Cell里面只能做加减操作&#xff0c;不能乘除&#xff0c;而LongAccumulator就可以定义乘除操作。原理和LongAdder都是一样的&#xff0c;一个Base和一个Cells数组。 原文跳转地址

pyqt5的组合式部件制作(四)

对组合式部件的制作又改进了一版&#xff0c;组合式部件的子部件不再需要单独“提升为”&#xff0c;如果在模板文件的提升部件窗口内选择了“全局包含”&#xff0c;那么只需要在模板文件和应用文件中直接复制粘贴即可&#xff0c;部件的应用更为简便。如下图&#xff1a;按住…