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

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

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

系統 2512 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條評論
主站蜘蛛池模板: 99热成人精品热久久66 | 在线 | 一区二区三区四区 | 在线观看麻豆精品国产不卡 | 美女视频黄a视频免费全过程在线 | 深夜福利国产精品亚洲尤物 | 日韩欧美一二区 | 一本一本久久a久久综合精品蜜桃 | 国产精品一级毛片不收费 | 免费视频久久看 | 俺去也理论网站 | 国产高清看片日韩欧美久久 | 久久亚洲日本不卡一区二区 | 国产免费区 | 欧美成人老熟妇暴潮毛片 | 淫视频在线观看 | 中文字幕日本一区久久 | 国产91精品久久久久久久 | 久久欧美久久欧美精品 | 五月婷婷亚洲综合 | 天天插天天操天天干 | 精品亚洲成a人在线播放 | 免费视频精品一区二区 | xxx国产老太婆视频 xxx毛片 | 91成品视频 | www.四虎影院.con | 亚洲免费在线视频 | 日本毛片在线看 | 999成人精品视频在线 | 亚洲精品久久久久影 | 日日插日日操 | 欧美成人性毛片免费版 | 精品久久久久久中文字幕专区 | 亚洲视频在线免费看 | 亚洲成人欧美 | 女人十八一级毛片 | 欧美一级毛片日本 | 日日干日日操日日射 | 亚洲美女视频免费 | 亚洲欧美日韩中文字幕网址 | 亚洲成年人免费网站 | 日本高清免费不卡视频 |