資源簡(jiǎn)介
運(yùn)用生長(zhǎng)法實(shí)現(xiàn)DTIN的生成,先生成隨機(jī)點(diǎn),然后采用三角形生長(zhǎng)算法形成三角形。采用動(dòng)態(tài)數(shù)組,所以在三角網(wǎng)產(chǎn)生之后也能將后來產(chǎn)生的點(diǎn)加入到新的三角網(wǎng)之中。

代碼片段和文件信息
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();//記錄點(diǎn)的數(shù)組
?????????private?ArrayList?linelist?=?new?ArrayList();
????????public?float?Angle(Point?cen?Point?first?Point?second)//三個(gè)點(diǎn)形成的三角形,CEN為頂點(diǎn)對(duì)應(yīng)的夾角
????????{
????????????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)//兩點(diǎn)距離
????????{
????????????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();
????????????????//定義與第一點(diǎn)最近的點(diǎn)
????????????????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?????????????????{
????????????????????for?(int?i?=?j+1;?i?????????????????????{
????????????????????????dis?=?Distance((Point)list[0]?(Point)list[i]);
????????????????????????if?(dis?????????????????????????{
????????????????????????????mindis?=?dis;
????????????????????????????count1?=?j;
????????????????????????????count2?=?i;
????????????????????????}
????????????????????}
????????????????}
????????????????//將第一條邊反向以進(jìn)行三角形擴(kuò)展
????????????????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);
????????????????//對(duì)每一條邊進(jìn)行擴(kuò)展
????????????????for?(int?j?=?0;?j?????????????????{
????????????????????double?t?=?-1;
??
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????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個(gè)文件信息
評(píng)論
共有 條評(píng)論