資源簡介
實現Voronoi圖[C#],增點法先生成Delaunay三角網后對偶生成V圖,轉的資源

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Windows.Forms;
using?System.Drawing;
using?System.Threading;
namespace?TINVoronoi
{
????public?partial?class?Delaynay
????{
???????
????????public?List?HullPoint;??//凸殼頂點鏈表
????????private?struct?PntV_ID
????????{
????????????public?long?Value;
????????????public?long?ID;
????????}
????????
????????//建立凸殼
????????public?void?CreateConvex()
????????{
????????????//初始化凸殼頂點鏈表
????????????if?(HullPoint?==?null)
????????????????HullPoint?=?new?List();
????????????else
????????????{
????????????????for?(int?i?=?0;?i?????????????????????DS.Vertex[HullPoint[i]].isHullEdge?=?0;??//去除凸殼標記
????????????????HullPoint.Clear();
????????????}
????????????#region?計算x-y和x+y的最大、最小點
????????????PntV_ID?MaxMinus?MinMinus?MaxAdd?MinAdd;
????????????MaxMinus.ID?=?MinMinus.ID?=?MaxAdd.ID?=?MinAdd.ID?=?DS.Vertex[0].ID;//用第一點初始化
????????????MaxMinus.Value?=?MinMinus.Value?=?DS.Vertex[0].x?-?DS.Vertex[0].y;
????????????MaxAdd.Value?=?MinAdd.Value?=?DS.Vertex[0].x?+?DS.Vertex[0].y;
????????????long?temp;
????????????for?(int?i?=?1;?i?????????????{
????????????????temp?=?DS.Vertex[i].x?-?DS.Vertex[i].y;
????????????????if?(temp?>?MaxMinus.Value)
????????????????{
????????????????????MaxMinus.Value?=?temp;
????????????????????MaxMinus.ID?=?DS.Vertex[i].ID;
????????????????}
????????????????if?(temp?????????????????{
????????????????????MinMinus.Value?=?temp;
????????????????????MinMinus.ID?=?DS.Vertex[i].ID;
????????????????}
????????????????temp?=?DS.Vertex[i].x?+?DS.Vertex[i].y;
????????????????if?(temp?>?MaxAdd.Value)
????????????????{
????????????????????MaxAdd.Value?=?temp;
????????????????????MaxAdd.ID?=?DS.Vertex[i].ID;
????????????????}
????????????????if?(temp?????????????????{
????????????????????MinAdd.Value?=?temp;
????????????????????MinAdd.ID?=?DS.Vertex[i].ID;
????????????????}
????????????}
????????????#endregion
????????????//加入鏈表
????????????HullPoint.Add(MinMinus.ID);
????????????HullPoint.Add(MaxAdd.ID);
????????????HullPoint.Add(MaxMinus.ID);?
????????????HullPoint.Add(MinAdd.ID);
????????????//還要去除重復點……
????????????for?(int?i?=?0;?i?????????????{
????????????????if?(HullPoint[i]?==?HullPoint[(i?+?1)?%?HullPoint.Count])
????????????????????HullPoint.RemoveAt(i);
????????????}
????????????//將點標記,下一步不再處理
????????????for?(int?i?=?0;?i?????????????????DS.Vertex[HullPoint[i]].isHullEdge?=?-1;??
????????????#region?插入其他點
????????????for?(int?i?=?0;?i?????????????{
????????????????if?(DS.Vertex[i].isHullEdge?==?-1)
????????????????????continue;
????????????????//判斷點i與每條邊的關系
????????????????double?isOnRight;
????????????????for?(int?j?=?0;?j?????????????????{
????????????????????PointF?pnt1?=?new?P
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????920??2012-03-24?10:32??TINVoronoi.sln
?????文件???????6314??2012-03-24?10:32??UpgradeLog.xm
?????文件???????3348??2012-03-24?10:32??_UpgradeReport_Files\UpgradeReport.css
?????文件??????12505??2010-05-04?01:19??_UpgradeReport_Files\UpgradeReport.xslt
?????文件?????????69??2012-03-24?10:32??_UpgradeReport_Files\UpgradeReport_Minus.gif
?????文件?????????71??2012-03-24?10:32??_UpgradeReport_Files\UpgradeReport_Plus.gif
?????文件???????6972??2009-05-02?16:54??Backup\TINVoronoi\ConvexTin.cs
?????文件??????17020??2009-05-05?16:33??Backup\TINVoronoi\CoreClass.cs
?????文件???????2630??2009-05-05?16:28??Backup\TINVoronoi\DataMonitor.cs
?????文件???????2248??2009-05-05?15:14??Backup\TINVoronoi\DataMonitor.Designer.cs
?????文件???????5814??2009-05-05?15:14??Backup\TINVoronoi\DataMonitor.resx
?????文件???????2535??2009-04-30?17:40??Backup\TINVoronoi\DataStruct.cs
?????文件??????11665??2009-05-05?16:31??Backup\TINVoronoi\Form1.cs
?????文件??????11859??2009-05-02?18:22??Backup\TINVoronoi\Form1.Designer.cs
?????文件???????6012??2009-05-02?18:22??Backup\TINVoronoi\Form1.resx
?????文件????????469??2009-04-22?21:39??Backup\TINVoronoi\Program.cs
?????文件???????1176??2009-04-01?13:28??Backup\TINVoronoi\Properties\AssemblyInfo.cs
?????文件???????2842??2009-05-02?17:33??Backup\TINVoronoi\Properties\Resources.Designer.cs
?????文件???????5612??2009-04-01?13:28??Backup\TINVoronoi\Properties\Resources.resx
?????文件???????1106??2009-05-02?17:33??Backup\TINVoronoi\Properties\Settings.Designer.cs
?????文件????????249??2009-04-01?13:28??Backup\TINVoronoi\Properties\Settings.settings
?????文件???????3804??2009-05-02?17:38??Backup\TINVoronoi\TINVoronoi.csproj
?????文件????????919??2009-04-01?13:28??Backup\TINVoronoi.sln
?????文件???????6972??2009-05-02?16:54??TINVoronoi\ConvexTin.cs
?????文件??????17020??2009-05-05?16:33??TINVoronoi\CoreClass.cs
?????文件???????2630??2009-05-05?16:28??TINVoronoi\DataMonitor.cs
?????文件???????2248??2009-05-05?15:14??TINVoronoi\DataMonitor.Designer.cs
?????文件???????5814??2009-05-05?15:14??TINVoronoi\DataMonitor.resx
?????文件???????2535??2009-04-30?17:40??TINVoronoi\DataStruct.cs
?????文件????????680??2009-05-03?10:25??TINVoronoi\Debug\BadHull.sfg
............此處省略45個文件信息
評論
共有 條評論