正在加载图片...
Vol.28 No.8 熊磊等:基于不规则四面体的矿床三维体视化模型 717· 模的基本体元 X,Y,Z:double;∥x,y,z坐标 12不规则四面体模型 Type:string;∥类型:顶点,交点 不规则四面体(TEN)模型以四面体作为基 Kind:string;∥岩性 本体元来描述对象,各个四面体相互连接但不重 Cobr-R:single∥颜色的R,G,B分量 叠,通过四面体间的邻接关系来反映空间实体间 Color-G:single; 的拓扑关系,这些四面体的集合(又称为四面体网 Color-B:single; 格)就是对原三维物体的逼近.它经常用来刻画 Pinwei:double: ∥该点的品位值 空间复杂的不规则物体. End; 四面体网格的建立一般是应用Delaunay三 2.2面(face)的数据结构 角形划分(如图2)规则来实现的,该方法的最大 Type face=record 特点是满足“最小角最大”优化准则和空圆/空球 Face-id:integer;面序号 准则,即三角形的最小内角尽量最大和三角形的 Vl,V2,V3:integer;∥构成该面的三个点的 边长之和尽量最小,从而保证了网格整体质量最 序号 优.Delaunay四面体网格具有以下特性:(I)其 JL,J2:integer;∥与切面交点的序号,为-1 Delaunay三角网是惟一的;(2)三角网的外边界构 表示和切面没有交点 成了点集P的凸多边形“外壳”;(3)空球准则 Normal:double;面的法向量 (free sphere criterion),即在任意一个四面体的外 Boundary:integer;∥是否为边界面 接圆内部.不包含有其他采样点.常见的Dela- V4:float:∥由该面找到的第4个节点 nay实现算法有三角网生成算法、逐点插入算法 Sl,S2,S3:integer;∥一个四面体中,与该面 (incremental)、分割-归并(divide and conquer)算 法和Qhul算法等6-7 相邻的其他三个面的序号 Used:Boolean:∥是否完备 End; 23体(tetrahedral)的数据结构 Type tetrahedral-record TetrahedarL-id:integer;四面体序号 (a)二维 (b)三维 Sphere-x:double;∥四面体外接球球心坐标 图2 Delaunay三角划分 Sphere-y:double; Fig.2 Delaunay triangulation Sphere-z:double; Radiu:double:∥四面体外接球半径 2 数据结构 Volume:double;四面体体积 在不规则四面体结构中不仅要存储每一个网 V1,V2,V3,V4:integer;∥构成该四面体的 四个点的序号 点的三维坐标,而且还要存储表示网点连接的拓 扑关系.对空间拓扑关系的描述,在程序实现 Sl,S2,S3,S4:integer;∥构成该四面体的四 个面的序号 时往往采用指针、数组等,考虑到矿床的数据量, T1,T2,T3,T4:integer;∥与该四面体相邻 用数组占用的内存太大,用指针查找时有费时的 的其他四个四面体的序号 遍历运算,所以本文把模型的数据结构和后台数 Used:Boolean∥是否完备 据库中的表结构合并考虑,使逻辑结构和物理结 End; 构统一起来,存储在数据库中.以下是不规则四 面体模型数据结构的类描述(Delphi语言): 3 基本算法与实现 2.1点(point)的数据结构 把地下矿床抽象为一个空间连续的品位数据 Type TPoint=record 场,通过对原始钻孔数据的插值计算(Kriging Point--id:integer;∥点的序号(块段号) 法?)把整个数据场离散化,得到矿床品位在空 (Co0l5h标志:是香.已使思Electronie Pu间的分布数据,把品位核从低到肩分成若天个段kinc模的基本体元. 1.2 不规则四面体模型 不规则四面体( TEN ) 模型以四面体作为基 本体元来描述对象, 各个四面体相互连接但不重 叠, 通过四面体间的邻接关系来反映空间实体间 的拓扑关系, 这些四面体的集合( 又称为四面体网 格) 就是对原三维物体的逼近.它经常用来刻画 空间复杂的不规则物体. 四面体网格的建立一般是应用 Delaunay 三 角形划分( 如图 2) 规则来实现的, 该方法的最大 特点是满足“最小角最大”优化准则和空圆/空球 准则, 即三角形的最小内角尽量最大和三角形的 边长之和尽量最小, 从而保证了网格整体质量最 优.Delaunay 四面体网格具有以下特性 :( 1) 其 Delaunay 三角网是惟一的;( 2) 三角网的外边界构 成了点集 P 的凸多边形“ 外壳” ;( 3) 空球准则 ( free sphere criterion) , 即在任意一个四面体的外 接圆内部, 不包含有其他采样点 .常见的 Delau￾nay 实现算法有三角网生成算法、逐点插入算法 (incremental) 、分割 归并( divide and conquer) 算 法和 Qhull 算法等[ 6 7] . 图 2 Delaunay三角划分 Fig.2 Delaunay triangulation 2 数据结构 在不规则四面体结构中不仅要存储每一个网 点的三维坐标, 而且还要存储表示网点连接的拓 扑关系 [ 8] .对空间拓扑关系的描述, 在程序实现 时往往采用指针 、数组等, 考虑到矿床的数据量, 用数组占用的内存太大, 用指针查找时有费时的 遍历运算, 所以本文把模型的数据结构和后台数 据库中的表结构合并考虑, 使逻辑结构和物理结 构统一起来, 存储在数据库中 .以下是不规则四 面体模型数据结构的类描述( Delphi 语言) : 2.1 点( point)的数据结构 Type TPoint =record Point-id :integer;∥点的序号( 块段号) Flag :boolean ;∥标志:是否已使用 X, Y, Z :double ;∥x , y , z 坐标 Type :string ;∥类型 :顶点, 交点 Kind :string ;∥岩性 Colo r-R :single;∥颜色的 R, G, B 分量 Colo r-G :single ; Colo r-B:single; Pinwei :double;∥该点的品位值 End ; 2.2 面( face)的数据结构 Type face =reco rd Face -id :integer ;∥面序号 V1, V2, V3 :integer ;∥构成该面的三个点的 序号 J1, J2 :integer ;∥与切面交点的序号, 为 -1 表示和切面没有交点 Normal:double;∥面的法向量 Boundary :integer ;∥是否为边界面 V4 :float ;∥由该面找到的第 4 个节点 S1, S2, S3 :integer;∥一个四面体中, 与该面 相邻的其他三个面的序号 Used :Boolean ;∥是否完备 End ; 2.3 体( tetrahedral) 的数据结构 Type tetrahedral =record Tetrahedarl-id :integer;∥四面体序号 Sphere -x :double;∥四面体外接球球心坐标 Sphere -y :double ; Sphere -z :double ; Radiu :double;∥四面体外接球半径 Volume :double;∥四面体体积 V1, V2, V3, V4 :integer ;∥构成该四面体的 四个点的序号 S1, S2, S3, S4 :integer ;∥构成该四面体的四 个面的序号 T1, T2, T3, T4 :integer;∥与该四面体相邻 的其他四个四面体的序号 Used :Boolean ∥是否完备 End ; 3 基本算法与实现 把地下矿床抽象为一个空间连续的品位数据 场, 通过对原始钻孔数据的插值计算( Kriging 法[ 9] ) 把整个数据场离散化, 得到矿床品位在空 间的分布数据, 把品位按从低到高分成若干个段, Vol.28 No.8 熊 磊等:基于不规则四面体的矿床三维体视化模型 · 717 ·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有