资源简介
本实例实现了通过不断点击画布动态生成voronoi图的操作
代码片段和文件信息
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace V图生成
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
g = pictureBox1.CreateGraphics();
}
//实例化绘图对象
Graphics g;
//定义画笔
Pen tgPen = new Pen(Color.Red 1);
Pen voPen = new Pen(Color.Blue 3);
// 实例化功能类
Voronoi voobject = new Voronoi();
//将屏幕点击坐标加入待剖分点集
ArrayList arrX = new ArrayList();
ArrayList arrY = new ArrayList();
List sitesP = new List();//点集
List allTriangle = new List();//带超三角形D网三角形链表
List allTriangleEnd = new List();//最终D网三角形链表
List allTriangleRay = new List();//构建V图射线三角形列表
List allTriangleVo = new List();//构建V图外接圆心边三角形列表
List voTowEdge = new List();//2点vironoi边线
List voRayEdge = new List();//vironoi射线边
List voEdge = new List();//vironoi外接圆心边
void spreadPoints()
{
//清空画布
g.Clear(Color.White);
//清空数据链表
sitesP.Clear();
allTriangle.Clear();
allTriangleEnd.Clear();
allTriangleRay.Clear();
allTriangleVo.Clear();
voRayEdge.Clear();
voEdge.Clear();
//点集赋值
for (int i = 0; i < arrX.Count; i++)
{
Site site = new Site(Convert.ToDouble(arrX[i]) Convert.ToDouble(arrY[i]));
sitesP.Add(site);
}
#region 构建超三角形
//动态构建超级三角形
long xmin xmax ymin ymax;
long xmid ymid dx dy dmax;
xmin = Convert.ToInt16(arrX[0]);
ymin = Convert.ToInt16(arrY[0]);
xmax = xmin; ymax = ymin;
for (int i = 1; i < sitesP.Count; i++)
{
if (Convert.ToInt16(arrX[i]) < xmin)
xmin = Convert.ToInt16(arrX[i]);
if (Convert.ToInt16(arrX[i]) > xmax)
xmax = Convert.ToInt16(arrX[i]);
if (Convert.ToInt16(arrY[i]) < ymin)
ymin = Convert.ToInt16(arrY[i]);
if (Convert.ToInt16(arrY[i]) > ymax)
ymax = Convert.ToInt16(arrY[i]);
}
dx = xmax - xmin; dy = ymax - ymin;
if (dx > dy)
dmax = dx;
else
dmax = dy;
xmid = (xmax + xmin) / 2;
ymid = (
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-10-16 18:41 Voronoi图生成\
目录 0 2017-10-16 18:41 Voronoi图生成\V图生成\
文件 872 2017-10-16 17:01 Voronoi图生成\V图生成.sln
文件 22528 2017-10-19 20:06 Voronoi图生成\V图生成.suo
目录 0 2017-10-16 18:41 Voronoi图生成\V图生成\bin\
目录 0 2017-10-16 18:41 Voronoi图生成\V图生成\bin\Debug\
文件 327168 2017-10-16 17:07 Voronoi图生成\V图生成\bin\Debug\V图生成.exe
文件 50688 2017-10-16 17:07 Voronoi图生成\V图生成\bin\Debug\V图生成.pdb
文件 11600 2017-10-19 20:02 Voronoi图生成\V图生成\bin\Debug\V图生成.vshost.exe
文件 490 2012-06-02 22:34 Voronoi图生成\V图生成\bin\Debug\V图生成.vshost.exe.manifest
目录 0 2017-10-16 17:01 Voronoi图生成\V图生成\bin\Release\
文件 13037 2017-10-16 17:07 Voronoi图生成\V图生成\Form1.cs
文件 12393 2017-10-16 17:07 Voronoi图生成\V图生成\Form1.Designer.cs
文件 459647 2017-10-16 17:07 Voronoi图生成\V图生成\Form1.resx
目录 0 2017-10-16 17:01 Voronoi图生成\V图生成\obj\
目录 0 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\
目录 0 2017-10-16 18:41 Voronoi图生成\V图生成\obj\x86\Debug\
文件 5420 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6698 2017-10-19 10:12 Voronoi图生成\V图生成\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 165376 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\Debug\Interop.SpeechLib.dll
目录 0 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\Debug\TempPE\
文件 6016 2017-10-19 20:02 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.csproj.FileListAbsolute.txt
文件 975 2017-10-16 17:07 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.csproj.GenerateResource.Cache
文件 744 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.csproj.ResolveComReference.cache
文件 9174 2017-10-16 17:01 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.csprojResolveAssemblyReference.cache
文件 327168 2017-10-16 17:07 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.exe
文件 302954 2017-10-16 17:07 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.Form1.resources
文件 50688 2017-10-16 17:07 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.pdb
文件 180 2017-10-16 17:03 Voronoi图生成\V图生成\obj\x86\Debug\V图生成.Properties.Resources.resources
文件 491 2017-10-16 17:01 Voronoi图生成\V图生成\Program.cs
目录 0 2017-10-16 18:41 Voronoi图生成\V图生成\Properties\
............此处省略10个文件信息
评论
共有 条评论