2、以对象空间为序的体绘制算法—单元投影法

Slides:



Advertisements
Similar presentations
一、 一阶线性微分方程及其解法 二、 一阶线性微分方程的简单应用 三、 小结及作业 §6.2 一阶线性微分方程.
Advertisements

第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
2.6 隐函数微分法 第二章 第二章 二、高阶导数 一、隐式定义的函数 三、可微函数的有理幂. 一、隐函数的导数 若由方程 可确定 y 是 x 的函数, 由 表示的函数, 称为显函数. 例如, 可确定显函数 可确定 y 是 x 的函数, 但此隐函数不能显化. 函数为隐函数. 则称此 隐函数求导方法.
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
信号与系统 第三章 傅里叶变换 东北大学 2017/2/27.
精品课程《解析几何》 第三章 平面与空间直线.
§3.4 空间直线的方程.
《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
第八章 向量代数 空间解析几何 第五节 空间直线及其方程 一、空间直线的点向式方程 和参数方程 二、空间直线的一般方程 三、空间两直线的夹角.
3.4 空间直线的方程.
上一节课内容回顾 第七讲 三维标量场等值面可视化 7.1 Cuberille表示和显示方法 7.2 Marching Cube算法
《解析几何》 乐山师范学院 0 引言 §1 二次曲线与直线的相关位置.
丰富的图形世界(2).
第四节 对数留数与辐角原理 一、对数留数 二、辐角原理 三、路西定理 四、小结与思考.
一次函数的图象复习课 南华实验学校 初二(10)班 教师:朱中萍.
§5.3 定积分的换元法 和分部积分法 一、 定积分的换元法 二、 定积分的分部积分法 三、 小结、作业.
第5章 定积分及其应用 基本要求 5.1 定积分的概念与性质 5.2 微积分基本公式 5.3 定积分的换元积分法与分部积分法
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
2-7、函数的微分 教学要求 教学要点.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
初中数学 九年级(下册) 5.3 用待定系数法确定二次函数表达式.
第三章 点 §3-1 两投影面体系中点的投影 §3-2 三投影面体系中点的投影 §3-3 两点的相对位置 §3-4 重影点 例题1 例题2
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
物体识别 3D建图 semantic mapping
走进编程 程序的顺序结构(二).
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
计算机数学基础 主讲老师: 邓辉文.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
数学模型实验课(三) 插值与三维图形.
双曲线的简单几何性质 杏坛中学 高二数学备课组.
2.1.2 空间中直线与直线 之间的位置关系.
平行四边形的性质 灵寿县第二初级中学 栗 彦.
计算.
数列.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
正方形 ——计成保.
2.3.4 平面与平面垂直的性质.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
第四章 一次函数 4. 一次函数的应用(第1课时).
3.3 垂径定理 第2课时 垂径定理的逆定理.
§1体积求法 一、旋转体的体积 二、平行截面面积为已知的立体的体积 三、小结.
第五节 对坐标的曲面积分 一、 对坐标的曲面积分的概念与性质 二、对坐标的曲面积分的计算法 三、两类曲面积分的联系.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
正切函数的图象和性质 周期函数定义: 一般地,对于函数 (x),如果存在一个非零常数T,使得当x取定义域内的每一个值时,都有
3.1 变化率与导数   3.1.1 变化率问题 3.1.2 导数的概念.
3.1.2 空间向量的数量积运算 1.了解空间向量夹角的概念及表示方法. 2.掌握空间向量数量积的计算方法及应用.
相关与回归 非确定关系 在宏观上存在关系,但并未精确到可以用函数关系来表达。青少年身高与年龄,体重与体表面积 非确定关系:
《工程制图基础》 第四讲 几何元素间的相对位置.
直线和圆的位置关系 ·.
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
空间平面与平面的 位置关系.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
平行四边形的性质 鄢陵县彭店一中 赵二歌.
第三章 空间向量与立体几何 3.1 空间向量及其运算 3.1.2空间向量的数乘运算.
§2-2 点的投影 一、点在一个投影面上的投影 二、点在三投影面体系中的投影 三、空间二点的相对位置 四、重影点 五、例题 例1 例2 例3
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
正弦函数的性质与图像.
选修1—1 导数的运算与几何意义 高碑店三中 张志华.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第三章 从概率分布函数的抽样 (Sampling from Probability Distribution Functions)
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
位似.
第一节 不定积分的概念与性质 原函数与不定积分的概念 基本积分表 不定积分的性质 小结、作业 1/22.
生活中的几何体.
H a S = a h.
第三章 图形的平移与旋转.
3.3.2 两点间的距离 山东省临沂第一中学.
Presentation transcript:

