• 大小: 34KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-11
  • 语言: C#
  • 标签: C#  TIN  

资源简介

C#实现的三角网快速构建程序,VS2012编译
可在代码中修改生成点的数量,使用网上的Delaunay算法实现离散点快速三角化功能

资源截图

代码片段和文件信息

using System;
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;

namespace TriTestForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender EventArgs e)
        {
            Bitmap b = pictureBox1.Image != null 
                ? (Bitmap)pictureBox1.Image 
                : new Bitmap(600 480 System.Drawing.Imaging.PixelFormat.Format32bppArgb);

            List sets = MakeTestSet(600 480 50 50);
            Mesh m = new Mesh();
            m.Recursion = 100;
            m.Compute(sets new RectangleF(0 0 600 480));
            m.RemoveRect();
            
            using (Graphics g = Graphics.FromImage(b))
            {
                //g.DrawLine(Pens.Red new Point(100 100) new Point(200 200));
                m.Draw(g 0 0 600 480);
                foreach (Vertex v in sets)
                {
                    g.FillEllipse(Brushes.GreenYellow v.X - 1 v.Y - 1 2 2);
                }

            }

            pictureBox1.Image = b;
        }

        public List MakeTestSet(int width int height int count int offset)
        {
            List set = new List();
            byte[] bytes = new byte[4];
            System.Security.Cryptography.RNGCryptoServiceProvider rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
            rng.GetBytes(bytes); 
            Random r = new Random(BitConverter.ToInt32( bytes  0 ));
            //Random r = new Random(1);
            for (int i = 0; i < count; i++)
            {
                float x = r.Next(0 + offset width + 1 - offset);
                float y = r.Next(0 + offset height + 1 - offset);
                set.Add(new Vertex(x y 0.0f));
            }

            return set;
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        167  2016-04-05 09:51  TriTestForm\App.config

     文件      22472  2016-04-05 09:51  TriTestForm\bin\Debug\TriTestForm.vshost.exe

     文件        167  2016-04-05 09:51  TriTestForm\bin\Debug\TriTestForm.vshost.exe.config

     文件        490  2014-05-28 07:39  TriTestForm\bin\Debug\TriTestForm.vshost.exe.manifest

     文件       2092  2016-03-30 17:07  TriTestForm\Form1.cs

     文件       2256  2016-03-30 14:25  TriTestForm\Form1.Designer.cs

     文件       5817  2016-03-30 14:25  TriTestForm\Form1.resx

     文件      13544  2016-03-30 17:02  TriTestForm\Mesh.cs

     文件       1604  2016-04-05 09:51  TriTestForm\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6818  2016-04-05 09:51  TriTestForm\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2016-03-30 14:16  TriTestForm\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2016-03-30 14:16  TriTestForm\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2016-03-30 14:16  TriTestForm\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     文件       4608  2016-04-05 09:51  TriTestForm\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件        523  2016-03-30 14:16  TriTestForm\Program.cs

     文件       1342  2016-03-30 14:16  TriTestForm\Properties\AssemblyInfo.cs

     文件       2862  2016-04-05 09:51  TriTestForm\Properties\Resources.Designer.cs

     文件       5612  2016-03-30 14:16  TriTestForm\Properties\Resources.resx

     文件       1111  2016-04-05 09:51  TriTestForm\Properties\Settings.Designer.cs

     文件        249  2016-03-30 14:16  TriTestForm\Properties\Settings.settings

     文件      16470  2016-03-30 14:49  TriTestForm\Triangle.cs

     文件       3981  2016-04-05 09:51  TriTestForm\TriTestForm.csproj

     文件       3817  2016-03-30 16:34  TriTestForm\Vertex.cs

     目录          0  2016-04-05 09:51  TriTestForm\obj\Debug\TempPE

     目录          0  2016-04-05 09:53  TriTestForm\bin\Debug

     目录          0  2016-04-05 09:53  TriTestForm\obj\Debug

     目录          0  2016-03-30 14:16  TriTestForm\bin

     目录          0  2016-03-30 14:16  TriTestForm\obj

     目录          0  2016-03-30 14:16  TriTestForm\Properties

     目录          0  2016-03-30 14:30  TriTestForm

............此处省略3个文件信息

评论

共有 条评论