资源简介
等值线是一种离散数据的图形表示方法,在水利、土木、地质、石油勘探等工程和技术领域内广泛的应用。常规的等值线绘制通常采用网格法,其绘制的步骤一般为:离散数据网
格化;等值点的计算;等值线的追踪;光滑和标记等值线等。等值线图的显示方式一般有两种:(1)等值线显示,即采用线条上加注数值标记的方式显示数据,这种方式的特点是简捷;(2)采用彩色填充的方法来显示数据,既用不同的颜色来显示不同的数据,这种方法的特点是比较直观。两种方法的计算机实现也各不相同,一般来说,它们都需要将数据进行要用
到的网格网格化。第一种方法必须进行等值线的追踪、光滑和标记等值线。而第二种方法可以在追踪出等值线的基础上进行,也可以不做等值线的追踪直接在网格数据上进行操作。
方法实现的难易程度各不相同
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MouStudio.Contour;
using System.Windows.Forms;
namespace MouStudio
{
class C_ContourTrace
{
//======= 构造函数,传递三角网信息 ====================================
public C_ContourTrace(C_Trianglate trianglateIN)
{
trianglate = trianglateIN;
triangle = trianglateIN.triangle;
vertex = trianglateIN.vertex;
CTrace_Initial();
}
//------- 相关属性操作 -------
int iNum_ContourLine = 10; // 等值线的数目
public double d_Max; // 等值线最大值
public double d_Min; // 等值线最小值
double[] dData_CLineValue; // 等值线具体值构成的数组
// 等值线对应的颜色
List list_Color = new List();
C_Trianglate trianglate = null; // 三角网信息
public C_Triangle[] triangle;//= new C_Triangle[5000];
public C_Vertex[] vertex = new C_Vertex[1000];
Cmou_Triangle[] arr_Triangle;
// 所有数据点集
List list_Point = new List();
// 临时三角形链表,存放具有等值点的三角形
//List list_TriTemp = new List();
List list_ID_TriCheck = new List();
// 存放包含边界的三角形
//List list_TriBand = new List();
List list_ID_TriBand = new List();
// 存放所有三角形
List list_TriTotal = new List();
// 存放所有边界
List list_Edge = new List();
// 边界边
List list_ID_EdgeBound = new List();
// 等值线集合
public List list_ContourLine = new List();
//======= 三角形数据结构初始化 ========================================
// 将由散乱点数据构成的三角网,加以数据结构的处理,使其具有
// 相应的拓扑关系,方便后面的追踪和填充
private void CTrace_Initial()
{
int iNum_Triangle = trianglate.HowMany;
if (iNum_Triangle < 2) return;
arr_Triangle = new Cmou_Triangle[iNum_Triangle];
for (int iTri = 1; iTri <= iNum_Triangle; iTri++)
{
// 点处理
Cmou_Point pTemp0 = new Cmou_Point();
pTemp0.X = vertex[triangle[iTri].vv0].x;
pTemp0.Y = vertex[triangle[iTri].vv0].y;
pTemp0.V = vertex[triangle[iTri].vv0].z;
if (CTrace_AssertPoint(ref pTemp0))
{
pTemp0.ID = list_Point.Count;
list_Point.Add(pTemp0);
}
Cmou_Point pTemp1 = new Cmou_Point();
pTemp1.X = vertex[triangle[iTri].vv1].x;
pTemp1.Y = vertex[triangle[iTri].vv1].y;
pTemp1.V = vertex[triangle[iTri].vv1].
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 435 2012-03-19 11:35 MouStudio_ContourTrace_Fill\Test V1.0\Demo---Exe\Line.txt
文件 156160 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Demo---Exe\MouStudio.exe
文件 57863 2012-03-19 09:58 MouStudio_ContourTrace_Fill\Test V1.0\Demo---Exe\Slice_Records1.txt
文件 359810 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Doc---Notes\2009-12-16 等值线填充算法.docx
文件 142336 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\bin\Debug\MouStudio.exe
文件 87552 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\bin\Debug\MouStudio.pdb
文件 14328 2012-03-19 09:06 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\bin\Debug\MouStudio.vshost.exe
文件 490 2012-01-13 04:36 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\bin\Debug\MouStudio.vshost.exe.manifest
文件 591 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Contour\Cmou_ContourLine.cs
文件 1041 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Contour\Cmou_Edge.cs
文件 1089 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Contour\Cmou_Line.cs
文件 1028 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Contour\Cmou_Point.cs
文件 517 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Contour\Cmou_Triangle.cs
文件 36721 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\C_ContourTrace.cs
文件 11364 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\C_Trianglate.cs
文件 17228 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\C_Trianglate2.cs
文件 234 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\C_Triangle.cs
文件 425 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\C_Vertex.cs
文件 10505 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Form1.cs
文件 11377 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Form1.Designer.cs
文件 5814 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Form1.resx
文件 4372 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\MouStudio.csproj
文件 1246 2012-03-19 09:06 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.csproj.FileListAbsolute.txt
文件 893 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.csproj.GenerateResource.Cache
文件 142336 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.exe
文件 180 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.Form1.resources
文件 87552 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.pdb
文件 106093 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\MouStudio.Properties.Resources.resources
文件 4608 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 486 2012-03-16 15:41 MouStudio_ContourTrace_Fill\Test V1.0\Src---MouStudio\Backup\MouStudio\Program.cs
............此处省略91个文件信息
评论
共有 条评论