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

zyzx的小窩

C/C++,GUI,個人移動存儲,zyzx_lsl@163.com

 

(N6)多邊形面積計算

/* Create by zyzx
* Created 2008-11-4
* Modified 2008-11-4
*/?

?????? 在網上查了下,計算多邊形面積主要有2種方法:1、在多邊形內部取一點,構成三角形,再求三角形面積,此方法缺陷很多。2、矢量運算法,這里主要介紹矢量運算法。

???? 我們都知道已知A(x1,y1)B(x2,y2)C(x3,y3)三點的面積公式為 ?
??????????????? |x1? x2? x3| ?
???? S(A,B,C) = |y1? y2? y3| * 0.5 (當三點為逆時針時為正,順時針則為負的)???
??????????????? |1?? 1?? 1 | ?
? ?
???? 對多邊形A1A2A3、、、An(順或逆時針都可以),設平面上有任意的一點P,則有: ?
? ?? S(A1,A2,A3,、、、,An) ?
? ?? = abs(S(P,A1,A2)+ S(P,A2,A3)+、、、+S(P,An,A1))
???? P是可以取任意的一點,用(0,0)就可以了。 ?
????

代碼實現如下:
?1?double?PolygonArea(const?Point_F*?p,?int?n);
?2?double?Matrix3Pt(?Point_F?pt1,?Point_F?pt2,?Point_F?pt3?);
?3?
?4?struct?Point_F?
?5?{
?6????? Point_F()?{}
?7????? Point_F(double?x,?double?y)?:?x(x),?y(y)?{}
?8?
?9????? double?x;
10????? double?y;
11?};
12?
13?
14?/*?功能:計算多邊形面積
15??*?條件:非歧義多邊形
16??*?參數:
17??*???Point_F*??p?多邊形頂點序列:順時針,逆時針
18??*???int?n???????多邊形頂點個數
19??*?返回:面積
20?*/
21?double PolygonArea(?const?Point_F*?p,?int?n?)
22?{
23?????/*
24????????多邊形面積
25????????S(?A1,?A2,?A3,??,?An?)
26????????=?abs(?S(P,?A1,?A2)?+?S(P,?A2,?A3)?+?S(P,?A3,?A4)?+??+?S(P,?An,?A1)?)
27????????P?為任意點?(?默認?P?=?(0,?0)?)
28?????*/
29?
30?????double?area?=?0;
31?????int?iP?=?0;
32?????Point_F*?pPt?=?(Point_F*)p;
33?
34?????assert(?pPt?);
35?????if(?n?<=?2?)?return?0.0;
36?
37?????do?
38?????{
39?????????iP?+=?1;
40?????????if(?n?>?iP?)
41?????????{
42??????????????area?=?area?+?Matrix3Pt(?Point_F(0,0),?*pPt,?*(pPt?+?1)?);
43?????????}else?if(?n?==?iP?){
44?????????????area?=?area?+?Matrix3Pt(?Point_F(0,0),?*pPt,?*p?);
45?????????}else{
46?????????????break;
47?????????}
48?????????pPt?+=?1;
49?????}?while?(?n?>=?iP?);
50?
51?????area?=?fabs(?area?);
52?
53?????return?area;
54?}
55?
56?/*?
57??*?功能:3點矢量行列式,算子->求面積
58?*/
59?double Matrix3Pt(?Point_F?pt1,?Point_F?pt2,?Point_F?pt3?)
60?{
61?????/*
62?????????3點?行列式展開
63???????????????????? |?x1,?x2,?x3?|
64???????? S(A,B,C)?=??|?y1,?y2,?y3?|?*?0.5
65???????????????????? |?1,??1,? 1? |
66??? ? ?? =?(?x1*y2?-?x1*y3?-?x2*y1?+?x2*y3?+?x3*y1?-?x3*y2?)?*?0.5
67?????*/
68?????return?(?pt1.x?*?pt2.y?-
69????????????? pt1.x?*?pt3.y?-
70????????????? pt2.x?*?pt1.y?+
71????????????? pt2.x?*?pt3.y?+
72????????????? pt3.x?*?pt1.y?-
73????????????? pt3.x?*?pt2.y
74??????????? )?*?0.5?;
75?}


測試效果:
?1?//?*?測試例子
?2?
?3?void?main()
?4?{
?5?????Point_F?pt[?4]?=?{
?6?????????Point_F(?0,?0?),
?7?????????Point_F(?100,?0?),
?8?????????Point_F(?100,?100?),
?9?????????Point_F(?0,?100?)
10?????};
11?
12?????double?area?=?PolygonArea(?pt,?4?);
13?
14?????
15?}

posted on 2009-04-27 17:26 zyzx 閱讀(3616) 評論(0)  編輯 收藏 引用 所屬分類: C/C++體會

導航

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

