#include<bits/stdc++.h>
#define eps (1e-10)
using namespace std;
class Point
{
public:
double x,y;
Point(double _x=0,double _y=0):x(_x),y(_y){}
Point operator + (Point p){ return Point(x+p.x,y+p.y);}
Point operator - (Point p){ return Point(x-p.x,y-p.y);}
Point operator * (double a){return Point(a*x,a*y);}
Point operator / (double a){return Point(x/a,y/a);}
double norm(){return x*x+y*y;}
double ABS(){return sqrt(norm());}
};
struct Segment
{
Point p1,p2;
};
//判断是否正交 向量内积:a*b=|a||b|*cos(Y) 当cos为0时正交(90,-90垂直)
//a*b=a.x*b.x+a.y*b.y;
bool solve1(Point a,Point b)
{
double f=a.x*b.x+a.y*b.y;
if(fabs(f-0.0)<eps) return true;
else return false;
}
//判断是否平行 向量外积:|a*b|=|a||b|sin(Y) 当sin为0时平行(180,0平行)
//|a*b|=|a|*|b|*sin(Y)
bool solve2(Point a,Point b)
{
double f=a.x*b.y-a.y*b.x;
if(fabs(f-0.0)<eps) return true;
else return false;
}
double d
挑战程序设计 CGL_1_A:Projection
最新推荐文章于 2020-10-26 20:09:59 发布
本文详细探讨了CGL(Challenge in Graphical Language)中的第一部分A题——Projection,介绍了如何解决图形投影问题,包括关键算法和实现步骤,帮助读者理解并掌握相关程序设计技巧。
摘要由CSDN通过智能技术生成