ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算几何模板

2021-04-22 18:34:27  阅读:174  来源: 互联网

标签:ld %. return Point 2Lf p1 计算 几何 模板


using namespace std;
typedef  long double ld;
const ld eps = 1e-8;
const int N = 50009;
struct Point {
    ld x, y;
    Point(ld X = 0, ld Y = 0) { x = X, y = Y; }
    Point operator-(Point a) { return Point(x - a.x, y - a.y); }
    Point operator+(Point a) { return Point(x + a.x, y + a.y); }
    ld operator*(Point a) { return x * a.y - y * a.x; }
    Point operator*(ld a) {return Point(x * a,y * a);}
    ld dis() {
        return sqrt(x * x + y * y);
    }
    void out() {
        printf("%.2Lf %.2Lf\n", x,y);
    }
} p[N];
int dcmp(ld a, ld b) {
    if (fabs(a-b)< eps)return 0;
    else if (a > b)return 1;
    else return -1;
}
typedef Point Vector;
struct Line {
    Point p1, p2;
    Vector v;
    //Line(Point P1= {}, Point P2 = {}, Vector V = {}) {p1 = P1, p2=P2, v = V;}
    void out() {
        printf("%.2Lf %.2Lf -> %.2Lf %.2Lf\n", p1.x,p1.y, p2.x, p2.y);
    }
}L[N];
void out(ld x) {
    printf("%.2Lf\n", x);
}
Point GetCross(Line a, Line b) {
    Vector v = b.p1 - a.p1;
    return b.p1 + (b.v * ((v * a.v) / (a.v * b.v)));
}

标签:ld,%.,return,Point,2Lf,p1,计算,几何,模板
来源: https://www.cnblogs.com/Xiao-yan/p/14690764.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有