2、以对象空间为序的体绘制算法—单元投影法 根据每点的函数值计算该点的不透明度及颜色值。 根据给定的视平面和观察方向,将每个数据点的坐标由对象空间变换到图像空间. 根据选定的光照模型,计算出每个数据点处的光照强. 根据选定的重构核函数计算出从三维数据点光照强度到二维图像空间的映射关系,得出每个数据点所影响的二维象京的范围及对其中每个象素点的光照强度的贡献. 将不同的数据点对同一象素点的贡献加以合成.

单元投影法的主要步骤: For 每一体素或单元 Do For该体素在视平面投影区域内的每一象素 Do 计算象素点获得的光照强度 end

两种方法的简单比较 光线跟踪要将当前所有数据放入内存,内存要求高;单元投射只需当前单元体数据。 从走样的情况分析:由于光线跟踪采用点采样,走样情况只有通过分布式光线跟踪才能消除;相对地讲,单元投影可达到解析解的程度. (图象质量高低的关键在于所采用的重构核函数的精度.高精度的再采样同样能较大地提高光线跟踪的质量). 但对象空间往往比图像空间要大得多,单元投影法的计算时间相对要大得多. 光线跟踪难以并行化,而单元投影的并行处理要相对容易。

7.4 体光线跟踪法 与传统的基于光线跟踪是三维场景绘制的——个很有效的方法,体绘制光线跟踪的特点有: 对象空间的表示不同. 传统的对象空间是用造型技术建立起来的几何表示;而体绘制的对象空间是由被称为体素的单位立方体排列而成.也可以看成是由一系列断层数据组合而成,称为体缓冲区(volume buffer). 求交方式的不同. 传统的光线跟踪是与对象表中的对象求交,求出最近的相交点;而体绘制光线跟踪是遍历整个体缓冲区.求出第一个与光线相交的非透明的体素,由该体素中所存的数据值计算其光照强度.

任何与视点相关参数的改变,都会引起光线跟踪算法的完全重计算。 计算复杂度的不同. 传统光线跟踪算法其计算时间随着对象的增加,组成场景对象的复杂度增加而大大增加,由于求交的开销影响算法的效率;而体绘制免去了大量费时的求交计算,只需计算与立方体素的交和一个体素的遍历机制.因而体绘制光线跟踪的复杂度仅与体缓冲区的分辨率有关。 任何与视点相关参数的改变,都会引起光线跟踪算法的完全重计算。 光线跟踪:重计算包括纹理颜色的计算,光源可见性的检测,光照强度等等。 体绘制:许多与视点相关的计算在三维离散采样生成体数据时已经存在于体数据中 ,如对象的纹理等,其绘制参数的改变主要是视点、光源和光照明模型

7.4.1 三维对象的直接二维显示 从屏幕向对象空间发射光线,假设屏幕上的每一点都是一光源,它以垂直于屏幕的方向发射平行光. 对于屏幕上的每一点,首先计算出对象空问中与该点光线相交的第一点,然后再根据交点处的信息计算屏幕点最终的颜色值.

对离散数据场,计算光线与对象的第一交点。交点在光线两点 , 之间 对离散数据场,计算光线与对象的第一交点。交点在光线两点 , 之间 沿光线从屏幕到 每点都位于对象之外 位于对象之内 算法描述假设 对象有一矩形包围盒,由若干断层组成 给定一点,能确定该点在那一断层上 屏幕是一矩形,被分割成象素,每一象素由一点表示 屏幕垂直于光线方向。

算法中的关键量如下: 1、 光线的方向g 2、 屏幕的中心 S = B – dg 3、 屏幕是一个平面,每一象素点位置可定义为 P = E + iU +jV 4、沿着P点出发的光线上每点可以写为 Q = P + dg, d>0 (通过测试,求出落在立方体内的点Q) 算法7.1(P 165)

