Marching Cube拓扑二义性解决方法改进

合集下载

医学三维重建探究

医学三维重建探究

医学三维重建探究1三维结构人体组织与器官的三维成像技术在现代临床医学中起着越来越重要的作用,使用计算机图形学和图像处理技术,将计算机断层(ComputerizedTomography)图像、核磁共振成像(MagneticResonancelmaging)以及超声(Ultrasonography)等成像设备得到的人体断层二维图像序列,在计算机中重建成三维图像,并在屏幕上形象逼真地显示人体器官的立体视图,通过人机交互,医生能够方便对重建的图像实行诸如旋转、缩放等操作,使医生能够更充分地了解病灶的性质及其周围组织的三维结构关系,从而协助医生做出准确的诊断和制定准确的手术方案5。

OpenG是美国高级图形和高性能计算机系统公司SGI所开发的三维图形库,OpenGL被设计成为适合于广泛计算机环境下的三维图形应用编程界面(API),当前它已成为开放的图际图形标准,基于OpenG开发的大量三维图形应用软件系统,已经广泛应用于科学可视化、实体造型、CAD/CAM模拟仿真、图像处理、地理信息系统、虚拟现实等各个领域3。

当前利用OpenGl>实现医学图像的三维可视化已经成为一个热点。

2三维重建原理当前图像三维重建的方法主要有两大类:一类是三维面绘制,另一类是三维体绘制。

体绘制更能反应真实的人体结构,但是因为体绘制算法运算量太大,即使利用高性能的计算机,仍然无法满足实际应用中交互操作的需要,所以面绘制仍是当前的主流算法。

本文主要研究三维面绘制的实现,并且对体绘制作一些简单讨论。

2.1三维面绘制表面表示是表示二维物质形状最基本的方法,它能够提供二维物体的全面信息,其具体形式有两种:边界轮廓线表示和表面曲面表示。

最初的表面重建方法采用基于轮廓线的描述方式,即在断层图像中,通过手工或白动方式实现目标轮廓的确定性分割,然后用各层的轮廓线“堆砌” 在一起表示感兴趣物体的边界,这种轮廓线表示方法简单且数据量小,但是不很直观。

除了以轮廓线表示物体外,还能够由轮廓重建物体的表面来表示。

拓扑优化算法

拓扑优化算法

拓扑优化算法是一种用于解决图论中拓扑优化问题的算法。

该算法的主要目标是通过对图的拓扑结构进行优化,以改进网络的性能、降低延迟、提高吞吐量等。

拓扑优化算法主要包括以下几个步骤:1.图的建模:首先需要将网络转化为图的形式进行建模。

图由一组节点和连接节点的边组成,表示网络中的各个设备和设备之间的连通关系。

节点可以表示交换机、路由器、服务器等网络设备。

2.损失函数的定义:在拓扑优化中,需要定义一个损失函数来衡量网络的性能。

损失函数可以是关于延迟、带宽、能耗等指标的函数。

通过最小化损失函数,可以使得网络的性能得到最优化。

3.优化目标的设定:在拓扑优化中,需要设定一个优化目标,如最小化延迟、最大化带宽等。

优化目标的设定与具体的应用场景相关,可以根据需求进行灵活设定。

4.算法设计:根据建模和设定的优化目标,设计相应的算法来求解问题。

常见的拓扑优化算法包括遗传算法、禁忌搜索、模拟退火等。

这些算法可以根据具体的问题进行选择和调整。

5.算法实现:将设计好的算法转化为计算机程序,并进行实现。

实现过程中需要考虑算法的效率和可扩展性,以便在大规模网络中能够有效地求解问题。

6.实验和评估:根据实际场景和数据,对算法进行实验和评估。

实验可以使用真实网络数据或者仿真工具进行。

评估算法的效果和性能,对比不同算法的优缺点,为进一步优化和改进算法提供依据。

拓扑优化算法主要应用于网络设计、资源分配、流量调度等领域。

在大规模网络中,通过优化网络的拓扑结构,可以减少通信延迟、提高带宽利用率,从而改善用户体验和提升网络性能。

