博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算几何经典操作
阅读量:4347 次
发布时间:2019-06-07

本文共 1258 字,大约阅读时间需要 4 分钟。

不完整代码O(∩_∩)O~,提供几种常用操作的模板

这里写代码片#include
#include
#include
#include
using namespace std;const double eps=1e-8;const int N=10000;struct node{ //为了方便,通常将向量设成结构体 double x,y; node (double xx=0,double yy=0) //新向量的建立 { x=xx; y=yy; }}; node po[N];//重载运算符 node operator +(const node &a,const node &b){ return node(a.x+b.x,a.y+b.y);} node operator -(const node &a,const node &b){ return node(a.x-b.x,a.y-b.y);}node operator *(const node &a,const double &b) //向量与实数的运算{ return node(a.x*b,a.y*b); } node operator /(const node &a,const double &b){ return node(a.x/b,a.y/b);}//比较实数的时候先做差再用dcmp比较int dcmp(double x){ if (fabs(x)
0) return 1; else return -1; }double Dot(node a,node b)//点积{ return a.x*b.x+a.y*b.y;} double Cross(node a,node b)//叉积{ return a.x*b.y-a.y*b.x;} /*两向量的夹角为α 两向量垂直,点积为0 (cosα)两向量共线(平行),叉积为0 (sinα)如果a b夹角大于90度,点积为负,小于90度,点积为正如果a旋转到b是逆时针,则叉积为正,否则叉积为负*///向量v(x,y)逆时针旋转a弧度(到v'),则//x'=xcosa-ysina=x*(Dot(a,b))-y(Cross(a,b))//y'=xsina+ycosa=x*(Cross(a,b))-y(Dot(a,b))double SS(int n) //多边形面积 { int i; double area=0; for (i=2;i

转载于:https://www.cnblogs.com/wutongtong3117/p/7673623.html

你可能感兴趣的文章
[原创]一篇无关技术的小日记(仅作暂存)
查看>>
20145303刘俊谦 Exp7 网络欺诈技术防范
查看>>
原生和jQuery的ajax用法
查看>>
iOS开发播放文本
查看>>
20145202马超《java》实验5
查看>>
JQuery 事件
查看>>
main(argc,argv[])
查看>>
第四阶段 15_Linux tomcat安装与配置
查看>>
NAS 创建大文件
查看>>
学习笔记-模块之xml文件处理
查看>>
接口测试用例
查看>>
Sybase IQ导出文件的几种方式
查看>>
MySQL存储过程定时任务
查看>>
Python中and(逻辑与)计算法则
查看>>
POJ 3267 The Cow Lexicon(动态规划)
查看>>
设计原理+设计模式
查看>>
tomcat 7服务器跨域问题解决
查看>>
前台实现ajax 需注意的地方
查看>>
Jenkins安装配置
查看>>
深入理解Java虚拟机&运行时数据区
查看>>