資源簡介
該程序可以在窗口里用鼠標隨意點擊來產生不同的“城市”,最短距離也是直觀的連線表示,簡單易用。熱心提醒:模擬退火法在該程序中沒有單一的退火方向,等同于隨機遍歷,你可以自己想辦法設置退火方向,我還沒想出來怎么辦╮(╯▽╰)╭

代碼片段和文件信息
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?旅行商問題
{
????public?partial?class?Form1?:?Form
????{
????????Graphics?gra;
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????Point[]?points?=?new?Point[100];
????????int?size?=?0;?//點的個數
????????int[]?order;?//由0開始指回0
????????int?radius?=?12;//圓點半徑
????????private?void?pictureBox1_MouseDown(object?sender?MouseEventArgs?e)
????????{
????????????drawingLineState?=?false;
????????????button3.Enabled?=?false;
????????????button7.Enabled?=?false;
????????????if?(e.Button?==?MouseButtons.Right)
????????????{
????????????????if?(size?>?0)
????????????????{
????????????????????size--;
????????????????}
????????????????gra.Clear(pictureBox1.BackColor);
????????????????drawPoint();
????????????????return;
????????????}
????????????if?(size?>=?100)
????????????{
????????????????return;
????????????}
????????????points[size]?=?e.Location;
????????????size++;
????????????drawPoint();
????????????toolStripStatusLabel1.Text?=?points[size?-?1].ToString();
????????}
????????private?void?drawPoint()
????????{
????????????if?(size?==?0)
????????????{
????????????????return;
????????????}
????????????Brush?bush?=?new?SolidBrush(Color.Orange);//起始點的填充顏色
????????????gra.FillEllipse(bush?points[0].X?points[0].Y?radius?radius);
????????????bush?=?new?SolidBrush(Color.Green);//填充的顏色
????????????for?(int?i?=?1;?i?????????????{
????????????????gra.FillEllipse(bush?points[i].X?points[i].Y?radius?radius);//畫填充橢圓的方法,x坐標、y坐標、寬、高,如果是100,則半徑為50
????????????}
????????}
????????private?void?drawLine()
????????{
????????????int?offset?=?radius?/?2;
????????????Pen?pen?=?new?Pen(Color.Black);
????????????System.Drawing.Drawing2D.AdjustableArrowCap?lineCap?=?new?System.Drawing.Drawing2D.AdjustableArrowCap(6?6?true);
????????????//?pen.EndCap?=?System.Drawing.Drawing2D.LineCap.ArrowAnchor;?//系統的這個箭頭太小了
????????????pen.CustomEndCap?=?lineCap;
????????????Point?p1?=?new?Point(points[0].X?points[0].Y);
????????????Point?p2?=?new?Point(points[order_buff[0]].X?points[order_buff[0]].Y);
????????????p1.Offset(offset?offset);
????????????p2.Offset(offset?offset);
????????????gra.DrawLine(pen?p1?p2);//連接第一個起始點和序列中第一個點
????????????for?(int?i?=?0;?i?????????????{
????????????????p1?=?new?Point(points[order_buff[i]].X?points[order_buff[i]].Y);
????????????????p2?=?new?Point(points[order_buff[i?+?1]].X?points[order_buff[i?+?1]].Y);
????????????????p1.Offset(offset?offset);
????????????????p2.Offset(offset?offset);
????????????????gra.DrawLine(pen?p1?p2);
????????????}
????????????p1?=?new?Point(points[order_buff[size?-?2]].X?points[order_buff[size?-?2]].Y);
????????????p2?=?new?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????57856??2016-11-01?21:03??旅行商問題\.vs\旅行商問題\v14\.suo
?????文件????????189??2016-04-28?09:37??旅行商問題\旅行商問題\App.config
?????文件??????28672??2016-11-01?20:31??旅行商問題\旅行商問題\bin\Release\旅行商問題.exe
?????文件????????189??2016-04-28?09:37??旅行商問題\旅行商問題\bin\Release\旅行商問題.exe.config
?????文件??????44544??2016-11-01?20:31??旅行商問題\旅行商問題\bin\Release\旅行商問題.pdb
?????文件??????22696??2016-11-01?21:03??旅行商問題\旅行商問題\bin\Release\旅行商問題.vshost.exe
?????文件????????189??2016-04-28?09:37??旅行商問題\旅行商問題\bin\Release\旅行商問題.vshost.exe.config
?????文件????????490??2016-07-16?19:44??旅行商問題\旅行商問題\bin\Release\旅行商問題.vshost.exe.manifest
?????文件??????14663??2016-05-01?00:22??旅行商問題\旅行商問題\Form1.cs
?????文件??????31751??2016-05-01?00:22??旅行商問題\旅行商問題\Form1.Designer.cs
?????文件???????6613??2016-05-01?00:22??旅行商問題\旅行商問題\Form1.resx
?????文件???????9759??2016-04-30?17:59??旅行商問題\旅行商問題\GeneticAlgorithm.cs
?????文件???????1464??2016-04-28?19:32??旅行商問題\旅行商問題\obj\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件???????7337??2016-04-28?11:20??旅行商問題\旅行商問題\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件??????????0??2016-04-28?09:37??旅行商問題\旅行商問題\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-04-28?09:37??旅行商問題\旅行商問題\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-04-28?09:37??旅行商問題\旅行商問題\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????1149??2016-04-30?13:04??旅行商問題\旅行商問題\obj\Debug\旅行商問題.csproj.FileListAbsolute.txt
?????文件???????1013??2016-04-30?13:03??旅行商問題\旅行商問題\obj\Debug\旅行商問題.csproj.GenerateResource.Cache
?????文件???????2384??2016-04-28?09:57??旅行商問題\旅行商問題\obj\Debug\旅行商問題.csprojResolveAssemblyReference.cache
?????文件??????22528??2016-04-30?13:03??旅行商問題\旅行商問題\obj\Debug\旅行商問題.exe
?????文件????????180??2016-04-30?13:03??旅行商問題\旅行商問題\obj\Debug\旅行商問題.Form1.resources
?????文件??????38400??2016-04-30?13:03??旅行商問題\旅行商問題\obj\Debug\旅行商問題.pdb
?????文件????????180??2016-04-28?15:23??旅行商問題\旅行商問題\obj\Debug\旅行商問題.Properties.Resources.resources
?????文件???????1464??2016-04-29?19:08??旅行商問題\旅行商問題\obj\Release\DesignTimeResolveAssemblyReferences.cache
?????文件???????7248??2016-11-01?20:29??旅行商問題\旅行商問題\obj\Release\DesignTimeResolveAssemblyReferencesInput.cache
?????文件??????????0??2016-04-28?19:32??旅行商問題\旅行商問題\obj\Release\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-04-28?19:32??旅行商問題\旅行商問題\obj\Release\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-04-28?19:32??旅行商問題\旅行商問題\obj\Release\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????2127??2016-11-01?21:03??旅行商問題\旅行商問題\obj\Release\旅行商問題.csproj.FileListAbsolute.txt
............此處省略31個文件信息
- 上一篇:基于C#開發的圖片處理工具
- 下一篇:C#圖像二值化代碼
評論
共有 條評論