• 大小: 44KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: DTIN  

资源简介

运用生长法实现DTIN的生成,先生成随机点,然后采用三角形生长算法形成三角形。采用动态数组,所以在三角网产生之后也能将后来产生的点加入到新的三角网之中。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using CC;

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

        private Graphics g = null;
        private Pen pen = new Pen(Color.Black 1);
        private Brush brush = Brushes.Red;
        private ArrayList list = new ArrayList();//记录点的数组
         private ArrayList linelist = new ArrayList();


        public float Angle(Point cen Point first Point second)//三个点形成的三角形,CEN为顶点对应的夹角
        {
            float dx1 dx2 dy1 dy2;
            float angle;
            dx1 = first.X - cen.X;
            dy1 = first.Y - cen.Y;
            dx2 = second.X - cen.X;
            dy2 = second.Y - cen.Y;
            float c = (float)Math.Sqrt(dx1 * dx1 + dy1 * dy1) * (float)Math.Sqrt(dx2 * dx2 + dy2 * dy2);
            if (c == 0) return -1;
            angle = (float)Math.Acos((dx1 * dx2 + dy1 * dy2) / c);
            return angle;
        }

        public double Distance(Point first Point second)//两点距离
        {
            double dis;
            dis = Math.Sqrt((second.Y - first.Y) * (second.Y - first.Y) + (second.X - first.X) * (second.X - first.X));
            return dis;
        }
        private void button1_Click(object sender EventArgs e)
        {
            try
            {
                double angle1;
                this.Refresh();
                ArrayList tinline = new ArrayList();
                //定义与第一点最近的点
                double mindis = Distance((Point)list[0] (Point)list[1]);
                double dis;
                int count = 0;
                int count1 = 0;
                int count2 = 0;
                Line tl = new Line();
                for (int j=0; j < list.Count - 1; j++)
                {
                    for (int i = j+1; i < list.Count; i++)
                    {
                        dis = Distance((Point)list[0] (Point)list[i]);
                        if (dis < mindis)
                        {
                            mindis = dis;
                            count1 = j;
                            count2 = i;
                        }
                    }
                }
                //将第一条边反向以进行三角形扩展
                tl.Begin = (Point)list[count1];
                tl.End = (Point)list[count2];
                tinline.Add(tl);
                Line line = new Line();
                Point a = ((Line)tinline[0]).Begin;
                Point b = ((Line)tinline[0]).End;
                line.Begin = b;
                line.End = a;
                tinline.Add(line);

                //对每一条边进行扩展

                for (int j = 0; j < tinline.Count; j++)
                {
                    double t = -1;
  

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

     文件      11776  2012-12-16 16:01  DTIN\DTIN\bin\Debug\DTIN.exe

     文件      30208  2012-12-16 16:01  DTIN\DTIN\bin\Debug\DTIN.pdb

     文件      14328  2012-12-18 15:06  DTIN\DTIN\bin\Debug\DTIN.vshost.exe

     文件        490  2009-06-11 05:14  DTIN\DTIN\bin\Debug\DTIN.vshost.exe.manifest

     文件       3789  2012-12-16 13:52  DTIN\DTIN\DTIN.csproj

     文件       9192  2012-12-16 16:01  DTIN\DTIN\Form1.cs

     文件       2953  2012-12-16 16:01  DTIN\DTIN\Form1.Designer.cs

     文件       5814  2012-12-16 16:01  DTIN\DTIN\Form1.resx

     文件        374  2012-12-16 13:38  DTIN\DTIN\Line.cs

     文件        767  2012-12-18 15:06  DTIN\DTIN\obj\Debug\DTIN.csproj.FileListAbsolute.txt

     文件        847  2012-12-16 16:01  DTIN\DTIN\obj\Debug\DTIN.csproj.GenerateResource.Cache

     文件      11776  2012-12-16 16:01  DTIN\DTIN\obj\Debug\DTIN.exe

     文件        180  2012-12-16 16:01  DTIN\DTIN\obj\Debug\DTIN.Form1.resources

     文件      30208  2012-12-16 16:01  DTIN\DTIN\obj\Debug\DTIN.pdb

     文件        180  2012-12-16 13:52  DTIN\DTIN\obj\Debug\DTIN.Properties.Resources.resources

     文件        508  2012-12-16 14:24  DTIN\DTIN\Program.cs

     文件       1340  2012-12-16 13:26  DTIN\DTIN\Properties\AssemblyInfo.cs

     文件       2858  2012-12-16 13:26  DTIN\DTIN\Properties\Resources.Designer.cs

     文件       5612  2012-12-16 13:26  DTIN\DTIN\Properties\Resources.resx

     文件       1089  2012-12-16 13:26  DTIN\DTIN\Properties\Settings.Designer.cs

     文件        249  2012-12-16 13:26  DTIN\DTIN\Properties\Settings.settings

     文件        902  2012-12-16 13:26  DTIN\DTIN.sln

    ..A..H.     16384  2012-12-18 15:23  DTIN\DTIN.suo

     目录          0  2012-12-16 13:33  DTIN\DTIN\obj\Debug\Refactor

     目录          0  2012-12-16 13:26  DTIN\DTIN\obj\Debug\TempPE

     目录          0  2013-02-25 16:11  DTIN\DTIN\bin\Debug

     目录          0  2013-02-25 16:11  DTIN\DTIN\obj\Debug

     目录          0  2013-02-25 16:11  DTIN\DTIN\bin

     目录          0  2013-02-25 16:11  DTIN\DTIN\obj

     目录          0  2013-02-25 16:11  DTIN\DTIN\Properties

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

评论

共有 条评论

相关资源