7.4.2 光线投射方法 对图象平面上的每一象素,从视点投射出一穿过该象素的视线,它穿过体数据空间。算法直接利用该视线上的采样值计算该象素的光强。 算法分为三部分:光线生成,光强计算与组合,图象显示。

设体数据中每一位于(i,j,k)的体素值为 f(x) (x=(i,j,k)), 位于视平面(u,v)处象素的光线为R(u,v), 其强度为C(u,v). 1、由体素值f(x), 根据光照明模型计算出对应的颜色值C(x)和不透明值a(x). 2、沿光线R, 进入图象空间与与体数据包围盒相交.在两相交点之间设置一系列采样点 . 3、根据C(x)和a(x),通过再采样计算出对应的 ,并将它们沿光线组合在一起就是当前象素点处的光强度值(如图7.16所示过程).

颜色和不透明度有从前到后/从后到前两种组合 设光线穿过体素前、后的颜色和不透明度分别为 光线从前到后的组合为

沿光线上所有采样点组合可写为 光线从前到后的组合雷同,可采用递归方法。 对于医学图像等由三维扫描获得的数据.多采用正交网络中体素顶点的三维线性插值或DDA算法,对于有限元分析可直接利用原单元的类型进行插值.

对于正规网格,梯度的计算可直接采用中心差分方法

对于边界区域,上述中心差分可以改成向前或向后差分形式 一般情况下,差分形式满足计算时间和精度的要求,不然,可以采用一种更为精确的变量三次样条来计算。 通过逼近函数的导数与梯度代替被拟合函数。 不透明函数的定义与具体应用有关。

7.4.3 优化方法 从光线投射的基本方法可见,体绘制的采样是沿光线的等距采样。 这种采样的缺点:许多空结点也同样被采样.提高采样效率是光线投射优化的目标。 介绍一个基于层次空间的枚举优化方法.

对于一每维有N个体素结点的多维数据集( 是整数)).可建立一个M十1层的金字培(pyramid),在该金字塔中,层号为m=0,1,…,m、在m层中体素被标为 ,具体构造方法为(P169)

建立了—个二维空间中的金字塔结构.光线跟踪可以充分利用这结构。对每条光线首先计算在顶层进入的单个单元,然后以下列方式遍历整个金字塔: 1)进入一单元,首先测试其值,如为零则沿光线进入同层下一单元; 2)如新单元的父结点与所在单元不一致,移到新单元的父结点 3)如进入的单元测试值为1,则进入其子单元; 4)如已经到最底层,沿光线按步长进行再采样. 整个构造和采样过程如图7.18所示.

三维体数据的采样,常用的方法与二维的点采样方法相同。 Mip-map方法: 从视点出发建立一金字塔三维采样体,以覆盖整个采样空间 图象平面上象素值是由金字塔所有体素的影响而决定。

医学图象中希望能看清体数据的内部结构。对这样的体绘制,这种光线跟踪的实际应用意义不大。 7.4.4 X光线跟踪 传统的光线跟踪: 每一条与表面相交的光线被分成反射光和折射光再分别进行跟踪; 有了折射光和反射率,可模拟内部的对象在光照下发生的(视觉上)形变。 医学图象中希望能看清体数据的内部结构。对这样的体绘制,这种光线跟踪的实际应用意义不大。

X光线跟踪: 设 光线在不同物质界面上不发生折射,继续沿原方向前进(即相对折射率全为一)。 对象的内部结构无形变地绘制出来;但看上去立体感不强 设 T是光线和对象表面的一个交点, R是光线入射方向,则T点的光强为

其中各分量意义同传统的光照明模型 分别表示反射光、折射光系数 表示T处局部光强度 分别表示环境光、漫反射光和高光

X光线跟踪用X光线代替折射光线进行光线跟踪: 为了加强边界效果,引入下述方法 采用表面角来加强对象边界: 图象识别时的边界判断因子也能作为权因子放入上式。

