struct Vector {int x, y;}; // 二维向量的资料结构 // 内积运算 int dot(Vector& v1, Vector& v2) { return v1.x * v2.x + v1.y * v2.y; // 没有除法,尽量避免误差。 } // 外积运算,回传纯量(除去方向) int cross(Vector& v1, Vector& v2) { return v1.x * v2.y - v1.y * v2.x; // 没有除法,尽量避免误差。 }
内积、外积跟长度的关系
内积后取绝对值,求得的是投影量,再除以投影标的的单位向量,则得到投影长度。
外积后取绝对值,求得的是平行四边形的面积量,再除以底的单位向量,则得到高。
struct Point {double x, y;}; // 点的资料结构 typedef Point Vector; // 向量的资料结构,和点一样 // 内积运算 double dot(Vector& v1, Vector& v2) { return v1.x * v2.x + v1.y * v2.y; } // 外积运算,回传纯量(去除方向) double cross(Vector& v1, Vector& v2) { return v1.x * v2.y - v1.y * v2.x; } // 向量的长度 double length(Vector& v) { return sqrt(v1.x * v1.x + v2.y * v2.y); // return sqrt(dot(v, v)); } void print_d1_and_d2() { Point p, p1, p2; Vector v1 = p1 - p, v2 = p2 - p; cout << "d1:" << fabs(dot(v1, v2)) / length(v1); cout << "d2:" << fabs(cross(v1, v2)) / length(v1); }
void print_θ() { Point p, p1, p2; Vector v1 = p1 - p, v2 = p2 - p; double l1 = length(v1), l2 = length(v2); cout << "cos(θ):" << dot(v1, v2) / l1 / l2; cout << "sin(θ):" << cross(v1, v2) / l1 / l2; cout << "θ:" << acos(dot(v1, v2) / l1 / l2); // [0, π] cout << "θ:" << asin(cross(v1, v2) / l1 / l2); // [-π/2, π/2] }
注意到acos与asin的回传值,回传的结果是弪度量(radian)而非度度量(grade),而且回传值的范围也不同。一般都以内积与acos求得介于0˚到180˚之间的夹角大小。
内积与向量夹角
利用内积的性质,可以粗略判断夹角大小:内积大于0时,两向量夹角小于90˚;等于0时,夹角等于90˚;小于零时,夹角大于90˚且小于180˚。
外积与向量旋转
外积大于0时,两向量前后顺序为逆时针顺序(在180˚之内);等于0时,两向量平行,也就是指夹角等于0˚或180˚;小于0时,两向量前后顺序为顺时针顺序(在180˚之内)。
转载链接:http://blog.sina.com.cn/s/blog_7506816f0100qfv0.html
相关推荐
向量的内积与正交矩阵PPT课件.pptx
高斯超向量-支持向量机系统将高斯混合模型与支持向量机有效地结合起来,采用高斯超向量核函数,以支持向量机作为后端分类器。重点介绍基于高斯超向量-支持向量机的语种识别系统,并和传统的高斯混合模型系统进行比较...
中职数学基础模块下册平面向量的内积.pptx
matlab 实验七 向量内积与正交及其应用
千锤百炼第38炼 向量的数量积-数量积的投影定义.doc
为了提高效率,利用M变换以全并行的方式生成部分积,而后采用了二叉迭代法来求向量内积。实验证明了其可行性和正确性。由于该系统在信息表达上将光强与光的偏振性结合起来,所以在解码时不需要测量光强,只需判断光...
向量数量积 首先输入向量维数 然后输入两个向量的坐标 最后评价程序
人工智能-项目实践-向量-自动创建Faiss已知索引与最优的相似度搜索参数 文档、帖子和笔记本 Autofaiss 使用 faiss 高效索引、二进制搜索和启发式方法,可以在 3 小时内在低内存量 (200 GB) 中自动构建一个大型(1...
向量的数量积和向量积PPT课件.pptx
向量的内积与正交矩阵.eddx
向量内积的运算律PPT课件.pptx
在Linux平台上用多线程方法实现浮点向量的点积计算: 点积规则可以自己定,程序中采用的是ai=bi=-1/1/0(按3取余运算),另外,计算程序运行时间. 输入格式为: vec_mul thread_num N 参数: thread_num:线程数,从1到...
二阶矩阵与平面向量-综合检测-.pdf
高等数学 数量积 向量积 混合积 PPT课件.pptx
在线性代数、计算几何中,向量点积是一种十分重要的运算。给定两个n维向量a=(a1,a2,...,an)和b=(b1,b2,...,bn),求点积a⋅b=a1b1+a2b2+...+anbn。 【输入】 第一行是一个整数n(1≤n≤1000); 第二行包含n个整数a1,...
人大微积分课件7-3数量积向量积混合积.ppt
双重向量积公式叶卢庆*2014 年 10 月 25 日设 a, b, c 是三维欧式空间 R3 中的三个向量, 且 a, b 线性无关. 我们来计算设向量 c
在网上看到向量外积的公式,大部分都只写定义,没有说明公式的推导,本文尝试进行推导,以满足各位的求知欲。
向量内积的坐标表示PPT课件.pptx