二維幾何問題的常用函式

2021-08-09 14:14:21 字數 1367 閱讀 6416

二維幾何問題的一些基本函式實現

#include

#include

#include

#include

using

namespace

std;

const

double eps=1e-10;

struct point

};typedef point vector;

vector operator + (point a,point b)//向量+向量=向量,點+向量=點

vector operator - (point a,point b)//點-點=向量

vector operator * (point a,double p)//向量*數=向量

vector operator / (point a,double p)向量/數=向量

bool

operator

< (const point & a,const point &b)

bool

operator == (const point &a,const point &b)//判斷相等

double dot (vector a,vector b )//點積

double length(vector a) //向量長度

double angle(vector a,vector b)//a與b的夾角

double cross(vector a,vector b)//向量的叉積(重要)

double area2(point a,point b,point c)//三角形有向面積的兩倍

vector rotate(vector a,double rad)//向量繞起點旋轉

vector normal (vector a)//向量的單位法向量

point getlineintersection(point p,vector v,point q,vector w)//二直線的交點

double distanctoline(point p,point a,point b)//點到直線的距離

double distancetosegment(point p,point a,point b)//點到線段的距離

point getlineprojection(point p,point a,point b)//點在直線上的投影

bool segmentproperintersection(point a1,point a2,point b1,point b2)//線段相交的判定(不含端點)

double convexpolygoarea(point *p,int n)//多邊形的有向面積

int main()

二維幾何模板 二維幾何基礎

二維幾何模板 include include include include include include include include include using namespace std 二維幾何基礎 struct point typedef point vector const doub...

二維幾何基礎

模板 from 紫書 includeusing namespace std typedef long double ld const ld eps 1e 10 const ld pi acos ld 1.0 struct point typedef point vector vector opera...

二維幾何基礎

在幾何中,向量是乙個炒雞重要的東西,像空氣對於人,水對於魚 qaq 在這裡就不詳細介紹向量了,大家在高中數學中會學到,數學毒瘤,貌似資訊也是哈哈哈 下面是他們的常用定義 struct point 建構函式,方便 編寫 typedef point vector 從程式實現上,vector只是point...