- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章向量运算课件-3
第5章向量运算
第5章向量运算
p向量与标量的乘法
p标准化的向量与向量标准化的方法
p向量的加减法及其应用
p向量的点乘与叉乘
5.10向量点乘(向量内积)
p
运算法则
l 向量点乘是对应分量乘积的和
点乘结果是标量
l向量点乘的优先级高于加法和减法
5.10向量点乘(向量内积)
p将点乘应用到2D,3D向量中
p a,b是2D向量,有:
p a,b是3D向量,有:
p请计算下面向量的点乘结果:
5.10向量点乘
p几何解释
l
点乘等于向量大小与向量夹角的cos值的积
l点乘描述了两个向量的“相似”程度,点乘结果越大,两
向量越相近
l如果不需要夹角θ的确切值而只需要夹角的类型,可以
只取点乘结果的符号
5.10向量点乘
p 几何解释
l 向量大小不影响点乘结果的符号
l 如果a,b中任意一个为零
那么a·b 的结果为零
l 点乘对零向量的解释:
零向量和任意其他向量都垂直
5.10向量点乘
p
向量投影
l 定义
5.10向量点乘
p
向量投影
l 计算公式:
5.10向量点乘
p
向量投影
l 计算公式:
5.11向量叉乘(仅限于3D向
量)
p向量叉乘得到的是一个向量
p运算法则
l 叉乘公式
l优先级
?叉乘优先于加减
?点乘与叉乘在一起时,叉乘优先
?运算a·(b×c)称作三重积
5.11向量叉乘(仅限于3D向
量)
p向量叉乘得到的是一个向量
p运算法则
l 叉乘公式
l向量叉乘不满足交换律,满足反交换
律
a×b=-(b×a)
l向量叉乘不满足结合律
(a×b)×c≠ a×(b×c)
5.11向量叉乘
p几何解释
l 叉乘得到的向量垂直于原来的两个向量
5.11向量叉乘
p几何解释
l 叉乘得到的向量垂直于原来的两个向量
l a×b的长度等于向量的大小与向量夹角sin值
的积
5.11向量叉乘
p几何解释
l a×b的叉乘得到的向量垂直于原来的两个向量
l a×b的长度等于向量的大小与向量夹角sin值的积
l a×b的长度也等于以a和b为两边的平行四边形的
面积
5.11向量叉乘
p几何解释
l 叉乘得到的向量垂直于原来的两个向量
l a×b的长度等于向量的大小与向量夹角sin值的积
l a×b的长度也等于以a和b为两边的平行四边形的
面积
l如a和b平行或任意一个为0,则a×b=0
l叉乘对零向量的解释:它平行于任意其他向量
l a×b的方向
5.11向量叉乘
将a的头和b的尾相接。
在左手坐标系中:
如果a,b呈顺时针方向,则a×b指向您
;如果a,b呈逆时针方向,则a×b远离
您。
p几何解释
l a×b的方向
a,b呈顺时针
a,b呈逆时针
l叉乘的应用:可创建垂直于平面、三角形或多边
形的向量
练习
完成下列计算:
1、
1编程实现向量点乘
#include math.h
class Vector3{
public:
Vector3.h
float x,y,z;
Vector3(){};
Vector3(const Vector3 a):x(a.x),y(a.y),z(a.z){};
Vector3(float nx,float ny,float nz):x(nx),y(ny),z(nz){};
//省略其它函数
Vector3 operator*(float a) const{return Vector3(x*a,y*a,z*a);}
//向量和标量相乘
float operator*(const Vector3 a)const
//向量点乘
{
return x*a.x+y*a.y+z*a.z;
}
};
inline float vectorMag(const Vector3 a)
{return sqrt(a.x*a.x+a.y*a.y+a.z*a.z);}
//省略
main.cpp
#includeiostream
#include Vector3.h
using namespace std;
void print_v(Vector3 v)
{
cout[v.x,v.y,v.z]endl;
}
int main()
{
couthello Vectorendl;
Vector3 h1(3,-2,7),h2(0,4,-1);
float k=h1*h2;
coutkendl;
double m=acos((k/(vectorMag(h1)*vectorMag(h2))))*180/3.14159;
coutmendl;
return 0;
}
练习
完成下列计算:
1、
2编程实现向量叉乘
#include
您可能关注的文档
最近下载
- 机械通气患者的口腔护理PPT.pptx
- 基础写作教程(第三版)全套PPT课件.pptx
- 2024年吉林卷生物高考试卷(原卷+答案).pdf VIP
- 第四单元大情境试卷-2023-2024学年语文三年级下册统编版.docx VIP
- Unit 3 Amazing animals Part A 第一课时-三年级英语上学期课件(人教PEP版2024新).pptx
- 部编版-语文五上-七单元集体备课.pptx VIP
- 蒙代尔弗莱明模型与ddaa模型比较分析.pdf
- 芭蕾基训项目课程标准.pdf VIP
- ppt:大学生如何弘扬劳动精神.pptx VIP
- Q/CR 749.1-2020-铁路桥梁钢结构及构件保护涂装与涂料 第1部分:钢梁.pdf
文档评论(0)