向量的点积和外积

2023-11-11 23:28
文章标签 向量 点积 外积

本文主要是介绍向量的点积和外积,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考:https://www.cnblogs.com/gxcdream/p/7597865.html

一、向量的内积(点乘)

定义:

两个向量a与b的内积为 a·b = |a||b|cos∠(a, b),特别地,0·a =a·0 = 0;若a,b是非零向量,则a与b****正交的充要条件是a·b = 0。

在这里插入图片描述

常见用法:

求两向量夹角:

import numpy as ny# 注意:下面使用的都是单位向量# 二维: x轴和y轴夹角, 输出: 90
np.degrees(np.arccos(np.dot(np.array([0,1]),np.array([1,0]))))# 二维: x轴和第一象限45度,输出: 45
np.degrees(np.arccos(np.dot(np.array([0,1]),np.array([0.7071067811865476,0.7071067811865476]))))# 二维: x轴和负y轴, 输出:180
np.degrees(np.arccos(np.dot(np.array([1,0]),np.array([-1,0]))))# 三维: x轴和z轴, 输出: 90
np.degrees(np.arccos(np.dot(np.array([1,0,0]),np.array([0,0,1]))))

求向量1在向量2的投影长度:

# 下面用的都是单位向量# 第一象限45°单位向量在x轴上投影的长度,输出: 0.7071067811865476
np.dot(np.array([1,0]),np.array([0.7071067811865476,0.7071067811865476]))

判断两向量夹角:

# 因为只是判断方向, 所以不必是单位向量# x轴与y轴内积, 输出0 垂直
np.dot(np.array([1,0]),np.array([0,1]))
# x轴与负y轴内积, 输出0 垂直
np.dot(np.array([1,0]),np.array([0,-1]))# x轴与第一象限45°内积,大于0 夹角在0 ~ 90°之间
np.dot(np.array([1,0]),np.array([1,1]))

二、向量的外积(叉乘)

定义:

向量a与b的外积a×b是一个向量,其长度等于|a×b| = |a||b|sin∠(a,b),其方向正交于a与b。并且,(a,b,a×b)构成右手系。
特别地,0×a = a×0 = 0.此外,对任意向量a,a×a=0。

在这里插入图片描述

常见用法:

判断向量a,b的位置关系:

res > 0, a在b的逆时针方向
res = 0, a和b共线
res < 0, a在b的顺时针方向

# 注意:上面内积只能求夹角,但判断不了顺逆时针(180°以内)# x轴和y轴,输出> 0 说明 x轴在y轴逆时针方向
a = np.cross(np.array([1,0]),np.array([0,1]))
print(a) # 输出 1# y轴和x轴,输出 <0 说明,y轴在x轴的顺时针方向
b = np.cross(np.array([0,1]),np.array([1,0]))
print(b) # 输出 -1

求面法线:

# 由x轴和y轴求出z轴,输出: array([0, 0, 1])
np.cross(np.array([1,0,0]),np.array([0,1,0]))

这篇关于向量的点积和外积的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393523

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

Vector3 三维向量

Vector3 三维向量 Struct Representation of 3D vectors and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doin

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

用Python实现时间序列模型实战——Day 14: 向量自回归模型 (VAR) 与向量误差修正模型 (VECM)

一、学习内容 1. 向量自回归模型 (VAR) 的基本概念与应用 向量自回归模型 (VAR) 是多元时间序列分析中的一种模型,用于捕捉多个变量之间的相互依赖关系。与单变量自回归模型不同,VAR 模型将多个时间序列作为向量输入,同时对这些变量进行回归分析。 VAR 模型的一般形式为: 其中: ​ 是时间  的变量向量。 是常数向量。​ 是每个时间滞后的回归系数矩阵。​ 是误差项向量,假

利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)

开始撸计算几何题目了。。。。。。。 预备知识:叉乘求多边形面积 参考证明资料: 公式证明: http://www.cnblogs.com/xiexinxinlove/p/3708147.html 高中知识: http://wenku.baidu.com/view/867e6edfad51f01dc281f11a.html #include<stdio.h>#inclu

计算几何之向量旋转

实际做题中我们可能会遇到很多有关及计算几何的问题,其中有一类问题就是向量的旋转问题,下面我们来具体探讨一下有关旋转的问题。 首先我们先把问题简化一下,我们先研究一个点绕另一个点旋转一定角度的问题。已知A点坐标(x1,y1),B点坐标(x2,y2),我们需要求得A点绕着B点旋转θ度后的位置。 A点绕B点旋转θ角度后得到的点,问题是我们要如何才能得到A' 点的坐标。(向逆时针方向旋转角度正,

深度学习速通系列:如何生成句向量?

生成句向量(Sentence Embedding)是自然语言处理(NLP)中的一项重要技术,它将文本句子转换为固定长度的数值向量,这些向量能够捕捉句子的语义信息。以下是一些生成句向量的方法: 词袋模型(Bag of Words, BoW): 将句子中的每个词转换为一个特征向量,并将所有词的特征向量平均或求和,以生成句子的向量表示。 TF-IDF: 使用词频-逆文档频率(Term Freque

基础物理-向量3

总结 标量和向量 标量,如温度,仅具有大小。它们通过一个带有单位的数字(例如 10°C)表示,并遵循算术和普通代数的规则。向量,如位移,既具有大小又具有方向(例如 5 米,向北),并遵循向量代数的规则。 几何法加向量 两个向量 a ⃗ \vec{a} a 和 b ⃗ \vec{b} b 可以通过几何法相加,即将它们按照共同的比例绘制,并首尾相接放置。连接第一个向量的尾部和第二个

多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测

多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测 目录 多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测(完整源码和数据) 2.SS

【R语言数据类型】深入了解 向量、矩阵、数据框、列表

R语言数据类型有向量、矩阵、数据框、列表。下面我们来深入了解下: vector 的划分 R中的vector分为两类,atomic和list,二者的区别在于,前者元素类型必须相同,后者可以不同。前者的代表是向量和矩阵,后者的代表是list和数据框。 创建向量、矩阵、数据框、列表 # atomica <- 1:5b <- letters[1:5]c <- 1:10mat <- matr