毛开宇论文修改稿6(5)

2018-12-17 12:35

第三章 软件工具介绍

一整套游戏开发解决方案。对开发者来说使用DirectX显然要方便的多。 还有很重要的一点, GL从不淘汰任何老的API. DX10相对于DX9,是个全新的API,革命性的更新,彻底推倒重来. 但GL为了向后兼容,保留了很多对硬件和驱动都不友好的API.除了跨平台和早期对精度的要求比DX高,其他简直是一无是处。

13

广东石油化工学院本科毕业(设计)论文:基于OpenGL的3D游戏动漫人物设计中人脸表情库的构建

第四章 原理介绍

4.1 3D建模

3D建模通俗来讲就是通过三维制作软件通过虚拟三维空间构建出具有三维数据的模型。3D建模大概可分为:NURBS和多边形网格。 NURBS对要求精细、弹性与复杂的模型有较好的应用,适合量化生产用途 。多边形网格建模是靠拉面方式,适合做效果图与复杂场景动画.综合说来各有长处

4.2网格模型和统计模型

网格模型

如果需要使用消隐、着色和渲染功能,而线框模型无法提供这些功能,但又不需要实体模型提供的物理特性(质量、体积、重心、惯性矩等),则可以使用网格。由于网格面是平面的,因此网格只能近似于曲面。视觉样式控制网格的显示方式为线框还是着色。

网格密度控制镶嵌面的数目,它有包含M乘N个顶点的矩阵定义,类似于行和列组成的栅格,M和N分别指定顶点的列和行的位置。网格可以是开放的,也可以是闭合的,如果在某个方向上的网格的起始边和终止边没有接触,则网格就是开放的。可以创建多种类型的网格。

三维面:3DFACE创建具有三边或四边的平面网格。

直纹网格:RULESURF在两条直线或者曲线之间创建一个表示直纹曲面的多边形网格。

平移网格:TABSURF创建多边形网格,该网格表示通过指定的方向和距离(成为方向矢量)拉伸直线或曲线(称为路径曲线)定义的常规平移曲面。 旋转网格:REVSURF通过将路径曲线或轮廓(直线、圆、圆弧、椭圆、椭圆弧、闭合多线段、多边形、闭合样条曲线或圆环)绕指定的轴旋转创建一个近似于旋转曲面的多边形网格。

边界定义的网格:EDGESURF创建一和多边形网格,此多边形网格近似于一个由四条邻接边定义的孔斯曲面片网格。孔斯曲面片网格是一个在四条邻接边(这些边可以是普通的空间曲线)之间插入的双三次曲面。

预定义的三维网格:3D命令沿常见几何体(包括长方形、圆锥体、球体、圆环体、楔体和棱锥体)的外表面的创建三维多边形网格。 基本网格:3DMESH和PFACE创建任意形状的三维多边形网格对象。

第四章 原理介绍

统计模型

有些过程无法用理论分析到处其模型,但可以通过试验或直接由工业化过程测量数据,经过数理统计法求得各变量之间的函数关系。常用的数理统计分析有最大事后概率估算法,最大似然率辨识法等。

4.3 NURBS建模

NURBS方法是提出需要以描述自由曲面曲线的B样条方法,NURBS曲线的基础是B样条函数和B样条曲线,NURBS是非均匀有理B样条的英文缩写,所以我们要了解非均匀有理B样条,也就是NURBS,需要了解B样条基函数和B样条曲线的知识。

4.3.1 B样条基函数定义和性质

定义:令U={u0,u1,?,um}是一个单调不减的实数序列,即ui≤ui+1,i=0,1,?,m-1。其中,ui称为节点,U称为节点矢量,用Ni,p(u)表示第i个p次(p+1阶)B样条基函数,其定义为

由此可知:

(1)Ni,0(u)是一个阶梯函数,它在半开区间u∈[ui,ui+1)外都为零; (2)当p>0时,Ni,p(u)是两个p-1次基函数的线性组合; (3)计算一组基函数时需要事先制定节点矢量U和次数p; (4)定义式中可能出现0/0,我们规定0/0=0;