7.5 体单元投影法 以对象空间为序的一种绘制方法。 从对象空间的三维数据场出发,依次计算每个数据点对屏幕上各象素点的贡献。 7.5 体单元投影法 以对象空间为序的一种绘制方法。 从对象空间的三维数据场出发,依次计算每个数据点对屏幕上各象素点的贡献。 将同一平面和不同平面上各数据点对各象素点光亮度的贡献合成起来得到最后的图象

7.5.1 V-Buffer算法(类似Z-Buffer) 基于正交网格点上计算单元投影绘制方法 扫描整个对象空间,依次逐个处理每一单元 由视点和单元的相对位置来决定单元的扫描顺序 为每一单元定义一个包围盒,用扫描线裁剪生成单元投影贡献的象素区域 对每条扫描线上的象素点计算出光照强度和不透明度,然后进行类加。 可见性由不透明度决定。

1、扫描顺序的决定 V-Buffer 中保存的是不透明度的累加值 单元的处理从接近视点的平面开始,逐个处理至最远处平面; 每个平面内的单元处理次序:根据单元与视点的距离,从最近的单元开始,然后相邻单元,形成类似同心圆式扫描 由于是正交网格单元,单元之间不会相互重叠。

2、单元处理 为每一单元决定一个包围盒 包围盒在图象平面上投影,决定该单元投影的扫描线范围 包围盒内的每条扫描线,计算由扫描线确定的扫描平面与单元的交 多边形:它为凸多边形,投影到扫描线上形成至多五段区间

3、光亮度贡献的累加 与单元有交多边形的各条扫描线:计算单元对它的光亮度贡献和不透明度贡献; 求出当前象素上的投影线与交多边形的交点:图7.22中P点的投影线 与交多边形有两个交点A和B 由交点求出交线长,从而计算出当前单元对该象素的贡献,再累加到象素平面上

7.5.2 Footprint 算法 纹理映射Footprint算法: 前者:计算出图象平面上每一象素在纹理空间中的取值范围,将该范围内值加权求和作为象素的纹理值。 后者:对每一数据采样点计算出它在图象平面内的影响的象素范围 (Footprmt范围),通过把各采样点的能量扩展到图像空间,逐步重构原始信号. 因而Footprint算法要计算的是每一采样点对最终图像的贡献和每一采样点对每一象素的重构核心。

图7.24比较了这两者的各自过程.

首先介绍的算法中的页(sheet):页是通过数据空间平行于图像平面的一个平面,Footprint算法是对页内的所有体素同时进行的. 变换、光强计算、重构和可见性组合。 首先介绍的算法中的页(sheet):页是通过数据空间平行于图像平面的一个平面,Footprint算法是对页内的所有体素同时进行的. 将页内采样点从数据空间(i,j, k)变换到屏幕图像空间(x,y,z).应用光照模型计算出光照强度(x,y,z; r,g,b,a); 选用Footprint函数计算采样贡献所能影响的图像空间的范围dA.将其贡献累加到因像空间的页累加器(sheet accumulator)中, 其中Footprint函数的决定、函数的采样和采样贡献的扩展,被形象地称为splating过程.比喻为确定一滴水从对象空间落到图像平面上溅开的范围. 当一个页内的采样处理完后.用一组合操作将页累加器内的值组合到工作图像中, 当所有采样处理都完成后,工作图像将成为最后的图像.

1、Footprint 函数 Footprint 函数是进行重构的基础。对正交矩形网格数据空间,重构方程如下: 其中 分别是体重构核、密度函数和脉冲阵列函数(Comb函数); u,v,w是核的坐标

作为体重构核函数,它是一滤波器,它决定了体素在图像空间上的效果; 数据的采样点被当作影响的中心,其值随距离增加而减小. 考虑到 的作用,将求和放到积分外,可以得到在(x,y,z)点积分的离散形式: D范围是核输入采样的非零范围, 是采样D在图像空间的坐标.

绘制考虑每个单独的点采样,将其贡献扩展到输出采样上, 一个采样点对空间其它点的贡献为: (x,y) Z 绘制考虑每个单独的点采样,将其贡献扩展到输出采样上, 一个采样点对空间其它点的贡献为: 在一个给定的位置(x,y)的所有贡献是沿穿过原点在(x,y)垂直于屏幕的核的光线的贡之和。核可沿z积分,所以由上式在(x,y)象素的图像平面上的采样贡献为

