CodehighlightingproducedbyActiproCodeHighlighter(freeware)
http://www.CodeHighlighte" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

凸包計算模塊ConvexHull的使用方法

系統 2129 0

開發了一個模塊,可用來計算平面一些點所構成的凸包。模塊名為ConvexHull.dll。

?

使用方法是這樣的,新建一個WinForm工程(控制臺工程也行,只是輸出結果不大直觀),引用ConvexHull.dll,然后在Form1代碼中引用模塊的命名空間:

?

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> using ?Hiquotion.ComputingGeometry;

?

?

模塊中包含一個類ConvexHull,用這個類聲明一個對象,然后用平面點的集合類(Points)實例化:

?

實例化
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> ???????? private ?ConvexHull?ch;

????????
private ?Points?p? = ? new ?Points();

????????????p.Add(
new ?CGPoint( 10 ,? 10 ));
????????????p.Add(
new ?CGPoint( 30 ,? 50 ));
????????????p.Add(
new ?CGPoint( 10 ,? 30 ));
????????????p.Add(
new ?CGPoint( 20 ,? 70 ));
????????????p.Add(
new ?CGPoint( 30 ,? 20 ));
????????????p.Add(
new ?CGPoint( 50 ,? 20 ));
????????????p.Add(
new ?CGPoint( 50 ,? 30 ));
????????????p.Add(
new ?CGPoint( 20 ,? 55 ));
????????????p.Add(
new ?CGPoint( 60 ,? 10 ));

????????????ch?
= ? new ?ConvexHull(p);

?

然后就可以調用ConvexHull的方法GetConvexHull()來獲取凸包了。這個方法返回一個Points對象,表示凸包頂點的集合。下面的代碼可以獲取凸包頂點。

?

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> ???????? private ? Points ?l? = ? new ?List < CGPoint > ();
????????????l?
= ?ch.GetConvexHull();

?

為了測試結果是否正確,我們在窗體上繪制點集中所有的點,然后把凸包頂點用閉合的直線段連接起來。繪制的實現是在Form1的OnPaint方法中,可以參考《C#高級編程(第六版)》

?

測試
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--> ???????? private ?PointF[]?pointf;

????????????pointf?
= ? new ?PointF[l.Count];
????????????
for ?( int ?i? = ? 0 ;?i? < ?l.Count;?i ++ )
????????????{
????????????????pointf[i]?
= ? new ?PointF(l[i].X,?l[i].Y);
????????????
}

????????????Graphics?dc?
= ?e.Graphics;
????????????Pen?redPen?
= ? new ?Pen(Color.Red,? 3 );
????????????redPen.Brush?
= ? new ?SolidBrush(Color.Red);

????????????
foreach ?(CGPoint?pt? in ?p)
????????????{
????????????????dc.FillEllipse(redPen.Brush,?
new ?RectangleF(pt.X? - ? 2.5F ,?pt.Y? - ? 2.5F ,? 5 ,? 5 ));
????????????}
????????????Pen?bluePen?
= ? new ?Pen(Color.Blue,? 2 );
????????????dc.DrawPolygon(bluePen,?pointf);

?

測試結果如下圖所示。

?

凸包計算模塊ConvexHull的使用方法 ?

凸包計算模塊ConvexHull的使用方法


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 男人资源在线观看 | 天天操夜夜爱 | baoyu777永久免费视频 | 久久综合综合 | 老司机免费精品视频 | 波多野结衣一区二区 三区 波多野结衣一区二区三区 波多野结衣一区二区三区高清在线 | 2021国产成人综合亚洲精品 | 国产日韩欧美在线观看免费视频 | 中文字幕亚洲综合精品一区 | 色站综合 | 亚洲国产成人久久精品影视 | 中文字幕在线精品视频入口一区 | 国产香蕉一区二区在线观看 | 亚洲欧美久久精品一区 | 99热精品在线播放 | 欧美一级成人影院免费的 | 国产美女流白浆的免费视 | 日韩欧美网址 | 天天草夜夜草 | 久草免费在线观看视频 | 97免费视频在线 | 久久精品免视看国产明星 | 久久成人在线观看 | 久久精品国产99久久无毒不卡 | 国产欧美一区二区三区沐欲 | 可以免费观看的一级毛片 | 免费看欧美理论片在线 | 99久久国产综合精品女小说 | 香蕉亚洲欧洲在线一区 | 伊人久久欧美综合精品 | 91视频青青草 | 99热在线播放 | 日韩欧美精品综合一区二区三区 | 亚洲一区中文字幕在线 | www.日日日 | 免费 高清 日本1在线观看 | 国产ar高清视频+视频 | 狠狠干.com | 韩日一区二区三区 | 国产欧美精品三区 | 国产麻豆精品hdvideoss |