常用鏈接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品美女久久久久久久| 亚洲影音先锋| 中文精品在线| 欧美性色aⅴ视频一区日韩精品| 在线视频精品| 久久亚洲私人国产精品va| 亚洲大胆av| 欧美日韩国产色视频| 亚洲一区二区综合| 另类天堂视频在线观看| 亚洲激情在线激情| 欧美人妖在线观看| 午夜精品福利电影| 亚洲成色777777女色窝| 亚洲一区不卡| 一区二区视频免费完整版观看| 欧美91大片| 亚洲中字在线| 亚洲第一在线视频| 久久gogo国模啪啪人体图| 在线欧美日韩精品| 国产精品电影观看| 久久人人爽爽爽人久久久| 99精品欧美| 久久男人资源视频| 亚洲无亚洲人成网站77777 | 一本色道精品久久一区二区三区 | 另类专区欧美制服同性| 99re热这里只有精品视频| 国产三区精品| 欧美视频四区| 久久综合九色综合欧美狠狠| 亚洲午夜精品国产| 亚洲国产精品一区二区www在线 | 欧美日韩日本网| 久久激情视频久久| 久久精品综合一区| 亚洲人体影院| 久久久99精品免费观看不卡| 99精品视频免费观看视频| 好吊色欧美一区二区三区视频| 欧美精品不卡| 久久综合色播五月| 欧美影院在线| 亚洲一区二区三区午夜| 亚洲电影在线观看| 久久五月天婷婷| 午夜精品久久久久99热蜜桃导演| 亚洲美女在线一区| 1000部国产精品成人观看| 国产亚洲欧美aaaa| 国产精品日日摸夜夜摸av| 欧美精品一线| 欧美精品一区二区三区一线天视频| 久久久久九九九九| 久久电影一区| 欧美一区二区三区视频免费| 国产精品视频一二| 久久久久久欧美| 香蕉久久久久久久av网站| 中文av一区特黄| 亚洲精品自在久久| 亚洲高清视频在线| 欧美激情1区2区3区| 久久一区二区三区四区五区| 久久久五月天| 久久综合给合| 免费成人黄色| 欧美大片在线观看一区| 欧美激情视频在线免费观看 欧美视频免费一| 久久精品九九| 久久一区二区视频| 老司机免费视频一区二区| 老色鬼精品视频在线观看播放| 久久久久久久久久久成人| 久热国产精品视频| 欧美va亚洲va香蕉在线| 亚洲国产精品一区二区www| 亚洲国产第一页| 亚洲精品视频在线观看网站| 日韩天堂在线视频| 中文在线一区| 欧美一级网站| 久久久久网站| 欧美岛国激情| 国产精品成人国产乱一区| 国产精品自拍网站| 在线国产精品一区| 日韩天堂在线视频| 亚洲一区二区三区在线视频| 欧美一区二区三区播放老司机| 久久国产精品久久久| 免费成人网www| 亚洲精品欧美精品| 亚洲欧美中文日韩在线| 久久理论片午夜琪琪电影网| 欧美黄色成人网| 国产精品看片你懂得| 极品尤物久久久av免费看| 亚洲美女黄网| 欧美在线观看一区| 欧美黄色小视频| 亚洲桃花岛网站| 久久久视频精品| 欧美系列一区| 在线观看福利一区| 亚洲少妇最新在线视频| 久久久免费精品| 亚洲精品久久久久久久久久久久| 亚洲综合丁香| 男人天堂欧美日韩| 国产欧美日韩激情| 亚洲九九九在线观看| 久久国产一区二区三区| 亚洲激情午夜| 久久激五月天综合精品| 欧美日韩国产色视频| 精品成人久久| 亚洲欧美成人一区二区三区| 欧美激情精品久久久| 午夜精品久久久久久99热软件| 欧美成人免费全部观看天天性色| 国产精品视频精品| 亚洲精品欧美日韩| 久久香蕉精品| 亚洲一级网站| 欧美日韩福利视频| 亚洲国产成人午夜在线一区 | 亚洲精品视频在线观看网站| 欧美一区在线视频| 欧美婷婷久久| 亚洲伦理久久| 欧美成人精品在线观看| 午夜欧美大片免费观看| 国产精品国产三级国产专区53| 亚洲人成77777在线观看网| 久久精品五月| 亚洲自拍偷拍福利| 欧美天堂在线观看| 日韩午夜av电影| 欧美成人免费网站| 久久蜜臀精品av| 国内精品久久久久久久果冻传媒| 午夜精品国产更新| 亚洲色图自拍| 国产精品theporn| 一区二区三区四区国产精品| 亚洲国产天堂久久国产91| 美日韩精品视频免费看| 影音先锋成人资源站| 久久乐国产精品| 性色av香蕉一区二区| 国产日韩av在线播放| 亚洲欧美日韩中文播放| 在线视频欧美精品| 国产精品久久久久久av福利软件| 亚洲一区中文| 亚洲一二三区精品| 国产精品区一区| 久久aⅴ国产紧身牛仔裤| 亚洲欧美第一页| 国产日韩欧美一区二区| 久久久91精品国产| 久久久久99| 亚洲国产精品传媒在线观看| 亚洲成色www久久网站| 免费黄网站欧美| 亚洲久久一区二区| 亚洲日韩成人| 欧美色区777第一页| 亚洲欧美中文另类| 欧美一区二区日韩| 永久免费精品影视网站| 欧美电影免费| 欧美日韩亚洲精品内裤| 亚洲一区免费观看| 亚洲欧美另类综合偷拍| 国内成+人亚洲+欧美+综合在线| 免费看的黄色欧美网站| 欧美aⅴ一区二区三区视频| 一区二区国产精品| 亚洲一级高清| 在线观看不卡| 99视频精品免费观看| 国产日韩欧美黄色| 女人色偷偷aa久久天堂| 欧美精品一区二区三区在线看午夜 | 欧美性做爰毛片| 久久久久国产精品午夜一区| 美女精品一区| 亚洲一区二区黄色| 欧美在线欧美在线| 亚洲精品午夜| 亚洲一区二区久久| 亚洲福利久久| 亚洲天堂网站在线观看视频| 一区二区三区在线免费观看 | 亚洲永久字幕| 亚洲第一视频网站| 一本色道久久99精品综合|