拓扑优化算法的研究不仅关注理论解决方案,还需要考虑实际应用中的可行性和可实施性。

因此,相关参考内容可以包括以下方面:1.拓扑优化算法的数学模型和理论基础:可以介绍拓扑优化算法的基本原理、数学模型和相关理论知识,如图论、优化理论等。

这些知识对于理解算法的原理和思想具有重要意义。

2.拓扑优化算法的应用案例:可以介绍拓扑优化算法在实际应用中的案例和应用场景。

三维空间规则数据场的等值面构造(1)

三维空间规则数据场的等值面构造(1)

一般有两种解决办法:
①LOD(Level of detail)方法 ②网格简化
33
Marching Cubes算法
存在问题——输出三角网格数据量巨大
①LOD(Level of detail)方法
34
Marching Cubes算法
存在问题——输出三角网格数据量巨大
①LOD(Level of detail)方法
抽取与绘制
10
Marching Cubes算法
确定体素顶点状态 设所需抽取的等值面的属性值为C0 若某顶点V所存贮的数据值大于(或等于)C0,则认 为V在等值面外侧(或位于其上),并记其状态值为1 反之,若V所存贮的数据值小于C0,则认为V在等值面 内侧,并记其状态值为0
11
Marching Cubes算法
2
面绘制算法
目的:
从一系列二维切片数据中得到物体的三维表示
输入:
由N张二维的切片生成数据。为得到比较好的显示效果, N应该越大越好其中每张切片可以看成是一幅二维图像, 包含了宽×高个灰度值
输出:
物体形状的三维表示,一般采用三角网格的形式来表达
3
面绘制算法
特点:
不能反映整个原始数据场的全貌及细节 可以对感兴趣区域的等值面产生清晰的图像
可以根据图像特征选择最恰当的分割方法 利用分割结果构造等值面
40
基于分割的Marching Cubes算法
41
基于分割的Marching Cubes算法
42
Marching Tetrahedra算法
在MC方法基础上发展起来
MT算法的基本原理:
首先将立方体元剖分为四面体,然后在其中构造等值面

MarchingCube算法综述

MarchingCube算法综述

Marching Cubes 算法Marching Cubes算法是三维规则数据场等值面生成的经典算法,于1987年由Lorensen 和Cline 两人在Siggraph Proceedings (pp. 163-169)提出。

处理的对象一般是断层扫描(CT),或是核磁共振成像(MRI)等产生的图像。

一、基本概念在Marching Cube算法中,体素是以逻辑上的六面体,由相邻层上的各四个像素组成的立方体上的八个顶点。

等值面是空间中所有具有某个相同值的点的集合。

它可以表示成这里的c是我们在三维重构过程中给定的阈值。

二、算法简介算法的基本思想是逐个处理数据场中的立方体(体素),分类出与等值面相交的立方体,采用插值计算出等值面与立方体边的交点。

根据立方体每一顶点与等值面的相对位置,将等值面与立方体边的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。

之所以这样,是由于Marching Cubes有个基本假设:沿六面体边的数据场呈连续性变化。

也就是讲,如果一条边的两个顶点分别大于或小于等值面的值,则在该条边上有且仅有一点是这条边与等值面的交点。

为了说明一下算法,先从2D图像开始。

图1(a)是一张像素灰度值为0~3的图像。

给定阈值1.5,黑色的点表示像素值大于1.5的像素。

图1(b)(c)描述了等值线的抽取过程。

图1(a)图1(b):用空心小圈表示图1(c):进行线性插值,求等值线与这条边相交出交点位置对于某棱边,如果它的两个端点v1、v2标记不同,那么等值面一定与此棱边相交。

且交点坐标为:P=P1 + (isovalue - V1 ) (P2 - P1 ) / (V 2 - V 1 )其中P代表等值点坐标,P1、P2代表两个端点的坐标,V1、V2代表两个端点的灰度值,isovalue 代表阈值。

对于每个四边形来说,每个顶点两种情况(大于或小于),4个顶点共16种情况(图2a),考虑到旋转对称性,从新分类后可得4种基本模式(图2b)。

