叉积和点积及其应用简介
点积
定义
在二维平面直角坐标系中,设a⃗ =(x1,y1),b⃗ =(x2,y2)a→=(x1,y1),b→=(x2,y2)\vec{a}=(x_1,y_1),\vec{b}=(x_2,y_2),则a⃗ ⋅b⃗ =|a⃗ ||b⃗ |cosθa→⋅b→=|a→||b→|cosθ\vec{a}\cdot\vec{b}=|\vec{a}||\vec b|\cos\theta,其中θθ\theta为这两个向量的夹角。坐标表示为:a⃗ ⋅b⃗ =x1y1+x2y2a→⋅b→=x1y1+x2y2\vec{a}\cdot\vec{b}=x_1y_1+x_2y_2。
当然有多维向量也有点积,此时的定义用坐标表示:a⃗ ⋅b⃗ =x1y1+x2y2+⋯+xnyna→⋅b→=x1y1+x2y2+⋯+xnyn\vec{a}\cdot\vec{b}=x_1y_1+x_2y_2+\cdots+x_ny_n
应用
当a⃗ ⋅b⃗ =0a→⋅b→=0\vec a\cdot \vec b=0时,a⃗ ⊥b⃗ a→⊥b→\vec a\bot\vec b。可以判断两条直线是否垂直。
同时,根据定义式,在知道两个以同一点为一个端点的线段长度时可以计算其夹角。
其它的暂时不知道。。。
代码实现
搞一个struct重载一下就好了。。。
//#include<cmath>
struct node{double x,y;
}
double operator * (const node &a,const node &b){return a.x*b.x+a.y*b.y;
}
double len(node a){//长度return sqrt(a.x*a.x+a.y*a.y);
}
double _angle(node a,node b){//角度return acos(a*b/len(a)/len(b));//arccos,弧度制
}
叉积
定义
在二维平面直角坐标系中,设a⃗ =(x1,y1),b⃗ =(x2,y2)a→=(x1,y1),b→=(x2,y2)\vec{a}=(x_1,y_1),\vec{b}=(x_2,y_2),则a⃗ ×b⃗ =|a⃗ ||b⃗ |sinθa→×b→=|a→||b→|sinθ\vec{a}\times\vec{b}=|\vec{a}||\vec b|\sin\theta,其中θθ\theta为这两个向量的夹角。坐标表示为:a⃗ ⋅b⃗ =x1y2−x2y1a→⋅b→=x1y2−x2y1\vec{a}\cdot\vec{b}=x_1y_2-x_2y_1。
而在空间中,a⃗ ×b⃗ a→×b→\vec a\times \vec b的结果为一个向量。设a⃗ =(x1,y1,z1),b⃗ =(x2,y2,z2)a→=(x1,y1,z1),b→=(x2,y2,z2)\vec{a}=(x_1,y_1,z_1),\vec{b}=(x_2,y_2,z_2),则a⃗ ×b⃗ =c⃗ , c=(y1z2−y2z1,z1x2−x1z2,x1y2−y1x2)a→×b→=c→,c=(y1z2−y2z1,z1x2−x1z2,x1y2−y1x2)\vec a\times \vec b=\vec c\ ,\ c=(y_1z_2-y_2z_1,z_1x_2-x_1z_2,x_1y_2-y_1x_2)
应用
在二维平面中,叉积可以用来判断点与直线的位置关系。容易从定义式看出,当b⃗ b→\vec b在a⃗ a→\vec a的逆时针(180∘∘^\circ)方向时,a⃗ ×b⃗ <0a→×b→<0\vec{a}\times\vec{b},反之>0>0>0,在同一直线上时=0=0=0。这是一个特别常用的一个性质。
代码实现
struct node{double x,y;
}
double operator * (const node &a,const node &b){//为了避免与点积混淆可以用^return a.x*b.y-a.y*b.x;
}
叉积和点积及其应用简介相关推荐
- 朝花夕拾之Matlab基础回顾:向量的点积、叉积、混合积
1. 向量的点积运算 两个向量的点积等于一个向量的模与另一个向量在这个向量方向上的投影的乘积. clear; x1=[1 2 3 4,5]; x2=[6 7 8 9 10]; %两向量维度必须一致 y ...
- 向量叉积和点积混合运算_【转】向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读...
[转]向量点乘(内积)和叉乘(外积.向量积)概念及几何意义解读 向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组: 向量的点乘,也叫向量的内积.数量积,对两个向量执行点乘 ...
- 矢量的叉积和点积计算
标量(Scalar,标量是只有模没有方向的量,即距离). 矢量(Vector,也称为向量,矢量是有模和方向但没有位置的量,即方向加速度). 点(点是没有大小之分的位置). 1.标量k和矢量v的乘除: ...
- 向量运算-叉积,点积
点积最后的结果是一个数,满足交换律,可用于算向量的长度,两个向量之间的夹角 叉积最后的结果是一个向量,不满足交换律,可用于计算向量围成图形的面积 ///点积 double Dot(Vector v1, ...
- 点积、叉积、内积、外积
点积.叉积.内积.外积 点积=内积 (结果标量) 叉积=外积 (结果矢量) 点积(内积.数量积): matlab or python:dot() / np.dot() 数学符号:A.B<a,b& ...
- 带你一次搞懂点积(内积)、叉积(外积)
点积与叉积 1. 向量的点积与叉积 1.1 向量的点积 1.2 向量的叉积 2 矩阵的点积与叉积 2.1 矩阵的点积 2.2 矩阵的叉积 3. 元素积 4. 克罗内克积 1. 向量的点积与叉积 1.1 ...
- 向量复习(一):定义、求解、四则运算、点积和叉积
向量复习(一) 1. 向量的定义 2. 向量的表示 3. 向量的求解 4. 向量的四则运算 4.1 加法 4.2 减法 4.3 乘法和除法 5. 点积和叉积 5.1 点积 5.2 叉积 6. 模的求解 ...
- 人工智能数学基础-线性代数2:向量的点积、內积、数量积和外积
☞ ░ 老猿Python博文目录░ 一.内积 1.1.定义 内积(inner product)又称数量积( scalar product).点积(dot product),是指接受在实数R上的两个向量 ...
- 点积和叉积【计算集合】
先简单看一道几何的题目吧. 常见的空间几何公式: 1.俩点之间的距离sqrt((x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1)) 2.平面三角公式:p = (a+b+ ...
最新文章
- c语言判断2 1000素数,2是不是素数(C语言判断一个数为素数)
- 『设计模式』适配器模式(Adapter)
- 自动化用户特定实体的访问控制
- Eclipse 基于接口编程的时候,快速跳转到实现类的方法(图文)
- 可视化概念思维导图软件 MindMapper 17 Arena 完美汉化开心版
- c1200 写频软件_摩托罗拉C1200写频软件
- Quartus 13.0安装教程
- socket 服务器端和客户端通信,面向TCP的
- 题解:100元买100只鸡,公鸡4元一只,母鸡3元一只,小鸡1元3只,问公鸡,母鸡,小鸡各买了多少只?
- 壳的机制以及脱壳技术
- 域名被微信拦截怎么办?
- Linux下文件丢失问题
- C++使用FFmpeg库实现图片转视频
- 计算机mac地址怎么读,如何读取MAC地址
- 小飞升值记——(23)
- 2018北航北理工保研推免经验分享---本科211图形图像方向
- 【高考那些事】准大学生看过来,选择方向和未来,自己把握
- python毕业设计作品基于django框架校园网站系统毕设成品(7)中期检查报告
- 每天小练笔7-坐标变换
- Word2016经典视频教程-初级版-曾贤志-专题视频课程