
几何
.
美少女zss
ccpc绵阳铜,icpc西安银,jscpc江苏金。
展开
-
杭电多校-Map-(模拟退火)
那么就固定的四个点的比例,这样就可以确定了。每次随机平面上的点作为p点,如果此时的p点的4个比例差最大的,也就是最不接近的那个还比我现在的p的最不接近的更优的画,那么我手里的p点就成为这个p点。2.现在就是如何找p的问题了,当时于说暴力找,就是每次枚举整个图的每个点找到比例最好的p点,然后再缩小范围再找。3.然后想了想这种找最优点的题目,就我之前做的模拟退火的题一样呀,模拟退火就是在图形上求最优点的算法。5.虽然这个做法是超时的,但是我感觉是个不错的练模拟退火的题目,如果查询次数没那么多,应该就可以过了。.原创 2022-08-07 21:26:08 · 193 阅读 · 0 评论 -
空间四面体体积公式
int T,n,m;int va[N];db volume(db x1,db y1,db z1,db x2,db y2,db z2,db x3,db y3,db z3,db x4,db y4,db z4);signed main(){ IOS; double x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4; cin>>x1>>y1>>z1; cin>>x2>>y2>>z2;原创 2021-10-23 13:56:23 · 1315 阅读 · 0 评论 -
判断点到线段的距离
sturct Point{ db x,db y;}db getdis2(Point a, Point b){ return (a.x - b.x)*(a.x - b.x) + (a.y - b.y)*(a.y - b.y);}db disMin(Point A, Point B,Point P) //线段端点A和B,外点P{ double r = ((P.x - A.x)*(B.x - A.x) + (P.y - A.y)*(B.y - A.y)) / getDis2(A,B); i原创 2022-02-08 20:05:22 · 990 阅读 · 0 评论 -
判断线段是否相交和求平面四点的面积
struct Point{ db x; db y;}; bool isRectCross(Point p1,Point p2,Point q1,Point q2) { return min(p1.x,p2.x) <= max(q1.x,q2.x) && min(q1.x,q2.x) <= max(p1.x,p2.x) && min(p1.y,p2.y) <= max(q1.y,q2.y原创 2022-02-18 15:59:09 · 155 阅读 · 0 评论 -
判断4点是否为正方形
double Distance(int x1,int y1,int x2,int y2){ return sqrt(pow((x1-x2),2)+pow((y1-y2),2));}bool IsRightAngle(int x1,int y1,int x2,int y2,int x3,int y3){ if((x2-x1)*(x3-x1)+(y2-y1)*(y3-y1)==0) return true; return false;}bool IsSquare(int原创 2022-02-23 15:42:09 · 536 阅读 · 0 评论