任意三维剖面的程序式凹凸映射生成算法
作者单位:青岛大学
学位级别:硕士
导师姓名:贾世宇
授予年度:2021年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程]
摘 要:三维模型切割渲染的过程中,实时性和真实感是判断虚拟仿真系统好坏的重要标准。三维模型渲染的真实感不仅体现在物体表面上,还体现在切割后物体的剖面上。虽然三维纹理可以模拟剖面上的颜色纹理,但无法存储任意剖面上的法线扰动信息,因为颜色信息与剖面无关,而法线信息却与剖面方向相关。并且三维纹理本身存在获取困难、计算复杂和占用存储空间大的问题。传统的二维凹凸映射将表面的法线扰动信息存储到二维纹理中,而模型内部任意点的法线信息无法从表面的法线计算出来,因此该方法无法适用于三维模型的任意剖面。为此提出一种适用于三维模型任意剖面的程序式凹凸映射生成算法,该算法结合模型内部微观结构,实现任意剖面上的凹凸映射效果,提高切割模拟过程中的真实感和沉浸感。而且程序运行过程中渲染一帧画面大约只需0.5毫秒,满足切割操作过程中实时渲染的需求。具体的研究工作分为以下几个方面:基于噪声纹理扰动的微观结构建模。本文分别选用球体、圆柱体等形状作为内部微观结构。首先对模型内部的微观结构进行规整建模,根据微观结构之间的间距,确定每个结构的位置和大小,得到大小相同、位置规整的微观结构。然后根据Perlin噪声、Worley噪声的计算原理,分别计算出相应的噪声纹理。最后使用Worley噪声对球体结构添加扰动,使用Perlin噪声对圆柱体结构添加扰动,从而得到模型内部不规则的微观结构。任意剖面的程序式凹凸映射算法。本文分别对球体、圆柱体结构提出相应的剖面凹凸映射生成算法。根据剖面产生条件的不同,将剖面分为撕裂面、空心切割面、实心切割面三种情况。在各种情况下,根据微观结构与剖面的位置关系,分别应用不同的数学模型计算法线扰动信息,然后将扰动后的法线代入光照模型中,实现对剖面的渲染,从而得到剖面上的带有微观结构特征的凹凸映射效果。在模拟柔性体模型的切割时,根据模型变形状态计算变形梯度,然后使用变形梯度将扰动后的法线从未变形状态变换到变形状态。