拓扑优化方法

拓扑优化方法

拓扑优化方法拓扑优化方法是一种有效的优化方法,目前被广泛应用于求解复杂优化问题。

本文通过介绍拓扑优化方法的基本原理、典型案例、优势与应用等方面,来深入探讨拓扑优化的相关知识。

一、什么是拓扑优化方法拓扑优化方法(Topology Optimization,简称TO)是一种解决复杂最优化问题的有效优化方法,它是利用拓扑的可变性,用于求解复杂拓扑结构组合优化问题的一种新兴方法。

拓扑优化方法既可以用来求解有限元分析(Finite Element Analysis,简称FEA)中有序结构问题,也可以用来求解无序结构问题。

二、拓扑优化方法的基本原理拓扑优化方法的基本原理是:在设定的最优化目标函数及运算范围内,利用优化技术,使得复杂结构拓扑结构达到最优,从而达到最优化设计目标。

拓扑优化方法的优势主要体现在重量最小化、强度最大化、结构疲劳极限优化等多种反向设计问题上。

此外,由于拓扑优化方法考虑到结构加工、安装、维护等方面,其结构设计更加实用性好。

三、拓扑优化方法的典型案例1、航空外壳优化:目前,航空外壳的拓扑优化设计可以使得外壳的重量减轻50%以上,同时提升外壳的强度和耐久性。

2、机械联轴器优化:拓扑优化方法可以有效的提高机械联轴器长期使用的耐久性,减少其体积和重量,满足高性能要求。

3、结构优化:通过拓扑优化方法,可以有效地减少刚性框架结构的重量,优化结构设计,改善结构性能,大大降低制造成本。

四、拓扑优化方法的优势1、灵活性强:拓扑优化方法允许在设计过程中改变结构形态,可以有效利用具有局部不稳定性的装配元件;2、更容易操作:拓扑优化方法比传统的有序结构模型更容易实现,不需要做过多的运算;3、成本低:拓扑优化方法可以有效降低产品的工艺制造成本,在改进出色性能的同时,可以节省大量人力物力;4、可重复性高:拓扑优化方法可以实现由抽象到具体的可重复的设计,可以实现大量的应用系统。

五、拓扑优化方法的应用拓扑优化方法目前被广泛应用在机械、航空航天、汽车等机械工程领域,具体应用包括但不限于:机械手和夹具的设计优化,汽车机架优化,电器结构优化,机械外壳优化,振动优化,和结构强度优化等等。

Marching-Cube-算法综述

Marching-Cube-算法综述

Marching Cubes 算法Marching Cubes算法是三维规则数据场等值面生成的经典算法,于1987年由Lorensen 和Cline 两人在Siggraph Proceedings (pp. 163-169)提出。

处理的对象一般是断层扫描(CT),或是核磁共振成像(MRI)等产生的图像。

一、基本概念在Marching Cube算法中,体素是以逻辑上的六面体,由相邻层上的各四个像素组成的立方体上的八个顶点。

等值面是空间中所有具有某个相同值的点的集合。

它可以表示成这里的c是我们在三维重构过程中给定的阈值。

二、算法简介算法的基本思想是逐个处理数据场中的立方体(体素),分类出与等值面相交的立方体,采用插值计算出等值面与立方体边的交点。

根据立方体每一顶点与等值面的相对位置,将等值面与立方体边的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。

之所以这样,是由于Marching Cubes有个基本假设:沿六面体边的数据场呈连续性变化。

也就是讲,如果一条边的两个顶点分别大于或小于等值面的值,则在该条边上有且仅有一点是这条边与等值面的交点。

为了说明一下算法,先从2D图像开始。

图1(a)是一张像素灰度值为0~3的图像。

给定阈值1.5,黑色的点表示像素值大于1.5的像素。

图1(b)(c)描述了等值线的抽取过程。

图1(a)图1(b):用空心小圈表示图1(c):进行线性插值,求等值线与这条边相交出交点位置对于某棱边,如果它的两个端点v1、v2标记不同,那么等值面一定与此棱边相交。

