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條評論
主站蜘蛛池模板: 91aaa免费观看在线观看资源 | 久久精品免费观看久久 | 在线观看 中文字幕 | 久久久99精品免费观看精品 | 国产视频综合 | a网在线| 裸身裸乳免费视频网站 | 五月婷婷一区 | 精品中文字幕在线观看 | 五月天国产 | 亚洲精品一区二区久久久久 | 久久免费区一区二区三波多野 | 欧美亚洲国产第一页草草 | 亚洲免费区 | 人人狠狠综合久久亚洲88 | 在线看片不卡 | 国产永久免费爽视频在线 | 国产精品免费播放 | 亚洲欧美日韩v中文在线 | 欧美成人另类 | 91在线视频免费 | 国产精品久久久久久久网站 | 99影视| 久久这里只有精品国产99 | 国产一级淫片a视频免费观看 | 天天摸日日 | 91精品国产91 | 久久五月天综合网 | www久| 理论片我不卡在线观看 | 亚洲mv | 天天操天天插天天干 | 欧美操人视频 | 777奇米视频 | 国产一区二区三区在线 | 丝袜三级 | 99热国产这里只有精品9九 | 妖精视频永久在线入口 | 欧美日本日韩 | 亚洲国产精品欧美综合 | 亚洲国产欧洲精品路线久久 |