青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 12,  comments - 40,  trackbacks - 0
計算幾何相關模板(更新中……)
最近在學計算幾何,邊學,邊整理模板,有錯的話請大家指出!
 1//計算幾何模板 ~ alpc02
 2const double PRECISION = 1e-8;
 3struct Point {
 4    double x, y;
 5}
;
 6int dblcmp(double d) {
 7    return (fabs(d) < PRECISION) ? 0:(d>0 ? 1:-1);
 8}
 //三叉口函數,避免精度誤差
 9double length(double x, double y) {
10    return sqrt(x*+ y*y);
11}
 //向量長度
12double dotdet(double x1, double y1, double x2, double y2) {
13    return x1*x2 + y1*y2;
14}
 //點積
15double det(double x1, double y1, double x2, double y2) {
16    return x1*y2 - x2*y1;
17}
 //叉積
18int cross(const Point &a, const Point &c, const Point &d) {
19    return dblcmp( det(a.x-c.x, a.y-c.y, d.x-c.x, d.y-c.y) );
20}
 //右手螺旋定則,1——a在cd右側,-1——a在cd左側,0——三點共線
21bool between(const Point &a, const Point &c, const Point &d) {
22    return dblcmp( dotdet(c.x-a.x, c.y-a.y, d.x-a.x, d.y-a.y) ) != 1;
23}
 //在cross(a,c,d)==0的基礎上,可判斷點a是否在cd內部
24int segIntersect(const Point &a, const Point &b, const Point &c, const Point &d) {
25    int a_cd = cross(a,c,d);
26    if(a_cd == 0 && between(a,c,d))    return 2;
27    int b_cd = cross(b,c,d);
28    if(b_cd == 0 && between(b,c,d))    return 2;
29    int c_ab = cross(c,a,b);
30    if(c_ab == 0 && between(c,a,b))    return 2;
31    int d_ab = cross(d,a,b);
32    if(d_ab == 0 && between(d,a,b))    return 2;
33    if ((a_cd ^ b_cd) == -2 && (c_ab ^ d_ab) == -2)
34        return 1;
35    return 0;
36}
 //兩線段相交情況:0——不相交,1——規范相交,2——不規范相交(交于端點或重合)
37void intersectPoint(const Point &a, const Point &b, const Point &c, const Point &d, Point &e) {
38    double sc, sd;
39    sc = fabs( det(b.x-a.x, b.y-a.y, c.x-a.x, c.y-a.y) );
40    sd = fabs( det(b.x-a.x, b.y-a.y, d.x-a.x, d.y-a.y) );
41    e.x = (sc * d.x + sd * c.x) / (sc + sd);
42    e.y = (sc * d.y + sd * c.y) / (sc + sd);
43}
 //兩線段規范相交時,求交點坐標
44int linesegIntersect(const Point &a, const Point &b, const Point &c, const Point &d) {
45    int c_ab = cross(c,a,b);
46    if(c_ab == 0)    return 2;
47    int d_ab = cross(d,a,b);
48    if(d_ab == 0)    return 2;
49    if(c_ab ^ d_ab == -2)
50        return 1;
51    return 0;
52}
 //直線ab和線段cd相交情況:0——不相交,1——規范相交,2——不規范相交(交于端點或重合)
53int lineIntersect(const Point &a, const Point &b, const Point &c, const Point &d) {
54    if(dblcmp(det(b.x-a.x, b.y-a.y, d.x-c.x, d.y-c.y)) != 0)
55        return 1;
56    if(cross(a,c,d) == 0)
57        return 2;
58    return 0;
59}
 //兩直線相交情況:0——平行,1——規范相交,2——不規范相交(重合)
60



posted on 2007-08-22 18:39 LSM 閱讀(1955) 評論(6)  編輯 收藏 引用 所屬分類: 計算幾何

FeedBack:
# re: 計算幾何相關模板(更新中……)[未登錄]
2007-08-23 12:45 | Jarod
我還以為是 template.....  回復  更多評論
  
# re: 計算幾何相關模板(更新中……)
2007-08-23 14:09 | DeathKnight
計算幾何應該有一些不錯的庫@Jarod
  回復  更多評論
  
# re: 計算幾何相關模板(更新中……)[未登錄]
2007-08-24 08:53 | LSM

@Jarod
應該叫做acm/icpc中計算幾何常用函數
比賽時應該很實用的  回復  更多評論
  
# re: 計算幾何相關模板(更新中……)[未登錄]
2007-08-24 08:54 | LSM
@LSM
哦?
比如?  回復  更多評論
  
# re: 計算幾何相關模板(更新中……)
2009-05-11 21:23 | qq867062837
我覺得直線和線段相交判斷的就有問題
比如
P1(0,0) P2(0,2)
P3(1,1) P4(2,1)
P1P2直線與p3p4線段應該是不想交的
而此處的模板卻得到了1
  回復  更多評論
  
# re: 計算幾何相關模板(更新中……)
2010-03-20 23:49 | 發生的范德薩
模板 打天下。什么世道?  回復  更多評論
  
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

牛牛 ACM/ICPC

最新隨筆

搜索

  •  