且交点坐标为:P=P1 + (isovalue - V1 ) (P2 - P1 ) / (V 2 - V 1 )其中P代表等值点坐标,P1、P2代表两个端点的坐标,V1、V2代表两个端点的灰度值,isovalue 代表阈值。

对于每个四边形来说,每个顶点两种情况(大于或小于),4个顶点共16种情况(图2a),考虑到旋转对称性,从新分类后可得4种基本模式(图2b)。

三维数据场可视化ppt课件


采样数据的预处理
• 生成致密的三角形表面网格来描述几何实体 的表面
• 通过插值得到三角形表面网格每个节点上的 数据
华塑软件研究中心
11
由二维轮廓线重构三维形体(1)
断层扫描数据广泛地存在于医学、生物、地学、环境等应用领域,是一种最简单的三维标量 场。如果各断层问是相互平行的,每一断层与实体的交线就是实体在该断层上的轮廓线,也就 是二维平面上一条封闭的无自交的等值线,如图所示.如原始数据是光栅图像形式,在每一断 层上轮廓线表现为由连续的两相临点间线段组成的一组简单封闭的直线线段,也就是一个封闭 多边形链。
非凸多边形
华塑软件研究中心
多轮廓线

什么是体渲染?
• 体是由三维空间的多个体元(voxel)的三维数组组成
• 组成形式同二维的图像相似,图像由像素组成 • 由CT得到的数据或者其他方式的标量数据场很容易用体表示 • 体元是体的基本组成元素 • 体元的数量太多,如比较小的体含有1283个体元
s(x(t)) : scalar value
c(s(x(t)): color; emitted light
a(s(x(t)): absorption coefficient
D
t
- a(s(x(t’)))dt’
C = c(s(x(t)) e 0
dt
0
华塑软件研究中心
18
光学模型(2)
21
光线投影法的改进
• 性能改进方法
• 使用层次八叉树的结构存储体元 • 完全透明的多个体元由一个体元代替 • 取少量的点进行光线投影,其余点插值获得
• 质量改进方法
• 采样更多的点,如一个像素点采取4点进行光线投影 • 采用透视投影替换平行投影

拓扑优化——精选推荐

拓扑优化结构拓扑优化设计现状及前景⽬前, 最优化设计理论和⽅法在机械结构设计中得到了深⼊的研究和⼴泛的应⽤。

所谓优化设计就是根据具体的实际问题建⽴其优化设计的数学模型, 并采⽤⼀定的最优化⽅法寻找既满⾜约束条件⼜使⽬标函数最优的设计⽅案。

根据优化问题的初始设计条件, ⽬前结构优化技术有四⼤领域: 1) 尺⼨优化; 2) 形状优化; 3) 拓扑与布局优化; 4) 结构类型优化。

结构尺⼨优化是在结构的拓扑确定的前提下, ⾸先⽤少量尺⼨对结构的某些变动进⾏表达, 如桁架各单元的横截⾯尺⼨、某些节点位置的变动等, 然后在此基础上建⽴基于这些尺⼨参数的数学模型并采⽤优化⽅法对该模型进⾏求解得到最优的尺⼨参数。

在尺⼨优化设计中, 不改变结构的拓扑形态和边界形状, 只是对特定的尺⼨进⾏调整, 相当于在设计初始条件中就增加了拓扑形态的约束。

⽽结构最初始的拓扑形态和边界形状必须由设计者根据经验或实验确定, ⽽不能保证这些最初的设计是最优的, 所以最后得到的并不是全局最优的结果。

结构形状优化是指在给定的结构拓扑前提下, 通过调整结构内外边界形状来改善结构的性能。

以轴对称零件的圆⾓过渡形状设计的例⼦。

形状设计对边界形状的改变没有约束,和尺⼨优化相⽐其初始的条件得到了⼀定的放宽,应⽤的范围也得到了进⼀步的扩展。

拓扑优化设计是在给定材料品质和设计域内,通过优化设计⽅法可得到满⾜约束条件⼜使⽬标函数最优的结构布局形式及构件尺⼨。

