亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 浮點(diǎn)函數(shù).txt

?? 這是ACM編程的常用模塊
?? TXT
字號(hào):
//浮點(diǎn)幾何函數(shù)庫(kù)
#include <math.h>
#define eps 1e-8
#define zero(x) (((x)>0?(x):-(x))<eps)
struct point{double x,y;};
struct line{point a,b;};

//計(jì)算cross product (P1-P0)x(P2-P0)
double xmult(point p1,point p2,point p0){
	return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);
}
double xmult(double x1,double y1,double x2,double y2,double x0,double y0){
	return (x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
}

//計(jì)算dot product (P1-P0).(P2-P0)
double dmult(point p1,point p2,point p0){
	return (p1.x-p0.x)*(p2.x-p0.x)+(p1.y-p0.y)*(p2.y-p0.y);
}
double dmult(double x1,double y1,double x2,double y2,double x0,double y0){
	return (x1-x0)*(x2-x0)+(y1-y0)*(y2-y0);
}

//兩點(diǎn)距離
double distance(point p1,point p2){
	return sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
double distance(double x1,double y1,double x2,double y2){
	return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}

//判三點(diǎn)共線
int dots_inline(point p1,point p2,point p3){
	return zero(xmult(p1,p2,p3));
}
int dots_inline(double x1,double y1,double x2,double y2,double x3,double y3){
	return zero(xmult(x1,y1,x2,y2,x3,y3));
}

//判點(diǎn)是否在線段上,包括端點(diǎn)
int dot_online_in(point p,line l){
	return zero(xmult(p,l.a,l.b))&&(l.a.x-p.x)*(l.b.x-p.x)<eps&&(l.a.y-p.y)*(l.b.y-p.y)<eps;
}
int dot_online_in(point p,point l1,point l2){
	return zero(xmult(p,l1,l2))&&(l1.x-p.x)*(l2.x-p.x)<eps&&(l1.y-p.y)*(l2.y-p.y)<eps;
}
int dot_online_in(double x,double y,double x1,double y1,double x2,double y2){
	return zero(xmult(x,y,x1,y1,x2,y2))&&(x1-x)*(x2-x)<eps&&(y1-y)*(y2-y)<eps;
}

//判點(diǎn)是否在線段上,不包括端點(diǎn)
int dot_online_ex(point p,line l){
	return dot_online_in(p,l)&&(!zero(p.x-l.a.x)||!zero(p.y-l.a.y))&&(!zero(p.x-l.b.x)||!zero(p.y-l.b.y));
}
int dot_online_ex(point p,point l1,point l2){
	return dot_online_in(p,l1,l2)&&(!zero(p.x-l1.x)||!zero(p.y-l1.y))&&(!zero(p.x-l2.x)||!zero(p.y-l2.y));
}
int dot_online_ex(double x,double y,double x1,double y1,double x2,double y2){
	return dot_online_in(x,y,x1,y1,x2,y2)&&(!zero(x-x1)||!zero(y-y1))&&(!zero(x-x2)||!zero(y-y2));
}

//判兩點(diǎn)在線段同側(cè),點(diǎn)在線段上返回0
int same_side(point p1,point p2,line l){
	return xmult(l.a,p1,l.b)*xmult(l.a,p2,l.b)>eps;
}
int same_side(point p1,point p2,point l1,point l2){
	return xmult(l1,p1,l2)*xmult(l1,p2,l2)>eps;
}

//判兩點(diǎn)在線段異側(cè),點(diǎn)在線段上返回0
int opposite_side(point p1,point p2,line l){
	return xmult(l.a,p1,l.b)*xmult(l.a,p2,l.b)<-eps;
}
int opposite_side(point p1,point p2,point l1,point l2){
	return xmult(l1,p1,l2)*xmult(l1,p2,l2)<-eps;
}

// 點(diǎn)關(guān)于直線的對(duì)稱點(diǎn) // by lyt
// 缺點(diǎn):用了斜率
// 也可以利用"點(diǎn)到直線上的最近點(diǎn)"來(lái)做,避免使用斜率。
point symmetric_point(point p1, point l1, point l2) {
  point ret;  
  if (l1.x > l2.x - eps && l1.x < l2.x + eps) {
    ret.x = (2 * l1.x - p1.x);
	ret.y = p1.y;
  } else {
    double k = (l1.y - l2.y ) / (l1.x - l2.x);
    ret.x = (2*k*k*l1.x + 2*k*p1.y - 2*k*l1.y - k*k*p1.x + p1.x) / (1 + k*k);
    ret.y = p1.y - (ret.x - p1.x ) / k;
  }
  return ret;
}

//判兩直線平行
int parallel(line u,line v){
	return zero((u.a.x-u.b.x)*(v.a.y-v.b.y)-(v.a.x-v.b.x)*(u.a.y-u.b.y));
}
int parallel(point u1,point u2,point v1,point v2){
	return zero((u1.x-u2.x)*(v1.y-v2.y)-(v1.x-v2.x)*(u1.y-u2.y));
}

//判兩直線垂直
int perpendicular(line u,line v){
	return zero((u.a.x-u.b.x)*(v.a.x-v.b.x)+(u.a.y-u.b.y)*(v.a.y-v.b.y));
}
int perpendicular(point u1,point u2,point v1,point v2){
	return zero((u1.x-u2.x)*(v1.x-v2.x)+(u1.y-u2.y)*(v1.y-v2.y));
}

//判兩線段相交,包括端點(diǎn)和部分重合
int intersect_in(line u,line v){
	if (!dots_inline(u.a,u.b,v.a)||!dots_inline(u.a,u.b,v.b))
		return !same_side(u.a,u.b,v)&&!same_side(v.a,v.b,u);
	return dot_online_in(u.a,v)||dot_online_in(u.b,v)||dot_online_in(v.a,u)||dot_online_in(v.b,u);
}
int intersect_in(point u1,point u2,point v1,point v2){
	if (!dots_inline(u1,u2,v1)||!dots_inline(u1,u2,v2))
		return !same_side(u1,u2,v1,v2)&&!same_side(v1,v2,u1,u2);
	return dot_online_in(u1,v1,v2)||dot_online_in(u2,v1,v2)||dot_online_in(v1,u1,u2)||dot_online_in(v2,u1,u2);
}

//判兩線段相交,不包括端點(diǎn)和部分重合
int intersect_ex(line u,line v){
	return opposite_side(u.a,u.b,v)&&opposite_side(v.a,v.b,u);
}
int intersect_ex(point u1,point u2,point v1,point v2){
	return opposite_side(u1,u2,v1,v2)&&opposite_side(v1,v2,u1,u2);
}

//計(jì)算兩直線交點(diǎn),注意事先判斷直線是否平行!
//線段交點(diǎn)請(qǐng)另外判線段相交(同時(shí)還是要判斷是否平行!)
point intersection(line u,line v){
	point ret=u.a;
	double t=((u.a.x-v.a.x)*(v.a.y-v.b.y)-(u.a.y-v.a.y)*(v.a.x-v.b.x))
			/((u.a.x-u.b.x)*(v.a.y-v.b.y)-(u.a.y-u.b.y)*(v.a.x-v.b.x));
	ret.x+=(u.b.x-u.a.x)*t;
	ret.y+=(u.b.y-u.a.y)*t;
	return ret;
}
point intersection(point u1,point u2,point v1,point v2){
	point ret=u1;
	double t=((u1.x-v1.x)*(v1.y-v2.y)-(u1.y-v1.y)*(v1.x-v2.x))
			/((u1.x-u2.x)*(v1.y-v2.y)-(u1.y-u2.y)*(v1.x-v2.x));
	ret.x+=(u2.x-u1.x)*t;
	ret.y+=(u2.y-u1.y)*t;
	return ret;
}

//點(diǎn)到直線上的最近點(diǎn)
point ptoline(point p,line l){
	point t=p;
	t.x+=l.a.y-l.b.y,t.y+=l.b.x-l.a.x;
	return intersection(p,t,l.a,l.b);
}
point ptoline(point p,point l1,point l2){
	point t=p;
	t.x+=l1.y-l2.y,t.y+=l2.x-l1.x;
	return intersection(p,t,l1,l2);
}

//點(diǎn)到直線距離
double disptoline(point p,line l){
	return fabs(xmult(p,l.a,l.b))/distance(l.a,l.b);
}
double disptoline(point p,point l1,point l2){
	return fabs(xmult(p,l1,l2))/distance(l1,l2);
}
double disptoline(double x,double y,double x1,double y1,double x2,double y2){
	return fabs(xmult(x,y,x1,y1,x2,y2))/distance(x1,y1,x2,y2);
}

//點(diǎn)到線段上的最近點(diǎn)
point ptoseg(point p,line l){
	point t=p;
	t.x+=l.a.y-l.b.y,t.y+=l.b.x-l.a.x;
	if (xmult(l.a,t,p)*xmult(l.b,t,p)>eps)
		return distance(p,l.a)<distance(p,l.b)?l.a:l.b;
	return intersection(p,t,l.a,l.b);
}
point ptoseg(point p,point l1,point l2){
	point t=p;
	t.x+=l1.y-l2.y,t.y+=l2.x-l1.x;
	if (xmult(l1,t,p)*xmult(l2,t,p)>eps)
		return distance(p,l1)<distance(p,l2)?l1:l2;
	return intersection(p,t,l1,l2);
}

//點(diǎn)到線段距離
double disptoseg(point p,line l){
	point t=p;
	t.x+=l.a.y-l.b.y,t.y+=l.b.x-l.a.x;
	if (xmult(l.a,t,p)*xmult(l.b,t,p)>eps)
		return distance(p,l.a)<distance(p,l.b)?distance(p,l.a):distance(p,l.b);
	return fabs(xmult(p,l.a,l.b))/distance(l.a,l.b);
}
double disptoseg(point p,point l1,point l2){
	point t=p;
	t.x+=l1.y-l2.y,t.y+=l2.x-l1.x;
	if (xmult(l1,t,p)*xmult(l2,t,p)>eps)
		return distance(p,l1)<distance(p,l2)?distance(p,l1):distance(p,l2);
	return fabs(xmult(p,l1,l2))/distance(l1,l2);
}

//矢量V以P為頂點(diǎn)逆時(shí)針旋轉(zhuǎn)angle并放大scale倍
point rotate(point v,point p,double angle,double scale){
	point ret=p;
	v.x-=p.x,v.y-=p.y;
	p.x=scale*cos(angle);
	p.y=scale*sin(angle);
	ret.x+=v.x*p.x-v.y*p.y;
	ret.y+=v.x*p.y+v.y*p.x;
	return ret;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩三级一区| 石原莉奈在线亚洲二区| 国产在线播精品第三| 日韩欧美久久久| 久久99在线观看| 久久久久99精品国产片| 国产一区欧美一区| 国产欧美精品国产国产专区 | 日韩美女久久久| 91小视频免费看| 艳妇臀荡乳欲伦亚洲一区| 欧美视频三区在线播放| 无吗不卡中文字幕| 精品久久久久久综合日本欧美| 国产在线不卡一卡二卡三卡四卡| 久久网站最新地址| 91视频www| 日韩国产欧美三级| 国产视频不卡一区| 色婷婷激情综合| 日韩和的一区二区| 国产亚洲一区字幕| 在线亚洲免费视频| 麻豆精品精品国产自在97香蕉| 国产日产欧美一区二区三区| 91麻豆自制传媒国产之光| 日韩精品一区第一页| 久久久久久电影| 色一情一伦一子一伦一区| 日日骚欧美日韩| 亚洲国产成人午夜在线一区| 91成人免费在线| 美日韩一级片在线观看| 最新不卡av在线| 欧美人xxxx| 成人高清视频在线| 蜜桃精品视频在线| 中文字幕一区二区三区乱码在线 | 亚洲人一二三区| 极品美女销魂一区二区三区免费| 日韩欧美国产三级| 国产乱码精品1区2区3区| 中文字幕一区二区三区在线播放| 国产在线精品一区二区夜色| 成人免费av在线| 国产欧美日韩亚州综合| 欧美日韩二区三区| 国产成人精品一区二区三区四区| 亚洲妇熟xx妇色黄| 国产精品久久久久久久久果冻传媒 | 91网页版在线| 韩国欧美国产一区| 天天影视涩香欲综合网| 国产精品久久久久影院老司| 成人激情午夜影院| 日韩极品在线观看| 国产欧美日韩中文久久| 91精品国产乱| 在线观看视频一区| 91伊人久久大香线蕉| 国产大陆精品国产| 激情五月婷婷综合| 日本三级韩国三级欧美三级| 亚洲乱码中文字幕| 国产精品国产a| 久久久精品黄色| 日韩一二在线观看| 欧美日韩亚洲综合一区 | 亚洲欧美一区二区不卡| 国产亚洲va综合人人澡精品| 日韩欧美一区中文| 4438x亚洲最大成人网| 欧美日韩在线电影| 在线观看视频欧美| 日本黄色一区二区| 在线观看亚洲专区| 欧美在线小视频| 欧美亚洲高清一区二区三区不卡| 99国产精品久久久久| 成人久久久精品乱码一区二区三区| 国产在线精品不卡| 国产做a爰片久久毛片| 毛片av一区二区| 精品一区在线看| 国产一区二区三区综合| 国产一区二区主播在线| 国内不卡的二区三区中文字幕| 久久国产成人午夜av影院| 久久精品99久久久| 精品一区二区三区久久| 久久se这里有精品| 国产精品18久久久久久久久| 国产乱淫av一区二区三区| 国产成人高清在线| 成人avav影音| 色综合久久久久综合体桃花网| 色av成人天堂桃色av| 欧美色偷偷大香| 3d动漫精品啪啪1区2区免费| 欧美不卡视频一区| 久久精品在线免费观看| 亚洲天堂a在线| 亚洲午夜成aⅴ人片| 蜜桃视频一区二区| 国产成a人亚洲| 91小视频在线免费看| 精品视频在线看| 精品国产一区二区三区忘忧草| 日本一区二区动态图| 日韩一区有码在线| 偷拍日韩校园综合在线| 久久激情五月激情| 不卡的av电影在线观看| 欧美视频在线一区二区三区 | 日韩一区二区三区在线| 国产人伦精品一区二区| 樱花影视一区二区| 久久99精品久久久| 91片黄在线观看| 日韩欧美123| 中文字幕一区二区三区精华液| 午夜视频在线观看一区二区 | 久久久久久99久久久精品网站| 国产精品久久久久久久久晋中| 亚洲aⅴ怡春院| 国产美女精品人人做人人爽| 在线精品国精品国产尤物884a| 欧美大片日本大片免费观看| 国产精品久久久久久久久晋中| 石原莉奈在线亚洲三区| 国产成人三级在线观看| 欧美日韩美少妇| 国产欧美精品一区| 五月天亚洲精品| 成人av网址在线| 精品国产乱码久久久久久图片 | 久久中文娱乐网| 午夜视频在线观看一区二区| 丁香婷婷综合色啪| 在线播放亚洲一区| 亚洲精品高清视频在线观看| 精品一区二区久久久| 欧美男同性恋视频网站| 亚洲欧美日韩国产另类专区 | 亚洲aaa精品| 成人精品一区二区三区中文字幕| 欧美一区二区三区男人的天堂| 亚洲精品综合在线| 懂色av噜噜一区二区三区av| 26uuu国产在线精品一区二区| 午夜精品免费在线| 91国产精品成人| 中文字幕一区二区三区四区不卡| 国产黄色精品网站| 欧美成人乱码一区二区三区| 天堂va蜜桃一区二区三区| av资源网一区| 国产精品久久久99| 国产精品一级片在线观看| 日韩三级精品电影久久久| 亚洲国产成人av网| 在线观看免费一区| 亚洲激情欧美激情| 一本到一区二区三区| 成人欧美一区二区三区1314| 成人av在线观| 国产精品全国免费观看高清| 国产成人啪免费观看软件| 26uuu色噜噜精品一区二区| 免费看黄色91| 日韩精品一区二区三区四区| 美女高潮久久久| 精品欧美一区二区久久| 精品一区二区久久久| 久久一夜天堂av一区二区三区| 精品一区二区在线看| 久久久久9999亚洲精品| 国产精品小仙女| 国产精品久久久久久久浪潮网站 | 99热精品国产| 亚洲伦理在线免费看| 欧美优质美女网站| 亚洲sss视频在线视频| 制服视频三区第一页精品| 日本免费新一区视频| 亚洲精品在线电影| 国产精品白丝av| 中文欧美字幕免费| 99综合影院在线| 欧美mv日韩mv国产网站| 91麻豆自制传媒国产之光| 国内精品嫩模私拍在线| 国产精品18久久久久久久久| 国产suv精品一区二区883| 激情综合一区二区三区| 成人一区二区视频| 亚洲情趣在线观看| 欧美性色综合网| 狠狠久久亚洲欧美| 中文在线资源观看网站视频免费不卡 |