最新隨筆

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜桃av一区| 一本色道久久加勒比精品| 午夜视频久久久久久| 亚洲视频在线观看网站| 国产精品视频区| 老**午夜毛片一区二区三区| 久久久久久久一区二区三区| 亚洲啪啪91| 一个色综合av| 国产在线精品二区| 欧美高清视频| 国产精品久久久久毛片软件| 久久精品国产精品亚洲| 久久久噜噜噜久久中文字幕色伊伊| 91久久久久久久久久久久久| 亚洲毛片在线看| 国产自产在线视频一区| 亚洲欧洲精品一区二区| 国产精品欧美在线| 亚洲电影视频在线| 国产精品人人做人人爽人人添 | 国产精品久久久亚洲一区 | 欧美一区二区三区四区高清| 久久精品国产在热久久 | 日韩亚洲国产欧美| 午夜精品视频在线观看一区二区| 亚洲国产精品久久久久秋霞不卡| 99精品黄色片免费大全| 狠狠久久婷婷| 亚洲永久免费av| 99精品视频免费观看视频| 性色av一区二区三区| 日韩一级在线观看| 久久久久一区二区| 欧美一区精品| 欧美日韩国产综合新一区| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩一区二区三区| 欧美gay视频| 国产一区二区欧美日韩| 一区二区三区四区蜜桃| 亚洲免费观看| 欧美大片91| 欧美电影电视剧在线观看| 国产人成精品一区二区三| 亚洲免费观看在线视频| 亚洲国产视频a| 久久精品国产亚洲一区二区三区 | 亚洲国产导航| 久久另类ts人妖一区二区| 欧美一区二区免费观在线| 欧美日韩综合精品| 一区二区欧美在线观看| 一区二区三区国产| 欧美久久视频| 亚洲美女精品久久| 99精品热视频| 欧美三级在线视频| 亚洲国产mv| 六月丁香综合| 欧美激情亚洲另类| 欧美视频一区二区三区| 亚洲午夜伦理| 欧美日韩精品在线| 99综合视频| 亚洲欧美一区二区三区久久| 国产精品国产三级国产普通话三级 | 久久精品视频99| 狂野欧美一区| 亚洲娇小video精品| 欧美.www| 亚洲人成在线播放| 一区二区三区国产| 国产精品自拍小视频| 欧美一区二区三区视频| 欧美jizzhd精品欧美巨大免费| 在线看欧美日韩| 欧美日韩国产免费| 亚洲综合清纯丝袜自拍| 久久久视频精品| 亚洲日韩欧美视频| 欧美吻胸吃奶大尺度电影| 亚洲一区视频| 男男成人高潮片免费网站| 亚洲精品中文字幕有码专区| 国产精品久久九九| 久久免费国产精品| 亚洲乱码精品一二三四区日韩在线 | 国产久一道中文一区| 久久国产精彩视频| 91久久亚洲| 欧美一区二区视频97| 在线观看视频一区| 国产精品久久久久久久久久三级 | 国产一区美女| 欧美日产国产成人免费图片| 亚洲一区久久| 亚洲高清在线播放| 欧美在线视频在线播放完整版免费观看| 黄色综合网站| 国产精品电影在线观看| 久久久久久网| 亚洲欧美精品在线观看| 亚洲电影一级黄| 久久久久高清| 亚洲永久免费观看| 91久久中文| 好吊日精品视频| 国产精品久在线观看| 欧美成年人视频网站欧美| 校园激情久久| 一区二区三区导航| 亚洲国产日韩欧美在线99| 欧美在线看片| 亚洲欧美高清| 一本色道久久综合一区| 影音先锋亚洲精品| 国产色产综合产在线视频| 欧美一区二区三区在线观看| 欧美日韩福利视频| 久久不射中文字幕| 亚洲男人的天堂在线| 亚洲人成在线播放| 欧美激情视频一区二区三区不卡| 羞羞视频在线观看欧美| 在线亚洲欧美| 国产精品99久久久久久久女警 | 在线免费不卡视频| 国产日韩亚洲欧美综合| 国产精品久久久久毛片软件| 欧美日韩国产三区| 欧美国产日韩在线观看| 久久久亚洲国产美女国产盗摄| 香蕉亚洲视频| 性一交一乱一区二区洋洋av| 亚洲一区二区三区四区视频| 一区二区三区国产盗摄| 在线亚洲成人| 亚洲一二三四久久| 亚洲主播在线| 午夜精品在线观看| 欧美一区二区视频网站| 久久国产精品99国产精| 欧美中文字幕在线播放| 久久精品国产v日韩v亚洲| 久久国产精品久久久| 久久看片网站| 欧美精品日韩| 欧美少妇一区| 国产精品色在线| 国模大胆一区二区三区| 在线看日韩av| 一本色道久久综合亚洲二区三区| 中文国产一区| 欧美一区二区三区在线视频 | 欧美激情一二区| 日韩一区二区高清| 亚洲视频在线播放| 久久精品国产在热久久| 欧美成人中文字幕| 欧美系列一区| 国内久久婷婷综合| 亚洲精品美女91| 香蕉成人久久| 欧美成人黄色小视频| 亚洲高清在线| 亚洲自拍电影| 免费久久99精品国产| 欧美日韩精选| 国产一区二区按摩在线观看| 亚洲国产欧美在线人成| 亚洲一区成人| 欧美成人免费大片| 一本色道久久综合一区| 久久精品30| 欧美午夜电影在线观看| 好看不卡的中文字幕| 中文亚洲免费| 牛牛国产精品| 国产精品99久久久久久久vr| 久久久久久久一区二区| 欧美体内she精视频| 欲色影视综合吧| 亚洲欧美日韩国产精品| 欧美黑人在线播放| 午夜激情综合网| 欧美精品一区在线| 伊人久久大香线| 性做久久久久久| 一本综合久久| 麻豆成人91精品二区三区| 国产欧美日韩精品专区| 一区二区av在线| 欧美韩日视频| 久久久亚洲综合| 国产午夜精品全部视频播放| 亚洲图片在区色| 亚洲国产成人午夜在线一区 | 一区二区欧美视频| 欧美丰满高潮xxxx喷水动漫|