(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(电路与系统专业论文)基于OpenGL的FVRMLVRML虚拟3D浏览器的构建[电路与系统专业优秀论文].pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士学位论文 m a s t e r st h e s i s 中文摘要 随着计算机技术在教学领域应用的不断深入和发展 虚拟实验己成为实验教学 研究的一个方向 为了便于不同地方的研究者在共同开发虚拟实验时的交流 开发 一个能够浏览w l 格式的文件浏览器是非常必要的 为此本文作者开发了基于 o p e n g l 的f v i 湖l r m l 虚拟3 d 文件浏览器 该浏览器的设计采用面向对象的 s u a lc 语言开发 采用基于文档 视图的单 文档结构 在处理 l 格式的文件时解释速度快 通过使用面向对象的编程方法 便于维护管理3 d 数据 提高了代码的重用性 利用o p e n g l 提供的a p i 接口 增 强了构造虚拟环境的能力 由于浏览器采用的f v r m l i m l 虚拟现实建模语言 具备3 d 造型功能和数 学建模能力 在此基础上进行扩展 可以适应基于网络的虚拟环境的开发 为网络 虚拟实验奠定基础 本论文详细介绍了f v r m l r m l 建模语言和浏览器的构建过程 关键词 f v 蹦l r m l o p e n g l 浏览器 解析器 a b s t r a c t w i mc o m p u t e ra r tc o n t i n u o u s l yd e e p e l l i n ga n dd e v e l o p i n g i n t e a c b j n g a i l d a p p l i c a t i o mv i r t u a le x p e r i m e n th a sb e c o m ead i r e c t i o n i i lt h ef i e l d so fe x p e r i m e n t t e a c h i n g 咖d i e s i no r d e rt o f k i l i t a c er e s e a r c h e r si nd i f i e r e n tp a r t so ft h ej o i n t d e v e l o p m e n to fv i n u a le x p e r i m e n t i ti sn e c e s s a 巧t od e s i 口aw r lf o m a tf i l eb r o w s e r t h e p a p e rh a sd e v e l o p e daf v r m l v r m l v i t u a l3 df i l eb r o w s e rb a s e do no p e n g l t l l eb r o w s e ri s d e s i g n e db yo b j e c t o r i e n t e dl a n g u g e s u a lc a n ds i m p l e d o c u i l e ms t m c t u r eb a s e do nd o c u n l e n t v i e w i t sr e m a r k a b l ec h a m c t e r i s t i s t i cc a l lh a v e h i g l le x e c u t i o ns p e e dw h e ni td e a l sw i t h 町lf o 肌a t f i l e s m a i n t e n a l l c ea n d m a n a g e m e n to ft h r e e d i m e n s i o n d a t ac a nb er e a l i z e d b r e e z i l yb yo b j e c t o r i e n t e d m e a l l s t h r e e d i m e n s i o n sg r a p hi ss i m u l a t e da sm o d e la n do p t i m i z a t i o nd e s i 印 i tc a i l e n h a n c et h ea b l i 够t oc o n s t m c tv i m a lo b j e c tb yu s i n gt h eo p e n g la p ii i l t e r f a c e h a v i n ga d o p t e dt h ef v i w l i 洲lm o d e l i n gl a n g u a g e t h eb r o w s e r h a st h ea b l 时 t od e v e l o pt l l et h r e e d i m e n s i o nm o d e l t h eb r o w s e rc a nf i tf o rt h ed e v e l o p m e n to fv 删 e x p e r i m e n te n v i r o r u n e mb a s e do nn e 僦r o r ka n de s t a b l i s ht h ef o u n d o nf o rw e b b a s e d v i r t u a le x p e r i m e n t t 1 1 i sp a p e rd e t a i l e d l yr e s e a r c h e st h ef v 蹦l i 蝴lm o d e l i n gl a n g u a g ea n d b r o s e rc o n s t m c t i o no ft h ep r o c e s s k e yw b r d s f v r m l v r m l o p e n g l b r o w s e r p a r s e l i 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明 所呈交的学位论文 是本人在导师指导下 独立进行研究工作 所取得的研究成果 除文中已经标明引用的内容外 本论文不包含任何其他个人或 集体己经发表或撰写过的研究成果 对本文的研究做出贡献的个人和集体 均已在 文中以明确方式标明 本声明的法律结果由本人承担 作者签名 关云锣日期 年箩肜p 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留 使用学位论文的规定 即 学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借 阅 本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索 可以采用影印 缩印或扫描等复制手段保存和汇编本学位论文 同时授权 中国科学技术信息研究所将本学位论文收录到 中国学位论文全文数据库 并通 过网络向社会公众提供信息服务 作者叛关勿澎 日期 年歹月另踟 导师娩彬 言篡掰磊日期 莎年j 月叫日 本人已经认真阅读 c a l i s 高校学位论文全文数据库发布章程 同意将本人的 学位论文提交 c a l i s 高校学位论文全文数据库 中全文发布 并可按 章程 中的 规定享受相关权益 圃童途塞堡童蜃溢卮 咝生 旦二生 旦三生筮查 一 作者签名 关刍尼作者签名 云力 o 日期 伊抨5 月翻日戮黼 日期 b 咿r 月列日 硕士学位论文 m a s t e r st h e s i s 1 1 课题的提出及意义 第一章绪论 1 1 1 课题的提出 随着计算机与网络技术的不断发展与应用 教育领域越来越多的出现了技术的 影子 技术影响到了教学的方方面面 教育信息化是教育领域里掀起的一股浪潮 它是信息技术带来的必然产物 目前教育的主题不仅仅是要求学习者掌握知识 而 且还要求学生在掌握知识的基础上 培养他们综合解决问题的能力和创新能力 使 他们成为高素质的人才 如何利用计算机技术促使学习者综合素质的提高成了研究 的热点问题 实验教学是教学活动中必不可少的过程之一 尤其是对于自然科学 如物理等 实践性很强的学科来说 实验教学环节对学好这些课程更是至关重要 学生只有通 过足够的验证性实验和一定数量的综合性试验才能真正理解和掌握该学科的理论 知识 从而获得一定的综合测试技能和实践能力 并初步具有处理实际测试工作的 能力 而现阶段的实验教学还存在种种不足 一方面 自高校扩招以来 高校在校 学生数大幅度增加 一般高校不可能大量地扩充场地和购置各种教学仪器 师资力 量 实验设备仪器和教学场地等相应的配套很难跟上发展的要求 就使得教师无法 具体对每个学生进行实验预习指导 学生不可能随时到实验室去熟悉仪器设备 尤 其对于边远经济欠发达地区 在实验时学生经常会因对仪器设备不熟悉 对实验内 容准备不充分而收不到满意的实验效果 教学质量很难保证 大学课程进行虚拟实 验教学将成为一种有效的教学模式 它提高了学生学习的自主性 学生可以方便地 进行预约 查询 预习 实验和考核 提高了实验教学的质量 方便教师的实验教 学和管理 教师有更多的时间来研究开发实验 进行实验室的维护 有效地缓解了 目前实验教学的压力 另一方面 现在流行的网上远程教学的不足是学生无法到实 验室做具体的实验 这己成为制约网上远程教学质量的一个重要因素 2 j 网上虚拟 实验教学弥补了这一不足 使网上远程教学向前跨进了一大步 随着远程教育的不 断发展 如何开展远程教育中的实验教学 也是人们所关心的重要问题 虚拟现实技术是一门综合了多种学科的交叉科学 在各方面都有着广泛的应用 口1 随着科技的不断发展 虚拟现实技术应用到教育当中的例子也越来越多 利用 7 硕士学位论文 m a s t e r st h e s i s 虚拟现实技术可以在不增加实验教学成本的基础上给予学生更多的实验机会 来保 证实验教学的有效实施 这就是人们常讲的虚拟实验 虚拟实验的优越性包括 4 j 一 虚拟实验投资小 效果好 由于实验仪器都是通过软件来虚拟的 所以成 本低 特别是对于易于磨损或消耗的实验品 在虚拟实验中可以无限次使用 实验 更新换代比较容易 耗资小 二 虚拟实验重复性好 人们总是在多次实验中总结规律 但是传统实验受地 方环境 资金的约束 学生只能按照课程的安排 做有限次的实验 而虚拟实验就 克服了这些限制 三 避免真实实验或操作所带来的各种危险 例如虚拟的外科手术 可避免由 于学生操作失误 而造成病人死亡的医疗事故 四 容易共享 学生可以通过电子邮件 电子公告牌 留言等方式和异地的同 学 老师交流 解决实验中遇到的疑难问题 由于虚拟实验的好处很多 所以现在 进行这方面研究的人也很多 在虚拟实验的研究中 3 d 文件浏览器是一个重要的环节 虽然不同地方的不同 研究者存储3 d 图形数据文件格式各不相同 但是都可以利用3 d 格式转换软件 将不同格式的文件转换为 d 格式的文件 5 l 而且 砌格式文件便于在i i l t e m e t 上来 实现三维实体信息的提取与传输 因此 r l 格式的文件是常用3 d 数据文件格式 为了使计算机能精确地再现 w 订格式的三维图形 人们普遍采用o p e n g l 建立系统 的三维真实感图形 但是0 p e n g l 只提供几十个生成三维实体模型的辅助库函数 只能实现简单模型的绘制 而复杂的三维实体造型是通过v 1 w l f v i w l 等语言 或者p r o e 等3 d 设计软件建立的 在现实生活中人们常常用f v r m l 心l 语言 建立实体模型 因此设计一个基于o p e n g l 的f v r m l v r m l 语言文件浏览器是很 必要的 1 1 2 课题研究意义 基于o p e n g l 的f v i m l i 洲l 虚拟3 d 浏览器研究的意义在于 一 它是虚拟现实的实时三维图形描绘引擎 可以解释f v r m l r m l 文件 将其还原成三维图形 让学生参与进虚拟现实世界中 二 由于o p e n g l 提供a p i 接口 增强了构造虚拟现实的能力 提高了显示的 真实感和提供了实时的三维仿真 三 它是独立性浏览器 程序的独立性 通用性和可移植性强 四 为开发网络虚拟大学奠定基础 f v i m l i 洲l 是虚拟现实建模语言 具 2 硕士学位论文 m a s t e r st h e s i s 备三维造型开发功能和数学建模能力 适合于基于网络的虚拟数字校园的开发 尤 其是f v l w l 语言能够把一个小小的数学公式变换成非常逼真的现实模型 1 2 m l 的发展历史及标准 1 2 1 l 的发展历史和标准 f v i l 和v i 蝴l t h ef u n c t i o n b a s e de x t e n s i o no f n u a lr e a l i t ym o d e l l i n g l a n g u a g e r n l a lr e a l i t ym o d e l i n gl 锄g u a g e 两者都是虚拟现实建模语言 前者 是在后者的基础上扩展而来的 它们是因特网 i n t e m e t 虚拟现实 r t u a lr e a l i t y 等领域相关的技术 其基本目标是建立因特网上交互式三维多媒体 它们的主要特 征有三维性 交互性 动态性 实时性等 并且能够在i n t e m e t 或局域网上快速传 递它们 6 1 v i 洲l 最初出现在1 9 9 4 年瑞士日内瓦的w 3 会议上 t i mb e m e r s l e e 也就 是w r e b 的奠基人 对m 酞p e s c e 的编程工作产生了浓厚的兴趣并邀请他给出名为 c y b e r s p a c e 的论文 这篇论文解释了一个名为l a b y r i r l t h 的v r m l 浏览器原型 这是m 冰和t o n yp 撕s i 在1 9 9 4 年1 月完成的一个程序 因为是第一次在w r e b 上 呈现出三维的界面 所以在w 3 会议上l a b y r i n t l l 受到了特别的关注 v i 蝴l 是这 样一个缩写词 它的英文全称是 m l a lr e a l 时m o d e l i n gl a n g u a g e 在最初的时候 m 代表m a r k u p 后来为了和h t m l 相区别 在w 3 会议之后的几个月内就把名称 改为m o d e l i n g 了 g a v i nb e l l s g i 公司的一名编程人员 在v i 洲l 团体中享有很 高的声誉 采用o p e i n v e n t o r 作为v i 洲l 文件的官方格式 一些人觉得应该为这 项新技术创建一个全新的格式 而另一部分人包括m 破本人则认为如果v 蹦l 文 件格式符合现存的所有图像文件格式 那么它必将获得巨大的成功 理想的结构应 该是创建一个和h t m l 相类似而又符合专业三维设计师的需求 最终o p e n i n v e n t o r i 1 o i 被采纳了 g a v i nb e l l 在v r m l1 o 标准的制订过程中做了大量的文 档工作 在o i 被大众所接受之后 它被调整到我们现在所见到的v 蹦l1 o 格式 很明显v i w l 是作为一个独立语言出现的 而不仅仅是作为一个h t m l 的扩展而 出现的 v r m l1 0 和它的后继者不太一样 它是完全面向a s c i i 字符集的 被限 制在处理1 2 7 个字符的能力上 这个限制对于处理非罗马语言的字符就会产生问题 v i w l1 0 标准不能处理替身 a v a t a r 也是一个很大的失误 1 9 9 4 年的1 1 月第二界w w w 会议召开 在这次会议上提出了v r m l1 o 标准 1 9 9 5 年的八月 v a g v r m l 工程组 成立 9 5 年的十月 v a g 成员决定把工作重 硕士学位论文 m a s r e r st h e s i s 心放在引导方向 v i w l 2 o 由此产生 1 9 9 7 年制订的新的标准v i 蝴l9 7 9 1 9 9 8 年1 月被正式批准的国际标准 i s o i e c l 4 7 7 2 1 1 9 9 7 v r m l 被认为是3 w 上描述三维虚拟场景的标准方法 1 0 新加坡南洋大学在v r m l 语言的基础上 把v i 湖l 扩展成为f v r m l 语言 进一步增强了v r m l 语言的建模能力 使得我们可以利用函数和解析公式对现实 进行建模 大大减小了复杂模型文件的大小 1 1 12 1 1 2 2 怂皿应用 v r m l 9 7 作为一项国际标准 因此该文件格式具有很强的通用性 也同时有很 多软件厂商的支持 这些支持包括虚拟世界模型的可视化设计和实时渲染插件开 发 如著名的d i s c r e e t 公司的3 d sm a x a l i a s 公司的m a y a p a r a l l e l g r a p l l i c s 公司的 i n t e m e ts p a c eb u i l d e r 都是是功能强大的可视化设计软件 可以设计出较高质量场 景 并输出成 w r l 格式的文件 渲染插件最好的支持商有p a r a l l e l 研a p h i c s 公司的 c o r t o n av 刚 lc l i e n t b i t n l a n a g e m e n t 公司的b sc 0 n t a c t s g i 公司的c o s m o p l 乏l y e r 等 目前 b i t m a l l a g e m e n t 公司和p a r a l l e g r a p l l i c s 公司一直致力于相关软件产品的 开发 对v 蹦l 节点进行扩展 以满足不同应用领域的需求 v i 洲l 在远程教育 科学计算可视化 工程技术 建筑 电子商务 交互式娱 乐 艺术等领域都有着广泛的应用前景 利用它可以创建多媒体通信 分布式虚拟 现实系统等等 1 3 国内外研究现状综述 虚拟现实建模语言源于虚拟现实技术 是2 0 世纪末发展起来的涉及众多学科 的高新技术 它是集计算机 仿真 微电子 传感与测量技术于一体的高新科技的 融合 现将国内外的研究现状简述如下 1 3 1 国外研究现状 由于虚拟现实技术具有巨大的应用前景 因此 目前虚拟现实技术几乎是所 有发达国家都在大力研究的前沿领域 在国外虚拟现实技术做得较好的有美国 德 国 英国 日本 韩国 新加坡等国家 而目前国外针对虚拟现实建模语言的研究 主要集中于 一 浏览器开发 如c o s m p p l a y e r w 曲v i e w e r 等浏览器的开发 二 各类支持软件的开发 如q v l i b 及各类三维文件格式与v 蹦l 文件转换 4 硕士学位论丈 m a s t e r s r h e s i s 的软件等的开发 三 v 壬m l 文件制作工具开发 如c r e a t o r p 1 a n t i 啪 等工具开发 1 3 2 国内研究现状 国内目前对浏览器的研究主要集中对v r m l s t l 3 d s 文件格式的浏览器 北 京大学计算机研究所和中国文字信息处理国家重点实验室开发的一款新的v r m l 浏览器充分吸取c o s m o p l a y e r q v l i b w 曲v i e w e r 等软件的优缺点 具有解释速 度快 有一定的出错纠正能力 易结合进其他程序 支持自定义过滤器应用等特点 但就浏览器而言 尽管已有不少 但还有很多待改进的地方 有些浏览器对出 错处理能力很弱 一旦文件有任何错误 都不显示任何场景 有些浏览器在客户端 解释起来很慢 特别是对于较复杂的场景 另外在开发自己的图形应用程序时 对 f v i w l r m l 的另一类用法就是在自己的软件中只需抽取f v i w w i l 文件中 特定的信息 比如材质信息 几何模型信息等 把这些信息结合进自己的程序中 这时都必须自己对f v r m l r m l 进行解释 有些浏览器只解释v 蹦l 文件 对 于由f v r m l 编写的程序就不能解释 这些就是为什么本文要开发一个基于o p e n g l 的f v 蹦l r m l 浏览器的原因 1 4 主要研究内容 本文研究f v r m l r m l 文件浏览器的设计与实现 开发一个基于o p e n g l 环 境下的文件浏览器 该浏览器主要是浏览由f v i w l 蹦l 语言编写的文件 能如 实的反映三维模型的真实面貌 本论文主要进行如下具体的研究工作 一 v r m l 和f v r m l 的研究 二 根据v 砌v 几浏览器的概念模型设计一个基于o p e n g l 的f v r 肌 i 洲l 文件浏览器的模型结构 三 f v i 洲l r m l 语法分析器的设计与实现 r 硕士学位论文 m a s t e r st h e s i s 第二章v r m l 和f v 剐m l 的研究 2 1 佩m l 与3 d 建模技术 v i m l r n m lr e a l i t ym o d e l i n gl a n g u a g e 是虚拟现实建模语言 是一种用来描 述交互式或3 d 对象和境界的语言 n 它的出现使得虚拟现实象多媒体和因特网一 样逐渐走进我们的生活 简单地说 以v i 洲l 为基础的第二代万维网 多媒体 虚 拟现实 因特网 l 引 第一代万维网是一种访问文档的媒体 能够提供阅读的感受 使那些对 m n d o w s 风格的p c 环境熟悉的人们容易使用因特网 而以v r m l 为核 心的第二代万维网将使用户如身处真实世界 在一个三维环境里随意探究因特网上 无比丰富的巨大信息资源 2 1 1 王m 的工作原理 用文本信息描述三维场景 在i n t e m e t 网上传输 在本地机上由v m l 浏览器 解释生成三维场景 基于v i 蝴l 的这种工作机制 才使其可能在网络应用中有很 快的发展 正是由于文本描述的信息在网络上的传输比图形文件迅速 所以当初 v r m l 的设计者们避开在网络上直接传输图形文件而改为传输图形文件的文本描 述信息 把复杂的处理任务交给本地机来完成 从而减轻了网络的负担 v r m l 的访问方式是基于客户 服务器模式 其中服务器提供v r m l 文件及支 持资源 图像 视频 声音等 客户端通过网络下载希望访问的文件 并通过本地 平台上的v r m l 浏览器交互式地访问该文件描述的虚拟境界 由于浏览器是本地 平台提供的 从而实现了平台无关性 也正因为如此 不同地方的人们才可以利用 网络来协同开发3 d 图形 图2 1 描述了v r m l 的工作方式 3 d 制怍铡臧v 王洲l 的 硕士学位论文 m a s t e r st h e s i s 法则 成为f v r m l 建模的关键点 二 由函数定义的几何外形和属性 一般而言 当我们用函数的方法来构建模型时 首先 我们考虑的是用函数把 所要构建的对象的物理属性先表示出来 譬如 它的颜色 材质 纹理等 然后 我们把它的颜色 材质 纹理等物理属性再结合到它的几何造型上 几何造型函数 和物理属性函数在结合的时候要依据一定的法则进行 由这个法则所产生的函数就 是在图2 2 中的函数f 函数f 的形式是由构成该函数的几何造型函数和物理属性 函数的形式决定的 在下面的讨论中 使用的是一般的函数表示形式 带参变量的函数和f r e p 2 0 函数 含参变量的函数是这样的 厂 r 一 尺 1 f 后 石 a p 2 以 呸 石 a p 2 p 儿 厶 仍 p z 既 f r e p 函数是这样的函数 厂 尺珥专r 1 f 七 u 厂 岛 仍 以 f r e p 函数是显函数 函数值决定了该点是在模型的表面 内部或外面 正如 参考文献所介绍的那样 正值所代表的点在模型的内部 负值在外部 零值在表面 用参变量表示的函数和f r e p 函数都可以表示模型的几何形状和属性 表示几 何形状的函数我们称为几何造型函数 s h a p e 劬c t i o n s d 6 厂 p 如图2 3 几何造型函数可以用带参变量的函数表示 也可以用f r e p 函数表示 与表示几何 造型的函数类似 表示属性 例如颜色 材质 的函数可以用含参变量的函数表示 也可以用f r e p 函数表示 表示属性的函数我们把它称为属性函数 p r o p e 啊 劬c t i o n s 每一个属性都可以用一个函数表示 对于任何用函数所定义的模型 我 硕士学位论文 m a s t e r st h e s i s 们只用一个函数d 甄 彳 p 表示几何造型 用f 个函数p 印 z g a f 2 七表示f 种属性 对应法则 彪 石 左 五 定义了几何造型和物理属性是怎么结合在一起 的 几何造型和物理属性的结合分为两步 首先 建立几何造型函数定义域和物理 属性函数定义域之间的联系 这种联系我们用g f t p 表示 即定义域关系函数 其次 对于给定的自变量p 的值 可以通过定义域关系函数和物理属性函数 即 式子 叩 z f 门毛 p 计算出对应于自变量p 的物理属性函数的函数值 该函数 值被用到结合函数d 幼 历p 懈 d m p 嚷 中以便形成拥有该物理属性的新的几何 造型函数 对于每一种属性 都有其对应的结合函数 如果结合函数的自变量全部 转换成用自变量p 来表示 就得到所谓的映射函数d 鱿 聊咀 p 因此映射函数的 数目和所要构建模型的物理属性的数目是相等的 映射函数能够把所需构建的模型 的物理属性函数和几何造型函数结合起来形成新的几何造型函数 因此最终的几何 造型函数应该是d 影 材彪 石 以 五 这也是需要构建的模型的最终的函数形式 物理属性函数和几何造型函数定义域之间的关系可以分为四类关系 第一类关 系 物理属性可以用一个常函数表示 例如 一种不变的颜色 在这种情形下 不 需要定义域关系函数 第二类关系 物理属性函数和几何造型函数有着相同的定义 域 在这种情形下 吼和p 的关系是g l p 第三类关系物理属性函数和几何造型 函数有着相同类型的取值空间 但两者之间需要进行坐标变换 例如 平移 旋转 1 4 硕士学位论丈 m a s t e r st h e s i s 物理属性函数 图2 3 函数映射关系 p r o p k f k q k 硕士学位论丈 m a s t e r st h e s i s 放大和缩小等 在尺珥 r 1 情形下 定义域关系函数就变成g m z 咖 聊 p 这 里的 m 刀踟 佩 r 一一r 一 最后一类关系是几何造型函数和物理属性函数有着不同 类型的定义域 譬如 物理属性函数是用参变量函数表示的 几何造型函数是用f r e p 函数表示的 在这种情形下 就需要坐标的转化 同时也可能包括坐标的变换 所以 此时的关系函数应该是吼 c d 即v p 坶f d z m z 忑加 p 这里的 c 0 刖e r s i o n i 醛1 哼 l 三 基于函数方法构建几何造型的过程 为方便起见 在这里我们暂时只考虑几何造型的两种属性 纹理和颜色 这里 的颜色指的是几何造型表面和内部的颜色 纹理指的是几何造型的变形 表面的粗 糙度 毛发等等 2 7 1 因此 函数的提供者应该定义三种函数 几何造型函数 纹理 函数 颜色函数 最终的几何造型应该是纹理和颜色应用到原来的几何造型上的结 果 因此 基于函数方法几何造型的过程应该有两步构成 第一步 把所有的纹理都 应用到最初的几何造型上 即进行纹理贴图 第二步 把颜色函数再映射到已经附 加了纹理的几何造型上 在这一过程中 利用映射函数来控制纹理和颜色是怎样附 加在几何造型上的 需要注意的是 在使用了纹理函数之后所得到的几何造型函数应该与最初的几 何造型函数在类型上是相同的 也就是 一个用参变量函数表示的几何造型函数在 应用了纹理函数之后 得到的仍然是用参变量表示的几何造型函数 无论纹理函数 是用参变量函数表示的或者是f r e p 函数表示的 一个用f r e p 函数表示的几何造型 1 6 硕士学位论文 m a s t e r st h e s i s 图2 4 纹理和几何造型的关系 函数在应用了纹理函数之后 得到的仍然是用f r e p 函数表示的几何造型函数 1 7 硕士学位论文 m a s t e r st h e s i s 正如图卜4 所示 在图2 4 中 菱形框表示的是由函数定义的最初几何造型 五边形框表示的是由函数定义的纹理 两框之间的连线表示的是纹理与几何造型之 间联系的映射函数 第二步 就是把由函数定义的颜色映射到已经纹理化的几何造型上 由于颜色 函数和已经纹理化的几何造型函数都可以用参变量函数表示或f r e p 函数表示 所 以颜色和纹理化几何造型之间的映射关系有四种 图2 5 表示的就是这种关系 六边形代表的是在第一步中得到的几何造型 带圆角的矩形表示的是颜色函数 它 们之间的连线表示的是映射关系 如果把两步的框图结合在一起 就是如图2 6 所示的框图 从图中可以看出 有八种映射关系m 1 一m 8 根据前面所介绍的可以知道 这八种映射关系应该属于四类映射关系中的一 类 第一类情形是不需要定义域关系函数 这八种关系中都可能包括这种类型的映 射函数 例如 几何造型由1 一x 2 4 一y 2 9 一z 2 1 6 0 定义 而颜色设定为红色 结 果就是从里到外都是红色的椭圆体 很显然 这是一种最简单的情形 图2 5 颜色和纹理化几何造型的关系 硕士学位论文 m a s t e r st h e s i s 图2 6 颜色 纹理和几何造型之间的关系 第二类情形是定义域关系函数是g p 因为q 和p 有着相同的取值空间 只 有m 1 m 4 m 5 m 8 这四种联系中可能包含这种类型的定义域关系函数 例如 1 9 7 7 一 硕士学住论文 m a s t e r st h e s l s 如果外型是由函数4 一x 2 一y 2 一z 2 o 定义 规定o 表示绿色 1 表示蓝色 在这两 种颜色之间按照l x 2 4 一y 2 9 一z 2 关系进行插值 那么得到的结果就是一个中心是 绿色然后逐步向外过渡为蓝色的球体 对于第三类情形 q 和p 有着相同类型的取值空间 但是两者之间需要坐标变 化 很显然 也只有m 1 m 4 m 5 m 8 这四个联系中包括这种定义域关系 例如 几何造型由4 一x 2 一y 2 一z 2 0 定义 颜色由1 一x 2 一y 2 一z 2 定义 结合函数规定一3 是红色 0 表示绿色 如果两者之间不进行坐标变换的话 得到的将是一个半径为 2 的红色的球 但是如果用因子为o 5 的函数进行变换的话 得到到将是一个半径 为2 的绿色的球 第四类情形是 不仅有坐标的变换 而且有坐标的转换 这种情形是q 和p 有 着不同类型的取值空间 m 2 m 3 m 6 m 7 可能包含这类定义域关系函数 例如 几何造型是由x c o s y s i n 甜 c o s 1 z s i n s i n v 确定 纹理是由 s i n 宰s i n y s i n x s i n z s i n y 木s i n z 定义 坐标变换函数将甜 v w 规一化到 一1 1 范围内 坐标转化函数x 4 c o s 万 少 4 s i n 万 c o s 删 z 4 s i n 万扰 s i n 刖 完成坐标的转化 结合函数利用纹理函数的值确定造型表面上的点沿法线方向移动 的位移 那么得到的将是一个表面粗糙不平的半径为l 的球体 这里将纹理映射到 模型上的结合函数 是以最初的几何造型函数和纹理函数作为自变量并且加上一定 的结合算法而得到的函数 将颜色应用到模型上的结合函数也是以颜色函数和几何 造型函数为自变量而且也要加上一定的结合算法而的得到函数 2 2 2 基于函数的建模方法的应用 的扩展 i m l 为了证实前面提到的用函数来表示几何模型的的可行性 我将它用在3 d w e b 模型中 f v i 洲l 2 2 1 在这一应用中 我们使用参变量函数和f r e p 函数来定义 几何模型和其颜色 纹理 材质等外观 一般而言 一个v 砌儿文件是基于多边形的模型 声音 光源 视点等对象 的集合 基本的v i 洲l 元素是节点 节点可以包含子节点 节点的域定义的是数 据 v r m l 语言可以建立静态模型 也可以建立动画3 d 模型 通过超链接能够显 示文本 声音 影像 图像等等 它采用的是一种继承的语言结构 它也包含事件 处理机制 这种机制使得交互操作成为可能 然而 v r m l 语言有几点不足 如果 硕士学位论文 m a s t e r st h e s i s 要构建的模型比较庞大 v r m l 文件就会很大 在渲染的时候 我们下载它就需要 比较长的时间 而且 标准的v i w l 语言不支持构造实体几何和高级的可视化技 巧 譬如凹凸贴图 环境贴图等 2 3 1 而f v l w l 可以解决这样的问题 使用f v i 蝴l 需要引入新的节点 而且可以和标准的v r m l 节点一起使用 f v r m l 包括六个节点 f s h a p e f a p p e a r a n c e f g e o n e t r y f m a t e r i a l f t e x t u r e 3 d f t r a n s f o m 它们的原型定义如下所示 2 4 1 e x t e n p r o t of s h a p e e x p o s e df i e l ds fn o d eg e o m e t r y e x p o s e df i e l ds fn o d ea p p e a m c e e x p o s e df i e l ds fs t r i n gp o l y g o n i z e r e x p o s e df i e l dm fn o d ep a r e n t s e v e n t l ns fb 0 0 1 r e 行e s h e x t e n p r o t of g e o m e t 巧 e x p o s e df i e l ds fs t r i n gd e f i n i t i o n e x p o s e df i e l dm f f l o a tp a r a m e t e r s e x p o s e df i e l dm fi n t 3 2r e s o l u t i o n e x p o s e df i e l ds fv e c3 f bb o xc e n t e r e x p o s e df i e l ds fv e c3 f bb o xs i z e e x p o s e df i e l ds fs t r i n gt y p e e x p o s e df i e l dm fn o d ep a l e r l t s e x t e n p r o t oa p p e a r a n c e e x p o s e df i e l ds fn o d em a t e r i a l e x p o s e df i e l ds fn o d et e x t u r e e x p o s e df i e l ds fn o d et e x t u r et r m s f b n n e x p o s e df i e l ds fn o d et e x n l r e3 d e x p o s e df i e l dm f n o d ep a r e i l t s e x t e n p r o t of m a t e r i a l e x p o s e df i e l ds fs t r i n gd i 丘 u s ec o l o r e x p o s e df i e l ds fs t r i n gt y p e 2 l 硕士学位论文 m a s r e r st h e s i s e x p o s e df i e l dm fc o l o rp a t t e mc o l o r e x p o s e df i e l dm ff l o a tp a t t e mk e y e x p o s e df i e l ds ff l o a ta m b i e n ti n t e n s i t y e x p o s e df i e l ds fc o l o re m i s s i v ec o l o r e x p o s e df i e l ds ff l o a ts h i n i n e s s e x p o s e df i e l ds fc o l o rs p e c u l a rc o l o r e x p o s e df i e l ds ff l o a tt r a n s p a r e n c y e x p o s e df i e l dm fn o d ep a i e n t s e x t e n p r o t of r e x n i r e3d e x p o s e d f i e l ds fs t r i n gd e f i m t i o n e x p o s e df i e l ds fs t r i n gt y p e e x p o s e df i e l dm ff 1 0 a tp a r a m e t e r s e x p o s e df i e l dm fn o d ep a r e n t s e x t e n p r o t of r r a n s f o n n e x p o s e d f i e l ds fs t r i n go p e r a t i o n e x p o s e df i e l ds fv e c3fc e n t e r e x p o s e df i e l ds fr o t a t i o nr o t a t i o n e x p o s e df i e l ds fv b c3fs c a l e e x p o s e df i e l ds fr o t a t i o ns c a l e0 r i e n t a t i o n e x p o s e df i e l ds fv e c3 f 仃a j l s l a t i o n e x p o s e df i e l ds fs t r i n gt y p e e x p o s e df i e l ds fs t r i n gp o l y g o l l i z e r e x p o s e df i e l dm ff 1 0 a tp a r a 埘e t e r s e x p o s e df i e l dm fn o d ec h i l d r e n e x p o s e df i e l dm fn o d ep a r e n t s e v e n t i ns fb 0 0 1 r e 骶s h f s h a p e 节点与s h a p e 节点类似 它可以包含f g e o m t 巧节点和f a p p e a r a n c e 节 点 正如图2 6 所示 它来自于f t r a l l s f o m 节点或者t r a n s f o 衄节点 f g e o m e t r y 节点包括定义一个模型所用的信息 类型 定义几何造型的公式 参变量 渲染效果 约束等等 在应用中 使用类似c 语言的语法来表示解析公式 一 硕士学位论文 m a s t e r st h e s i s 而且可以使用 一 等操作符 此外 对于f r e p 函数 还可以 进行集合运算 表示相交 i 表示相并 2 0 2 f r e p 函数可用使用的变量名是x y z 例如 一个以原点为中心的半圆可以 用下面的式子表示 1 一x 木x y 木j 一z 术z j 对于用参变量表示的函数 其形式如下 x 死 v w y 欢 v w z 九 甜 v w f a p p e 删l c e 节点类似v 1 w l 语言中的a p p e a m c e 节点 它包含一个f m a t e r i a l 节点和f t e x m r e 3 d 节点 f m a t e r i a l 节点除了d i f m s e c o l o r 可以用参变量函数或f r e p 函数表示外 其他 的和v r m l 语言中的m a t e r a i l 节点相同 另外 表示d i f m s e c o l o r 的函数的自变量 用r g b 表示而不用x y z 表示 f t e x 眦3 d 节点包括几何纹理 用f r e p 函数表示沿法线方向的距离 用参变 量函数的x y z 表示点的空间位置 f t a n s f o n n 节点包括用函数表示的操作 只不过它只能包含f s h a p e 和 f t 锄s f o 衄子节点 在我们的使用中 它支持集合运算 仿射变换和用解析式定义 的运算 预定的几何运算包括u 1 1 i o n i n t e r s e c t i o n d i 虢r e n c e 在运用的时候需要把 t y p e 设定为 a n y l y t i c a l 例如 厂 g 阳 厂 2 g 2 1 1 6 2 g 2 f t r a n s f o 肌 o p e r a t i o n 厂 g s g 力 厂 2 g 2 l 1 2 g 2 母p e a n a l y t i c a l t r p ea n a l y t l c a l c h i l d r e n f s h a p e f s h a p e 石页士学位论文 m a s t e r st h e s i s p o l y g o m z e r c 1 1 i l d r e n 2 4 f s h a p e 硕士学位论文 m a s 1 1 e r st h e s i s f s h a p e 图2 6 节点之间的关系 2 2 3f 晾m 语言编程的简单例子 用f v i 洲l 语言编写的 带突起的心脏 3 d 图形部分源代码 f s h a p e a p p e a r a n c ef a p p e a r a n c e m a t e r i a lf m a t e r a i l r d i f 瞰s e c o l o r f 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论