计算几何
文章平均质量分 59
不吸血的Vampire
这个作者很懒,什么都没留下…
展开
-
已知三点坐标,求外接圆圆心坐标与半径。
已知三点坐标,求外接圆圆心坐标与半径。a=((y2-y1)*(y3*y3-y1*y1+x3*x3-x1*x1)-(y3-y1)*(y2*y2-y1*y1+x2*x2-x1*x1))/(2.0*((x3-x1)*(y2-y1)-(x2-x1)*(y3-y1)));b=((x2-x1)*(x3*x3-x1*x1+y3*y3-y1*y1)-(x3-x1)*(x2*x2-x1*x1+y2*原创 2013-11-16 21:55:57 · 12511 阅读 · 1 评论 -
HDU 2857 Mirror and Light (计算几何求 对称点和两直线的交点)
题意:给你镜子的位置(用两点确定的一条直线表示),光源,光的反射点,求光在镜子的折射点计算几何的模板,注意斜率!!!模板1:#include#include#include#include#include#include#include#include #include #include#includeusing namespace std原创 2014-04-26 23:11:32 · 1276 阅读 · 0 评论 -
CodeForces-1C-Ancient Berland Circus
Nowadays all circuses in Berland have a round arena with diameter 13 meters, but in the past things were different.In Ancient Berland arenas in circuses were shaped as a regular (equiangular) polygo转载 2014-04-21 22:28:51 · 695 阅读 · 0 评论 -
线段的交ZJU2870&PKU3304
题意:找一条直线让所有的线段在这条直线的投影交集不为空转化:题目可以转化为一条直线与所有线段判交。设直线ab为与所有线段有交的直线,那所有线段在与ab相互垂直的直线上投影的交集至少有一个交点(即不为空)。解法:枚举所有不同的点中的两点所组成的直线与所有线段判交。注意重点的判断。。。。。。。。#include#include#include原创 2013-11-16 21:32:44 · 767 阅读 · 0 评论 -
凸包:HDU1392(ZJU1453)
#include#include#includeusing namespace std;struct point{double x,y;};point pnt[50000],res[50000];bool mult(point sp,point ep,point op){return (sp.x-op.x)原创 2013-11-16 21:35:25 · 754 阅读 · 0 评论 -
Graham算法求凸包 PKU1113
#include#include#include#include#include#includeusing namespace std; struct Point { float x,y; }; //小于0,说明向量p0p1的极角大于p0p2的极角 float multiply(Point p1,Point p2,Point p0) { r原创 2013-11-16 21:53:30 · 1035 阅读 · 0 评论 -
PKU1410:判断线段是否跟矩形相交
注意:线段完全在矩形内也是相交,注意输入。解法:分别判断线段是否跟矩形的四条边相交,再判断线段的两个端点是否都在矩形内 #include#include#include#include#include#include#include #includeusing namespace std;#define inf 2147483646#define pi 3.14159265原创 2013-11-17 21:41:47 · 889 阅读 · 0 评论 -
欧拉四面体公式,用来求三棱椎的体积。
欧拉四面体公式,用来求三棱椎的体积。V=sqrt((4*a*a*b*b*c*c-a*a*(b*b+c*c-m*m)*(b*b+c*c-m*m)-b*b*(c*c+a*a-n*n)*(c*c+a*a-n*n)-c*c*(a*a+b*b-l*l)*(a*a+b*b-l*l)+(a*a+b*b-l*l)*(b*b+c*c-m*m)*(c*c+a*a-n*n)))/12;如三棱原创 2013-11-16 21:54:44 · 1467 阅读 · 0 评论 -
多边形的核
#include#include#include#include#include#include#include#include#include#define CL(arr, val) memset(arr, val, sizeof(arr))#define REP(i, n) for((i) = 0原创 2013-11-16 21:46:10 · 806 阅读 · 0 评论 -
HDU 3694 Fermat Point in Quadrangle (费马定理求四边形的费马点)
题意:给你四个点,找出一个点到四个点的距离最小四边形的费马点:凸边形是两对角线的交点,凹边形式凹点。PS:三角形的费马点:1.若三角形3个内角均小于120°,那么3条距离连线正好三等分费马点所在的周角,即该点所对三角形三边的张角相等,均为120°。所以三角形的费马点也称为三角形的等角中心。2.若三角形有一内角大于等于120°,则此钝角的顶点就是距离和最小的点原创 2014-07-03 19:28:51 · 1590 阅读 · 0 评论