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

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>
            国产精品99久久久久久人| 久久蜜桃香蕉精品一区二区三区| 一区二区三区免费观看| 在线欧美电影| 亚洲第一页在线| 亚洲人成小说网站色在线| 亚洲激情视频在线| aa国产精品| 亚洲无毛电影| 欧美永久精品| 久久福利视频导航| 久久久999精品| 免费日韩精品中文字幕视频在线| 欧美第一黄色网| 亚洲人成7777| 欧美激情精品久久久久久免费印度| 免费观看不卡av| 亚洲精品午夜| 香蕉成人久久| 欧美成人乱码一区二区三区| 欧美精品v国产精品v日韩精品| 欧美电影免费观看高清| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩在线电影| 狠狠狠色丁香婷婷综合久久五月| 亚洲三级影院| 亚洲欧美在线x视频| 免费成人av资源网| 欧美大片免费久久精品三p | 亚洲欧美国产一区二区三区| 欧美亚洲综合另类| 久久永久免费| 欧美日韩精品在线| 黄色成人片子| 亚洲精品乱码久久久久久蜜桃91| 99精品福利视频| 久久爱另类一区二区小说| 亚洲狠狠婷婷| 欧美自拍偷拍午夜视频| 欧美成人免费全部| 国产精品美腿一区在线看| 亚洲欧洲精品一区二区三区| 久久久国产精品一区二区三区| 日韩午夜剧场| 欧美国产视频一区二区| 一区二区在线观看av| 性久久久久久久| 一二美女精品欧洲| 欧美看片网站| 亚洲美女诱惑| 亚洲高清免费在线| 欧美aⅴ一区二区三区视频| 欧美日韩一区二区三区在线看 | 午夜老司机精品| 欧美视频中文一区二区三区在线观看 | 日韩视频不卡| 亚洲福利视频专区| 欧美大片第1页| 伊人久久亚洲影院| 久久久久久久网| 久久精品国产一区二区三 | 亚洲一区欧美二区| 一本大道久久a久久精二百| 欧美精品一区三区| 一区二区三区视频在线观看 | 久久久久久夜| 性欧美暴力猛交69hd| 国产视频精品va久久久久久| 欧美中文字幕| 久久久精品性| 亚洲理论电影网| 一本色道**综合亚洲精品蜜桃冫| 欧美日韩一区二区在线播放| 亚洲电影免费观看高清| 亚洲大胆人体视频| 久久婷婷色综合| 亚洲国产中文字幕在线观看| 欧美激情自拍| 欧美母乳在线| 亚洲欧美日韩精品在线| 欧美一区二区三区喷汁尤物| 狠狠色伊人亚洲综合成人| 久久综合国产精品| 欧美激情精品久久久| 亚洲午夜一区| 久久se精品一区精品二区| 亚洲国产精品999| 亚洲视屏在线播放| 在线免费高清一区二区三区| 亚洲另类自拍| 国产精自产拍久久久久久蜜| 久久综合狠狠综合久久激情| 欧美黄色成人网| 亚洲欧美三级在线| 乱人伦精品视频在线观看| 亚洲一区二区日本| 久久久99爱| 亚洲欧美经典视频| 免费av成人在线| 欧美一区二区三区免费看| 免费观看成人| 欧美一二区视频| 欧美成人精品三级在线观看| 性做久久久久久久久| 免费看的黄色欧美网站| 亚洲综合色激情五月| 久久精品国产亚洲一区二区三区 | 亚洲免费av观看| 狠狠久久亚洲欧美| 99国产精品国产精品久久 | 亚洲成人资源网| 亚洲深夜av| 99在线精品免费视频九九视| 久久久久久色| 久久精品免费看| 欧美日韩亚洲系列| 欧美成人网在线| 国产亚洲精品久| 亚洲美女av黄| 亚洲欧洲一区二区三区久久| 欧美亚洲综合另类| 亚洲欧美日韩精品| 免费日韩成人| 牛牛国产精品| 国产字幕视频一区二区| 亚洲一区二区欧美日韩| 99热这里只有成人精品国产| 快射av在线播放一区| 久久综合中文| 国产欧美亚洲视频| 亚洲一区二区三区高清| 亚洲一区中文字幕在线观看| 欧美日韩视频在线一区二区观看视频 | 日韩午夜av在线| 免费在线亚洲欧美| 久久一区亚洲| 国产一区二区三区成人欧美日韩在线观看 | 久久综合网hezyo| 久久久久久久97| 国产午夜精品一区理论片飘花 | 欧美视频一区二| 亚洲精品视频在线观看免费| 亚洲毛片在线免费观看| 久久久999成人| 久久久五月婷婷| 激情视频亚洲| 欧美一区午夜视频在线观看| 久久爱另类一区二区小说| 国产精品麻豆va在线播放| 一区二区av在线| 在线视频欧美日韩精品| 欧美日韩在线观看一区二区| 99re这里只有精品6| 在线视频欧美精品| 国产乱码精品一区二区三区不卡| 性欧美xxxx大乳国产app| 欧美大片专区| 亚洲综合视频网| 国产综合久久| 欧美成人国产一区二区| 夜夜嗨av一区二区三区免费区| 中文成人激情娱乐网| 国产精品视频久久| 久久精品久久99精品久久| 裸体素人女欧美日韩| 亚洲人精品午夜| 国产精品二区三区四区| 性欧美暴力猛交69hd| 欧美电影电视剧在线观看| 亚洲午夜未删减在线观看| 国产农村妇女毛片精品久久麻豆| 久久久久国产精品午夜一区| 亚洲日本中文字幕| 久久国产精品99精品国产| 亚洲精品系列| 国产日韩综合一区二区性色av| 久热re这里精品视频在线6| 日韩视频在线你懂得| 久久久久网址| 在线亚洲精品| 国产日韩欧美不卡| 欧美国产视频一区二区| 亚洲四色影视在线观看| 欧美大色视频| 久久国产福利| 一区二区三区日韩欧美精品| 精品不卡在线| 国产精品久久久久影院色老大| 国产精品国产三级国产专播品爱网 | 99国产精品一区| 影音先锋日韩资源| 国产精品亚洲精品| 欧美成人国产一区二区| 亚洲欧美精品一区| 99国产精品99久久久久久粉嫩| 欧美大胆成人| 美女视频黄 久久| 久久久久久久综合色一本| 一个色综合av| 99pao成人国产永久免费视频|