拓扑设计的初始约束条件更少, 设计者只需要提出设计域⽽不需要知道具体的结构拓扑形态。

拓扑设计⽅法是⼀种创新性的设计⽅法, 能为我们提供⼀些新颖的结构拓扑。

⽬前, 拓扑设计理论在柔性受⼒结构、MEMS 器件及其它柔性微操作机构的设计中得到了⼴泛的研究。

结构拓扑优化的发展概况结构拓扑优化包括离散结构的拓扑优化和连续变量结构的拓扑优化。

近10 年来, 结构拓扑优化设计虽然取得了⼀些进展, 但⼤部分是针对连续变量的, 关于离散变量的研究为数甚少。

9-拓扑优化方法PPT课件

➢ 对这若干个子设计区域进行结构分析和灵敏度分析, 建立设计变量与结构位移、应力、频率等关系,从而 形成目标函数和约束条件;
➢ 按某种优化策略和准则从这若干个子设计区域中删除 某些单元,用保留下来的单元描述结构的最优拓扑。
16
四、拓扑优化方法分类
从其物理模型的描述方法上一般分为 ➢ 基结构法(The Ground Structural Method) ➢ 均匀化方法(The Homogenization Method) ➢ 渐 进 结 构 优 化 方 法 (The Evolutionary Structural
x fi u pu g xu i 0 i=1,2, ,n
由此可构造如下的迭代公式
x(k1) i
c(k)xi(k)
i=1,2,
,n
其中c(k)=-1- p
f u
ugxui
为小于1的因子
xi
7
x fi u pu g xu i 0 i=1,2, ,n
x fi u pu g xu i
i=1,2, ,n
对于由n个杆件组成的桁架结构,其满应力条件为
Fi Ai
i
i1,2,
,n
由此可构造如下的迭代公式
(k)
A(k1) i
i
A(k) i
i1,2,
,n
i
6
2. 基于K-T条件的准则法 对于结构优化设计问题:
m in f(X ) X R n
s .t.g u ( X ) 0u 1 ,2 ,,p
极值点X*应满足的Kuhn-Tucker条件
结构优化与材料优化
第一节 概述 第二节 结构优化设计的准则法 第三节 结构的拓扑优化方法 第四节 功能材料优化设计 第五节 柔性机构优化设计 第六节 结构多学科设计优化

Marching Cube 算法原理

Marching Cube 算法原理1.1.1 Marching Cube 算法概述面绘制法则是根据设定的阈值,从体数据中提取出表面的三角面片集,再用光照模型对三角面片进行渲染,形成三维图像。

面绘制法主要分为基于断层轮廓线的方法和基于体素的方法。

基于断层轮廓线的方法是先在不同的断层上提取出感兴趣区的轮廓线,然后在相邻的断层的轮廓线间构造出三角面片的方法,这在同一断层上有多个轮廓线时会产生模糊性,上下两层的轮廓线不易对应。

用户干预可以避免一定的模糊性,但是这样大大增加了操作的复杂性。

因此不被广泛采纳使用。

基于体素的方法以移动立方体法(Marching Cube,MC)为代表。

Marching Cubes算法是面显示算法中的经典算法,它也被称为“等值面提取”(Iso-surface Extraction)。

本质是将一系列两维的切片数据看作是一个三维的数据场,从中将具有某种域值的物质抽取出来,以某种拓扑形式连接成三角面片。

算法的基本原理MC算法的基本思想是逐个处理体数据场中的各个体元,并根据体元各个顶点的值来决定该体元内部等值面的构造形式"算法实现过程中,体元内等值面构造要经过以下两个主要计算:1、体元中三角面片逼近等值面的计算;2、三角面片各顶点法向量的计算。

1.1.2预备知识介绍(体素模型和等值面介绍)1、体素模型的介绍体素一般有两种定义:一种与二维图像中像素定义相类似。

直接把体数据中的采样点作为体素,另一种是把八个相邻的采样点包含的区域定义为体素。

在三维空间某一个区域内进行采样,若采样点在x,y,z,三个方向上分布是均匀的。

采样间距分别为Δx,Δy,Δz,则体数据可以用三维数字矩阵来表示。

每八个相临的采样点相临的立方体区域就定义为一个体素。

而这八个采样点称为该体素的角点。

他们的坐标分别为:(i, j, k), (i+1,j,k), (i,j+1,k), (i+1,j+1,k), (i,j,k+1), (i,j,k+1), (i+1.j+k+1), (i,j+1,k+1) 和(i+1,j+1,k+1)如图-1所示图-1 移动立方体的体素对于体素内任一点P6(x, y,z),其物理坐标可以转换为图像坐标 i6, j6,k6,其中i6=x/Δx, j6=y/Δy, k6=z/Δz.当把方向无关的三个线性插值作为体素模型时,其值可以表示为2、等值面(Iso-Surface)介绍在面重建算法中以重建等值面这一类算法最为经典。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Marching Cube拓扑二义性解决方法改进1孙伟,张彩明,肖敏山东大学计算机科学与技术学院(250061)E-mail:sun_wei@摘要:在等值面的三角片逼近中,逼近等值面拓扑结构的正确性十分关键,直接关系到所得到的等值面在应用中的指导意义。

原始的Marching Cube方法是假设沿体元的边上数据由该边两顶点线性插值得到,渐近线消除面的二义性方法是基于在面上的双线性插值进行计算,后来Nielson在体元中通过计算三线性插值来解决三维空间中内部拓扑二义性的问题。

以上算法由于完全基于对采样数据线性变化的假设,所选择的采样点无法保证在非线性变化的数据场逼近的等值面具有正确的拓扑结构。

本文在原有算法的基础上,提出了新的解决面上二义性方法,假设原数据在二义性面上为一二次函数,通过引入周围立方体单元的信息来计算该二次函数,并用来解决面上的二义性。

文中用实例对新方法和已有方法的逼近结果作了比较。

关键词:Marching Cube,等值面逼近,拓扑二义性,临界点1 引言等值面技术在可视化中应用很广,许多标量场中的可视化问题都归纳为等值面的抽取和绘制,如医学图像中的三维重建;有限元计算中的标量场分析,分子化学中的分子表面显示;地质中矿藏分布的构造等等。

在散乱点的曲面重建[1,2]和关键帧动画中,也常常提取零等值面作为散乱点数据的重建曲面和中间帧。

近年来,等值面逼近问题得到了极为广泛的关注,并取得了许多重要的成果,其中,MC(Marching Cube)方法以其简单和高效的特点,成为应用最广泛的等值面逼近方法。

利用三角片对等值面进行逼近首先要保证有三角片构成的等值面与原曲面有相同的拓扑结构。

通常的逼近方法在等值面上提取有限个采样点,并将这些采样点进行三角化,以得到得三角片组合曲面作为逼近等值面。

因而采样点的选择是逼近等值面拓扑结构的正确性的关键,尤其是在医学图像可视化等处理中,逼近等值面拓扑结构的正确行更为重要,否则将影响对临床的指导意义。

现在的MC逼近方法,在处理二义性面时,由于基于在采样数据沿体元(voxel)边的变化是线性的假设,采用双曲线方法进行处理,这种方法导致了对许多二义性面的错误处理。

总结现在存在的MC方法的基础上,本文在处理二义性面时,通过计算二义性面四个顶点的梯度,引入周围体元的信息,较好的解决二义性,得到更可靠的结果。

本文的方法在增加计算量不大的情况下,保证了等值面具有正确的拓扑结构。

文中使用构造的二次函数实例对新的1本课题得到高等学校博士学科点专项科研基金(项目编号:20020422030)资助方法和已有的方法的逼近结果作了比较。

2 引入周围体元信息消除面的二义性文章中按照原始算法中的立方体体元顶点分类规则:对于大于等于等值面值的立方体顶点,定义该顶点位于等值面之外,称为正顶点,记为“+”;对于小于等值面值的立方体顶点,定义该顶点位于等值面之内,成为负顶点,记为“-”。

如果一个面上位于等值面内和在等值面外的顶点分别分布在对角线的两端,则称这个面为二义性面。

包含二义性面的立方体,即为二义性立方体。

本文中仍然假设等值面与立方体的边只有一个交点。

对于存在至少一个二义性面的体元,因为线性函数与体元面的交点为一条直线,不能将二义性面的正顶点和负顶点分开,所以面上的采样数据对应的原始函数至少为二次函数。

本文中设计如下两个二次函数对面上解决二义性的方法测试其判断结果正确性,函数如下:212222(,,)44()5(,,)4(1)2()2(3)1F x y z y x z F x y z y x z x z =+−−=−+−−+−+(1) (2)以上两个原函数当三维坐标均在实数域上取0到3时,函数的零等值面图形如下图:图1函数F1(左) 和F2(右)的零等值面对三个坐标分别在整数0到3上取样得到的点组成一个4*4*4的网格,其中中间立方体和其下面的立方体的各顶点的值在下图2中标出,(b )(a )图2 F 1和F 2中心以及中心下方的立方体各个顶点取值从图二中可以明显的看出,两个原始函数的中间立方体顶点取值是一样的,但从图一可以看出,函数F 1的等值面为一个连通的曲面,函数F 2的等值面为两个分离的双曲面片。

这就说明对于上面的这种非线性插值得到的原始函数,不可能使用一个立方体内的顶点信息得到正确的曲面拓扑结构,必须使用邻近体元的顶点信息,本文中通过计算立方体中二义性面的顶点梯度引入周围立方体的信息,称为梯度法。

由于梯度向量的方向为等值面的法方向,其大小为函数变化快慢的度量,所以估计二义性面的梯度,能够估计得出原始函数在二义性面上的变化情况,我们需要的仅仅是梯度在平面上的分量。

例如,如果我们计算梯度的二义性面平行于x-y 坐标轴,则我们只需要计算在x 和y 方向的梯度信息,用来估计原函数在这两个方向的变化情况。

由于在后面的光照明模型中仍然用到各个顶点处的梯度信息,即法向量,所以在此引入梯度来消除二义性,并不增加计算量。

本文假设立方体为单位立方体,各个边的长度为1,对于各个顶点处梯度值的计算,采用中心差分的方法,即对于图三中的中间的面,假设其平行于x -y 坐标轴我们采用下面的方法来求得顶点(i,j,k)在x,y 方向的梯度分量:x yg =(f(i+1,j,k)-f(i-1,j,k))/2g =(f(i,j+1,k)-(i,j-1,k))/2⎧⎪⎨⎪⎩(3)其中f(i,j,k)为点(i,j,k)处的函数值。

(i-1,j+1,k ) (i,j+1,k ) (i+1,j+1,k ) (i-1,j,k ) (i,j,k ) (i+1,j,k ) (i-1,j-1,k)(i,j-1,k)(i+1,j-1,k )图3如上所述,由于两个变量的线性函数不能逼近一个二义性面,所以逼近二义性面的函数的最低次数为二次。

本文中就使用一个二次函数来逼近二义性面,通过对二义性面的四个顶点进行插值,对四个顶点处的梯度分量进行逼近来得到该函数。

由于四个顶点处的梯度分量是使用了图三中周围8个顶点计算出来,因此,二次函数也可以看作是对二义性面四个顶点进行插值,对周围8个点进行逼近的结果。

在对四个顶点处的梯度进行逼近时,选择最小平方误差作为标准。

假设所要处理的二义性面平行于x-y 轴,则不失一般性,可设二义性面在局部x-y 坐标系中的坐标为(0,0),(△x,0),(0, △y),( △x,△y),如图四所示,四个顶点分别标识为ll ,lr ,ul ,ur ,在顶点处x 方向的梯度分量表示为▽fx ,y 方向的梯度分量表示为▽fy 。

为了更方便地说明我们的梯度法,本文做从x-y 到t-u 的坐标变换,如图四所示, 其中1()21()2x t u x y t u y ⎧=−+∆⎪⎪⎨⎪=−+∆⎪⎩(4)图4 从x-y 坐标系到t-u 坐标系的变换在变换后的坐标空间t-u 中,梯度分量分别用▽ft ,▽fu 表示,可以通过下式(5)得到在t-u 空间的梯度分量▽ft ,▽fu 。

(5)t x u t f f x y f x y f ∇∇∆∆⎛⎞⎛⎞⎛⎞=⎜⎟⎜⎟⎜⎟∇−∆∆∇⎝⎠⎝⎠⎝⎠在下文中,我们用▽fx,ll, ▽fy,ll 表示在x-y 坐标系中顶点ll 处的梯度分量,相应的, 用▽ft,ll, ▽fu,ll 表示对应的t-u 坐标系中ll 处的梯度分量。

其它点处的梯度分量也可用相同的方法表示。

由于含有两个变量的二次函数有6个未知量,本文在t-u 坐标系中表示该二次函数如(6)所示。

2212111222(,)2(6)Q t u c b t b u a t a tu a u =+++++上式中存在6个未知量,由需要满足在四个顶点处的插值可知(7),ll lr u r u l Q (-1/2,0)=f Q (0,-1/2)=f (7) Q (1/2,0) =f Q(0,1/2) =f⎧⎪⎪⎨⎪⎪⎩由方程组(7),我们可以得出方程组(8),112212112214()2(8)1()2lllr ul ur ul ll ul lr ll lr ul urf f f f c a a f f b f f b f f f f a a ⎧+++=++⎪⎪−=⎪⎨−=⎪⎪−−+=−⎪⎩通过(8)式可以解出未知系数a 11,a 22,b 1,b 2。

其中a 11 =2(f ll +f ur )-4c, a 22 =2(f lr +f ur )-4c,二次函数Q 对于四个顶点的梯度采用的是最小平方误差方法进行逼近,本文使用函数E(t,u)定义每个顶点的平方误差,其表达式如(9)所示,221111222212(,)(22(,))(22(,))(9)t u E t u b a t a u f t u b a u a t f t u =++−∇+++−∇要使四个顶点处的平方误差达到最小,必须满足下面(10)所示的约束条件,11111111112222222222121212121111(,0)(0,(0,)(,0)2222()1111(,0)(0,(0,)(,0)2222()0(10)1111(,0)(0,)(0,)(,0)22220E E E E da a a a a dc E E E E da a a a a dc E E E E a a a a ⎧∂−∂−∂∂⎪+++⎪∂∂∂∂⎪⎪∂−∂−∂∂⎪⎪++++=⎨∂∂∂∂⎪⎪∂−∂−∂∂⎪⎪+++=∂∂∂∂⎪⎪⎩通过(10),解出系数c ,a 12 如下,,,,,12,,,,11()()416(11)1()4ll lr ul ur t ll u lr u ul u ur u ll t lr r ul u ur c f f f f f f f f a f f f f ⎧=++++∇+∇−∇−∇⎪⎪⎨⎪=−∇−∇+∇+∇⎪⎩这样即可得到二义性面的逼近函数Q (t,u )的表达式。

当二次函数Q(t,u)=0表示的曲线为抛物线,椭圆,平行直线等凸集时,可以证明,函数在二义性面的中心的取值Q(0,0)=c 与在曲线中连通的对角顶点有相同的符号,即连通与Q (0,0)符号相同的两个节点。

当Q(t,u)=0表示的曲线为双曲线时,使用Nielson [7]的渐近线方法,此时仅使用二义性面四个顶点的就可以判断连通哪两个点,方法如下,如果Q(-1/2,0)Q(1/2,0)> Q(0,-1/2)Q(0,1/2),即f ll f ur >f lr f ul ,则将ll,ur 节点连通;否则,连通lr,ul 节点。

3 新方法的体元内部曲面逼近过程MC 方法[3]将体元每个顶点的状态进行标记并根据不同的状态组合进行分类,其中标量值大于等值面阈值的顶点标为正,否则为负。

相关文档
最新文档