对于正交投影的优点:每—采样点的Footprint范围都是一样,因而对于数据集的每一视图,Footprint函数只需计算一次. 上式的积分独立于采样密度,只与采样投影位置(x,y)有关.要求出一象素上值,只要对滤波器沿z积分、该积分被称为Footprint函数.定义为: 其中,(x,y)是屏幕空间的位置. 对于正交投影的优点:每—采样点的Footprint范围都是一样,因而对于数据集的每一视图,Footprint函数只需计算一次.

核的积分的解析式很难求出,我们常用离散查表法.建立一个这样的表需注意: 1)计算核投影在屏幕空间的范围,如采用正交投影,则该核的投影范围内的所有象素都会受影响, 2)计算一个从视点变换范围到包围一般核投影范围的映射. 假设确定重构的核心是球体,如不是球体,可用一包围球代替.上述两点也就是计算单位区域球采样所影响的范围,和视点变换区域球内每一点到单位区域球范围的映射. 因此,分别建立一般FootPrint表和视点变换Footprint表,通过查表,使绘制要执行的积分数下降为N*N,N是表中每维上的网格单元数.

extent = 2.0 * 核宽 * 网格放大率 * 视点放大率 2、投影范围和视点变换的 假设: 1、重构核是一球体: 其半径等于重构核的宽度,该球定义了采样所影响的范围(见图7.25). 2、采样率大大低于象素分辨率,球核在(x,y)上的范围可写为 extent = 2.0 * 核宽 * 网格放大率 * 视点放大率 在该范围的离散网络上,Footprint函数沿z方向积分,其结果存于一‘般Footprint表.

在绘制时,要决定视点变换区域球的范围,对于球体,也就是建立单位区域球到一般区域球之间的映射,由于球的投影是一圆,从一个圆到另一圆的映射可写为: 利用该映射,将视点变换Footprint表中单元映射到一般Footprint表. 如果变换仅是旋转,放大因子不变,该表还能再被利用.

7.5.3 相关投影法 由于对象空间体数据单元数巨大,对于单元投影法的体绘制其关键问题是要简化投影,加快汁算. 相关性投影法利用了矩形单元在平行投影情况下的相关性.确定投影形状,将单元分成若干相关的子单元,投影计算在子单元上进行.

从平行投影的角度出发,任一单元的投影具有以下性质: 1)每一单元的投影在几何上是一类单元投影的一个平移; 2)从任一视点出发,一个一般的单元可以简化为至多是七个有相同前后面的子单元。 3)子单元的投影要么是三角形要么是任意四边形.

从以上这些性质出发,整个相关性投影由以下五步组成: 1) 对组成体的各类单元根据特定的形状和朝向决定一个投影的样板表。 2)基于该样板表,遍历整个体; 3)对于每 单元,决定子单元顶点的强度和不透明度‘ 4)用插值决定子单元投影区域中象素的强度和不透明度; 5)将投影区域内象素的值与累加器中的值进行组合

1、一般单元的分割 对于正交网格,一个单元是指由八个顶点组成的矩形单元,该单元由半透明材料组成.投影以平行投影方式进行. 根据与视点的相对位置矩形单元的可见面有一个面,二个面和三个面三种情况(见图7.28). 根据单元的投影区域可将矩形单元分成若干个具有相同前、后面的子单元,其个数至多7个. 子单元是前后面都投影列同一屏幕位置的多面体.生成的投影多边形的顶点可看成是一对顶点,即前后顶点,沿子单元的侧影轮廓线,这两点之间可能无距离, 有些顶点是原单元顶点,有些是交点.

2、光强度的计算 将各数据单元分割成若干个具有相同前后面的子单元后,子单元相应投影多边形顶点处的光强度和不透明度的计算转变成沿对应子单元顶点对的区间作深度积分计算. 微分方程为

其中:z是从后顶点穿过单元到前顶点的距离, 是微分不透明度, 是颜色c的微分强度,T(z)是透明度, 是光强度. 该方程在边界条件 下,可得到解