计算几何 矢量表示
来源:互联网 发布:音频剪切合并软件 mac 编辑:程序博客网 时间:2024/05/16 09:42
#include<iostream>#include<cmath>using namespace std;struct Vector{double x; //表示从0点到 (x,y)的矢量。 double y; //对矢量只关心方向和长度,不关心(位置)起点终点Vector(){ //构造函数 无参构造 }Vector(double xx,double yy):x(xx),y(yy){ //两参构造 }//矢量加法 Vector operator+(const Vector &p)const{return Vector(p.x+x,p.y+y);} //矢量减法Vector operator-(const Vector &p)const{return Vector(x-p.x,y-p.y);}//矢量点乘double operator*(const Vector &p)const{return p.x*x+p.y*y;} //矢量叉乘double operator^(const Vector &p)const{return p.x*y-p.y*x;} //矢量模长double length(){return sqrt(x*x+y*y);} //矢量单位化Vector unit(){return Vector(x/length(),y/length());} //矢量投影长度 double project(const Vector &p){return p*unit();} }; int main(){Vector A(3,4),B(1,0),C;double c;C = A + B;printf("%.2lf %.2lf\n",C.x,C.y);C = A - B;printf("%.2lf %.2lf\n",C.x,C.y);c = A * B;printf("%.2lf\n",c);c = A ^ B;printf("%.2lf\n",c);printf("%.2lf %.2lf\n",A.length(),B.length());C = A.unit();printf("%.2lf %.2lf\n",C.x,C.y);c = B.project(A);//A在B方向的投影 printf("%.2lf\n",c);return 0;}
阅读全文
0 0
- 计算几何 矢量表示
- 矢量表示及其计算
- 计算几何--矢量和叉积
- 计算几何中的向量表示
- 计算几何基础——矢量和叉积
- 计算几何基础——矢量和叉积
- 计算几何基础——矢量和叉积
- COPY 计算几何基础——矢量和叉积
- 【计算几何】点与向量的表示
- 矢量的运算表示方法
- Point类计算矢量
- 矢量计算三角形面积
- 计算几何几何函数库
- 计算几何-几何库
- 计算几何基础——矢量和叉积 && 叉积、线段相交判断、凸包(转载)
- 计算几何
- 计算几何
- 计算几何
- 细说 Request[]与Request.Params[]
- 分治法中的合并排序和快速排序
- 题目1026:又一版 A+B
- Smart Cutter(M2TS/MTS/TS/TRP/MP4无损剪辑软件) v1.8.3 绿色汉化版
- 【OpenCV入门指南】第六篇 轮廓检测 下
- 计算几何 矢量表示
- 在.net中读写config文件的各种方法
- 1.异常
- 关于vs助手Visual_Assist_X_10.8.XXXX
- JavaSE-tow
- 剑指offer--31连续子数组最大和
- SQL知识点梳理
- 【OpenCV入门指南】第七篇 线段检测与圆检测
- String的注意事项