资源简介
实现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 < HullPoint.Count; 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 < DS.VerticesNum; 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)
{
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)
{
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 < HullPoint.Count; i++)
{
if (HullPoint[i] == HullPoint[(i + 1) % HullPoint.Count])
HullPoint.RemoveAt(i);
}
//将点标记,下一步不再处理
for (int i = 0; i < HullPoint.Count; i++)
DS.Vertex[HullPoint[i]].isHullEdge = -1;
#region 插入其他点
for (int i = 0; i < DS.VerticesNum; i++)
{
if (DS.Vertex[i].isHullEdge == -1)
continue;
//判断点i与每条边的关系
double isOnRight;
for (int j = 0; j < HullPoint.Count; 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个文件信息
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论