向量点乘、叉乘几何意义、python实现、应用
文章目录
- 数学表达式
- 几何意义
- python
- 应用
- 求三角形面积
- 判断点O与直线的关系
- 判断点O与凸多边形关系
- 判断凸多边形
数学表达式
- 点乘:
a⋅b=a1b1+a2b2+...+anbna \cdot b = a_1b_1+a_2b_2+...+a_nb_n a⋅b=a1b1+a2b2+...+anbn
a⋅b=∣a∣∣b∣cosθa \cdot b = |a||b|cos\theta a⋅b=∣a∣∣b∣cosθ - 叉乘:
几何意义
这个博客写的很到位了:博客
总结:
- 点乘:b向量在a向量方向上的投影;也可知两个向量的夹角
- 叉乘:方向:两个向量组成平面的法向量,正负由右手螺旋定则决定;二维向量时叉乘表示两向量组成的平行四边形面积
举个例子:
python
- 点乘:np.dot
a=[1,2,3]
b=[1,2,3]
import numpy as np
np.dot(a,b)
输出:14
- 叉乘:np.cross
a=[1, np.sqrt(3), 0]
b =[2, 0, 0]
np.cross(a,b)
输出:array([ 0. , 0. , -3.46410162])
应用
求三角形面积
设向量AB 为(a,b,c),向量AC为(d,e,f)
三角形面积为 1/2 倍 向量AB、AC叉乘的模。
c = np.matrix([[1,1,1], [2,0,0], [1, np.sqrt(3), 0]])
np.linalg.det(c)
输出:3.464101615137754
python 求行列式:np.linalg.det()
求逆矩阵:np.linalg.inv()
求特征值:np.linalg.eig()
判断点O与直线的关系
在直线上任选两点A、B,如果OA ×\times× OB = 0,则点在直线上。
判断点O与凸多边形关系
最广泛的方法:射线法:引一条水平的射线,看与凸多边形交点个数,若为1,则是在内部,若为0或2,则是在外部。
或者:判断 点与多边形所有边组成的三角形面积和等于多边形面积
也可以用叉乘:多边形顶点为A、B、C… 判断 AO叉乘AB,BO叉乘BC…如果均大于0,则点在内部。
判断凸多边形
以多边形相邻两条边为向量进行叉积和,如果全部大于零则是凸多边形,如果全部为零则共线,否则就是凹多边形
向量点乘、叉乘几何意义、python实现、应用相关推荐
- 两向量叉乘的计算公式_向量运算(叉乘几何意义)
向量的叉乘,即求同时垂直两个向量的向量,即c垂直于a,同时c垂直于b(a与c的夹角为90°,b与c的夹角为90°) c = a×b = (a.y*b.z-b.y*a.z , b.x*a.z-a.x*b ...
- 【数据结构】二叉搜索树的python实现
[数据结构]二叉搜索树的python实现 二叉搜索树是以二叉树来组织的,对于一个二叉搜索树的节点,其左子树节点的元素值都不大于该节点元素值,其右子树节点的元素值都不小于该节点的元素值. 首先定义一个初 ...
- 求俩向量角度 允许超过180度 python
原理:将2维向量扩展到3维向量,求叉乘得到新向量,检查新向量的第三维坐标是正的还是负的,即可判断角度属于0-180还是180-360 import numpy as npdef calc_angle_ ...
- 向量点乘叉乘推导公式
======点乘====== 推导公式1: a•b = ax*bx + ay*by = (|a|*sinθ1) * (|b| * sinθ2) + (|a| * cosθ1) * (|b| * ...
- python二维向量公式坐标叉乘_Python 或 sage 有没有哪个函数可以求指定向量的模?进行点乘运算,叉乘运算。...
Hlianbobo:python 或 sage 有没有哪个函数可以求指定向量的模?进行点乘运算,叉乘运算?求相关的库名称已经代码示例,谢谢! zhzy:numpy Tony042:numpy,或者自己 ...
- python向量点乘_Python线性代数学习笔记——向量的点乘与几何意义,实现向量的点乘操作...
好久没有写文章了,抱歉了,以后每天都会更新一篇的.... 向量的点乘,也就是两个向量相乘: 我们是不这么定义的,不是两个向量对应的坐标元素相乘: 两个向量"相乘",结果是⼀个数!, ...
- 向量的内积外积与其几何意义
一.点乘(内积) 有向量 a⃗=(x1,y1),b⃗=(x2,y2)\vec a=(x_1,y_1),\vec b=(x_2,y_2)a=(x1,y1),b=(x2,y2),夹角为 θ\the ...
- 向量叉积(Cross product)的几何意义及应用
向量叉积 仅在三维空间,两个向量的叉积才有定义,记作 u ^ v 定义为: u ^ v = ||u|| ||v|| sin(θ) n 其中,θ表示u 和 v 的夹角, ||u|| 和 ||v|| 分别 ...
- 数学基础 —— 向量运算(叉乘)
向量的叉乘,即求同时垂直两个向量的向量,即c垂直于a,同时c垂直于b(a与c的夹角为90°,b与c的夹角为90°) c = a×b = (a.y*b.z-b.y*a.z , b.x*a.z-a.x* ...
- 二叉树查找python_二叉搜索树的python实现
介绍 二叉查找树(Binary Search Tree),也称为二叉搜索树.有序二叉树或排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节 ...
最新文章
- android edittext_Android 支持拖动、缩放的自定义软键盘
- spoj450 Enormous Input Test
- 【机器学习】机器学习项目流程
- 百度牵头,全球首个面向商业化运营的Robotaxi技术标准正式发布
- synchronized修饰方法和代码块的区别
- 女性自我的迷宫:看EMI的人体自拍
- 解读业界5种主流的深度网络模型
- java 判断全角_Java如何判断字符串中包含有全角,半角符号
- HDU1233 还是畅通工程【Kruskal算法+并查集】
- linux中的strip命令简介------给文件脱衣服
- 联想计算机无线网络设置密码,联想(Lenovo)路由器怎么设置密码?
- 简道云-第4章-表单实例
- c语言程序设计商品管理系统
- android9 三星 港版,三星S9+官方港版安卓9固件系统线刷包:TGY-G9650ZHU4CSE7
- uniapp开发hbuilder连接安卓模拟器mumu
- JS特效之超级好看的鼠标小尾巴
- 新版sonar代码审查问题总结
- 运用Ntop监控网络流量(视频Demo)
- 信用卡还款怎么分期,还款还是要技巧的
- 微信去年共拦截谣言8.4万多条 这几个都是谣言