(5)Ni,p(u)是定义在整个实数轴上的分段多项式函数,但我们一般只对它在区间[u0,um]上的部分感兴趣;

(6)半开区间[ui,ui+1)称为第i个节点区间(knot span),它的长度可以为零,因为相邻节点可以是相同的;

15

广东石油化工学院本科毕业(设计)论文:基于OpenGL的3D游戏动漫人物设计中人脸表情库的构建

(7)计算p次基函数的生成过程生成一个如下形式的三角形阵列:

为了书写方便,我们通常将Ni,p(u)写为Ni,p。 性质:

(1)(局部支撑性)如果u?[ui,ui+p+1),则Ni,p(u)=0。

(2)在任意给定的节点区间[uj,uj+1)内,最多p+1个Ni,p是非零的,它们是Nj-p,p,?,Nj,p。

(3)(非负性)对于所有的i,p和u,有Ni,p(u)≥0。 (4)(规范性)对于任意的节点区间[ui,ui+1),当u∈[ui,ui+1)时

(5)(可微性)在节点区间内部,Ni,p(u)是无限次可微的。 (6)除p=0的情况外,Ni,p(u)严格地达到最大值一次。 4.3.2 B样条曲线定义和性质

给定 n + 1个控制点P0, P1, ..., Pn 和一个节点向量U = { u0, u1, ..., um }, p 次B-样条曲线由这些控制点和节点向量U 定义

第四章 原理介绍

其中 Ni,p(u)是 p次B-样条基函数。 B-样条曲线形式与贝塞尔曲线相似 。不像贝塞尔曲线, B-样条曲线包含更多信息,即:一系列的 n+1 个控制点, m+1个节点的节点向量,次数 p。 注意n, m 和 p 必须满足m = n + p + 1。更准确地,如果我们想要定义一个有 n + 1控制点的p次B-样条曲线,我们必须提供n + p + 2 个节点 u0, u1, ..., un+p+1。另一方面,如果给出了一个m + 1 个节点的节点向量和n + 1 控制点,B-样条曲线的次数是p = m - n - 1。对应于一个节点ui的曲线上的点, C(ui),被称为节点点(knot point)。因此,节点点把B-样条曲线划分成曲线段,每个都定义在一个节点区间上。我们将在曲线细分页证明这些曲线段都是 p 次的贝塞尔曲线。

尽管 Ni,p(u) 看起来像Bn,i(u), B-样条基函数的次数(degree)是一个输入数,而贝塞尔基函数的次数取决于控制点的数目。为了改变B-样条曲线的形状,可以修改一个或多个控制参数:控制点的位置,节点位置,和曲线的次数。 如果节点向量没有任何特别的结构,那么产生的曲线不会与控制折线(polyline)的第一边(leg)和最后一边(leg)接触,如下面左图所示。这种类型的B-样条曲线称为开(open )B-样条曲线。 我们可能想强制曲线使得它分别与第一个控制点和最后一个控制点的第一边和最后一边相切,像贝塞尔曲线那样。为了做到这些,第一个节点和最后一个节点必须是重复度为p+1。这就产生了所谓的clamped B-样条曲线。参见下边中间的图。通过重复某些节点和控制点,产生的曲线会是 闭(closed)曲线。 这种情况,产生的曲线的开始和结尾连接在一起形成了一个闭环如下边右图所示。在本文中,我们将使用clamped曲线。

上图有 n+1个控制点(n=9)以及 p = 3. 。那么,, m 必须是13 所以节点向量有14个节点。为了有clamped效果,前p+1 = 4和最后4个节点必须一样。其余14 - (4 + 4) = 6 个节点可在定义域任何位置。实际上,曲线是用节点向量 U = { 0, 0, 0, 0, 0.14, 0.28, 0.42, 0.57, 0.71, 0.85, 1, 1, 1, 1 }产生的。注意

17


毛开宇论文修改稿6(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:天津宝成博物苑(精)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: