计算几何
傻子是小傲娇
acmer,摄影、钢琴、吉他爱好者
展开
-
基于水平序的Andrew凸包算法 最详细的图解(多图预警)
给出凸包的定义:简要说一下思路:首先将所有点按照x从小到大(x同则y从小到大)排序把p1,p2放入凸包,从p3开始,当新点在凸包‘前进’方向的左边时继续,否则依次删除最近加入凸包的点,直到新点在左边输入不能有重复点,不希望凸包边上有点可疑将<=改为< 下面请根据程序,测试数据与输出 及步骤图学习,跟着模拟一遍就会非常明白了#include<bits/...原创 2018-07-24 21:48:57 · 1827 阅读 · 0 评论 -
计算几何基础 《算法竞赛入门经典》
#include<bits/stdc++.h>using namespace std;const int N=1e3;struct Point{ //定义点 double x,y; Point(double x=0,double y=0):x(x),y(y){} //构造函数,方便代码编写};struct polygon{ ...原创 2018-07-19 17:57:45 · 1321 阅读 · 0 评论 -
点到线段的距离 计算几何
点到线段的距离有两种可能,如果点与线段的垂直线与线段所在直线的交点在线段上,所求的距离就是点到线段的距离如果是在射线上,就是点到射线一端的距离...原创 2018-07-19 21:27:16 · 10643 阅读 · 0 评论 -
UVA 11178 Morley's Theorem
由等边三角形的顶点与外围三角形两角的三分之一作为底部向量的偏转角,两偏转向量的交点就是一个所求点根据对称性原理求出另外两点#include<cstdio>#include<cstring>#include<cmath>using namespace std;const double eps=1e-10;struct Point{ do...原创 2018-07-20 19:43:09 · 212 阅读 · 0 评论 -
UVA 10652 Board Wrapping
看到题目思路应该很明确,同过给的坐标和偏转角度求出每个多边形的顶点;将顶点构成的集合排序去重后构建凸包;利用多边形面积的计算方法就凸包面积求得百分比;#include<cstdio> #include<cstring>#include<algorithm>#include<queue>#include<cmath>...原创 2018-07-30 10:18:49 · 337 阅读 · 1 评论 -
CSU 1503 点到圆弧的距离(最易理解)
第一步找出圆心根据题目给出的三点建立两条直线,两直线垂直平分线的交点就是圆心第二步判断点与圆弧的位置关系通过分析,可分为两种情况;情况一,ans1为p到p1的距离减去圆的半径的绝对值情况二,ans2为p到A,C两点的距离最小值给出f1,f2,f3,f4分别表示向量 p1A, p1B,p1C,p1P与x正半轴的夹角;考虑到没有给出给点的顺序,有可能顺时针或逆时针给点。...原创 2018-07-27 16:35:25 · 2199 阅读 · 0 评论 -
带逗号的字符串数列转数组(包含负数的处理)手撸
#include<bits/stdc++.h>using namespace std;const int maxn=1005;char a[maxn];int lin[maxn];int Pow(int j){ int x=1; for(int i=0;i<j;i++)x*=10; return x;}int handle(char temp[],int a...原创 2018-10-29 17:24:50 · 413 阅读 · 0 评论