(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf_第1页
(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf_第2页
(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf_第3页
(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf_第4页
(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf_第5页
已阅读5页,还剩58页未读, 继续免费阅读

(机械制造及其自动化专业论文)面向三维造型区域赋色的技术研究与实现.pdf.pdf 免费下载

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

文档简介

两北t 业人学硕i 论文 摘要 摘要 本文针对机床行业对c a i d 软件系统中色彩设计提出的特殊需要,提出了 区域赋色的思想,从而赋予c a i d 软件系统中色彩设计的部分智能化的理念。以 较新的c a d 软件s o l i d w o r k s2 0 0 1 为开发平台。采用v c + + 6 0 及o p e n g l l 1 的 开发工具,提出了对s o l i d w o r k s 零件的体、面的材质编辑的方法,同时在原软件 基础上建立了一个操作方便的材质编辑界面。对局部面的材质编辑进行了较为深 入的研究和探索。 关键词:计算机辅助工业设计( c a i d ) 、二次丌发、c o m 、区域赋色、纹理映 射 西北t 业人学碳i :论文 a b s t r a c t a b s t r a c t t h i sp a p e ra i m sa ts p e c i a lr e q u i r e m e n tt h em a c h i n et o o li n d u s t r yp r o p o s e df o r c o l o rd e s i g no fc a i ds y s t e m ,p r o p o s i n gt h ei d e ao fa r e ar e n d e r , e n d o w i n gt h ec o l o r m o d u l ew i t hp a r to fi n t e l l i g e n tt h o u g h t s im a d er i s eo fs o l i d w o r k s2 0 0 1 a st h e d e v e l o p m e n tp l a t f o r m a n dv c + + 6 0 、o p e n g l l 1 觞t h ed e v e l o p m e n tt o o l ,p r o p o s i n g t h em a t e r i a le d i tm e t h o df o rb o d y 、f a c eo fs o l i d w o r k sa s s e m b l y , b u i l d i n gm a t e r i a l e d i ti n t e r f a c et oe a s i l yu s eb a s e do nt h eo n g i i l a ls o f t w a i e f r o t h a i m o r e ,in 埘a e f t t 曲e r r e s e a r c ha n d e x p l o r a t i o n f o rm a t e r i a le d i tf o rp a r to f f a c e k e yw o r d s :c o m p u t e r - a i d e d - i n d u s t r y - d e s i g n ( c a i d ) 、s e c o n dd e v e l o p m e n t 、 c o m p o n e n to b j e c tm o d e l ( c o m ) 、a r e a r e n d e r 、t e x t u r em a p p i n g 西北t 业人学坝i :论文第1 帝缔论 第1 章绪论 1 1 计算机辅助工业设计 1 1 1 工业设计 从古至今,人类就生活在太自然和人类自身所设计的世界中,设计,从本质上 讲,就是人类创造性的思维与活动。它是人类为了实现某种特定的目的而进行的 一项创造性的活动,设计的历史也可以说是人类的历史。它包含在一切人为物品 的形成过程之中,从人类有意识地制造和使用原始工具和装饰品开始人类的设 计就开始萌发了。工业设计是伴随着大工业生产而发展起来的一门对现代的工业 产品极其结构进行规划、设计不断创新的学科,其核心是以“人”为本,设计的 产品要能够充分适应、满足人的需要。使人的生存环境更加“合乎人性”。 工业设计( i n d u s t r i a ld e s i g n 简称i d ) ,也称为工业造型设计。关于工业设 计的定义有很多,在这里介绍一个有代表性的关于工业设计的定义,即国际工业 设计协会理事会在1 9 8 0 年给出的定义:就批量生产的产品而言,凭借训练、技 术知识、经验及视觉感受而赋予材料、结构、形态、色彩、表面加工以及装饰以 新的品质和资格,叫做工业设计。工业设计不同于单纯的工程技术设计,它包含 审美因素,产品的美学特征是在生产前就决定的。它既不是纯工程技术,同时也 不是纯美学艺术。它要求人们对产品技术功能、材料、结构、工艺、形态、色彩 和装饰诸因素,从社会的、经济的、人体生理和心理的、技术和艺术的多层面作 综合系统的处理,设计出实用、经济、美观的、具有时代感的新产品以满足人 们不断提高的物质和精神的双重要求,美化人类生存环境。 工业设计作为对产品的整体定位,在新产品的开发设计中对于提高产品的品 质具有举足轻重的作用,是现代企业参与市场竞争的有力工具。作为一种现代设 计方法,工业设计不仅涉及到产品本身的功能、结构、材料、工艺、形念、色彩、 表面处理与装饰以及与人相关、与生态环境相关的各个方面,同时还涉及到为推 销产品和宣传企业所做的产品包装、广告、企业形象和市场经营策略等方面的设 计。所以工业设计既关系到人们生活和劳动的方式,又关系到生产企业的兴旺与 发展。近百年来,许多发达国家普遍重视工业设计,大大地推动了各国工业和经 西北t 业人学碳i 论文 旃1 章绪论 济的发展与社会生活水平的提高。现在,工业设计已经远远超越了工业生产活动 的范围,对人类社会生活的各个方面产生了巨大而深远的影响。 1 1 2 计算机辅助工业设计 随着科学技术和社会经济的飞速发展,工业设计己成为具有全新设计观念的 现代设计体系,它广泛地采用各种高科技手段,并不断地为许多领域提出新的发 展方向。其中,计算机辅助设计( c o m p u t e r a i d e d d e s i g n 简称c a d ) 及计算机 视觉是与现代工业设计结合晟紧密的学科领域。 c a d 是计算机在工业领域应用中最为活跃的- - n 学科。它集数值计算、仿 真模拟、几何模型处理、图形学、数据库管理系统等方面的技术为一体,把抽象 的、平面的、分离的设计对象具体化、形象化,它能够通过“虚拟现实”( 接 近真实的三维技术) 技术把产品的形状、材质、色彩,甚至加工过程淋漓尽致地 表现出来,并能把产品的设计过程,通过数据管理实现系统化、规范化。计算机 辅助设计与工业设计结合成为必然,从而产生了一门新的学科计算机辅助工 业设计( c o m p u t e r a i d e d i n d u s t r i a ld e s i g n 简称c a i d ) 。 计算机辅助工业设计即是在计算机辅助工业设计系统的支持下进行的工业 设计领域的各类创造性活动,与传统的工业设计相比,c a i d 在设计方法、设计 过程、设计质量和效率等方面都发生了质的变化。c a i d 技术是c a i d 系统的内 部支撑技术。c a i d 技术涉及到c a d 、人工智能、多媒体、虚拟现实、优化和模 糊等信息技术领域。从广义上讲,c a i d 是c a d 的一个分支许多c a d 领域 的方法与技术都可以借鉴和引用。创新是工业设计的灵魂。以知识为基础的产品 创新竞争是2 l 世纪初全球制造业竞争的核心。一个新产品在任意一方面的创新, 都会直接影响产品的整体特性,影响产品的最终质量和市场竞争力。当前,关于产 品创新原理、创新设计技术等的研究已成为c a i d 、c i m s 领域的一个研究焦点。 只有在创新设计的研究上取得突破性进展才能使c a d 的研究迈上一个更高的 台阶。 总而言之,c a i d 技术以c a d 为基础,以提高工业设计的质量和效率为目 的,是在以计算机技术为支柱的信息时代环境下的产物。伴随着计算机软硬件技 术的r 新月异和计算机图形学、计算机辅助设计、多媒体、虚拟现实等技术的发 展以及c a d c a m 应用的逐步深入,使现代工业设计理论与方法研究有了长足的 2 西北t 业人学顿l 论文 第1 章绪论 进步,计算机辅助工业设计( c a i d ) 技术便成为c a d c a m 、先进制造技术与自动 化技术领域的研究热点之一。 1 1 3 c a i d 技术及软件系统的发展现状 一、c a i d 技术的发展现状 当前,国内外关于c a i d 的研究主要集中在计算机辅助造型技术、人机工程 技术、智能技术以及新兴技术的应用研究等方面。 1 计算机辅助造型技术的研究 计算机辅助造型技术经过二十多年的探索,已发展到特征造型和参数化、变 量化设计阶段,为实体模型向产品模型的转化铺平了道路。在c a i d 技术领域, 计算机辅助造型技术的研究主要体现在造型的自由曲面设计和草图设计等方面。 产品外形自由曲面设计的研究是c a i d 的一个重要内容。采用曲面特征设计 ( s u r f a c ef e a t u r ed e s i g n ) 是自由曲面设计的一个重要发展。而草图设计技术是随 着实体造型技术的发展,为满足工业设计师传统的手绘习惯而发展起来的造型技 术。它是用来弥补传统c a d 系统与工业设计之间鸿沟的有效手段。 2 人机工程技术的研究 当前,人体标准数据库、三维人体模型以及一些人机设计系统、评估系统已 得到广泛应用。在c a i d 技术领域,人机交互技术的研究主要体现在人机界面技 术和虚拟仿真技术等方面。当前,人机界面模型、虚拟界面、多用户界面、多感 官界面是人机界面技术的几个重要研究方向。当前虚拟仿真技术的研究主要体 现在触觉反馈、压力反馈等基础技术以及人机交互的模拟、人机虚拟环境的构建 等方面。 3 c a i d 中高新技术的应用研究 当前,虚拟现实、神经网络、遗传算法等新兴技术以及并行设计、协同设计 等设计方法是广大学者研究的热点。将这些技术引入c a i d 领域,并结合传统的 优化设计、模糊技术、智能技术等来进行c a l l ) 的研究也逐渐受到学者的关注。 并行设计、协同设计是现代设计的发展趋势之一。在工业设计领域,特别是产品 设计方面,必须研究产品的功能、原理、布局、形态等各方面之间的并行设计和 协同设计机制。一些学者从并行工程的角度,对并行环境下的设计过程和设计策 略以及面向并行工程的造型设计技术进行了深入探讨;还有一些学者从c s c w 两北t 业人学硕i :论文 蚺1 章绪论 ( c o m p u t e rs u p p o r tc o l l a b o r a t i v ew o r k ) 的思想出发,分析了协同设计过程中的各 种角色,提出了工程设计与工业设计的协同工作模型,同时分析了协同设计中人 的作用。总之,这些新兴技术都为c a i d 的发展注入了新的活力。 二、c a i d 软件系统的发展现状 c a i d 技术的发展速度以及其所带来的一系列变革是巨大无比的,利用 c a i d 系统进行工业设计的过程,实质上是充分发挥人和计算机各自的长处,获得 整个系统最优化的设计过程。经过c a l l ) 软件系统歹下发者的不懈努力,如今c a i d 软件系统已有了较大的发展。从c a i d 软件来看主要有这样几类: 第一类是用于平面绘图、图像处理、捧版及传达设计,如常用的i l l u s t r a t o r , p h o t o s h o p ,c o r e l d r a w , f r e e h a n d ,p a g e m a k e r ;主要用于二维的草图绘制。但产品 的设计模型无法传递给后续的工程设计c a d 软件系统,不能与制造过程相集成。 第二类是用于辅助工程设计,如a u t o c a d ,m i c r o s t a t i o n , a r c h i c a d p r o e n g i n e e r , b d e a s 。p r o e n g i n e e r 包含一个工业设计模块p r o d e s i g n 用于支持 自上而下的投影设计,以及在复杂产品的设计中所包含的许多复杂任务的自动设 计。这类软件功能比较强大,与后续的工程制造系统有良好的集成性。但这些软 件功能更偏向于工程设计,并不能满足工业设计师的真f 需要,例如模型构建、 实时编辑以及产品表面真实感模拟等相应的功能,在灵活简单的建模方法和可视 化功能方面还远不能满足工业设计的需要。 第三类是动画与渲染软件,如3 dm a x ,a c e u r e n d e r , l i g h t s e a p e 。这些软件拥有 很强的渲染效果。这些软件更偏重于产品最后的渲染效果,于是在造型方面就稍 逊一筹。所以它们也不是真正意义上的工业设计软件。 第四类是真正意义上的c a i d 软件。它能够使设计师进行快速的创意和详 细设计,拥有友好的人机界面,优良的模型控制能力和高度的灵活性。使用优秀 c a i d 软件进行设计,就好像在粘土模型上操作一样方便。另一方面,这类软件 系统也提供了满足工程设计需要的数据精确度,并且可以通过通用的数据交换格 式,向后续的工程设计c a d 软件系统传递产品造型设计数据,这种良好的集成 性能满足了产品设计丌发的基本要求。尽管如此,对于某一特定行业而吉,对 c a i d 软件系统的具体要求还远不止于此。 c a i d 应用丌发可以基于以下两种方式进行m 】: 4 西北t 业人学删l 论文第1 章绻论 1 具有完整版权的自主丌发 根据c a i d 的应用,在高级程序设计平台上运用多种开发工具进行自主版权 的c a i d 系统丌发。比如以微机作为硬件平台时。可选用w i n d o w s 环境及各种高 级语言,如b o r l a n d c + + ,m i c r o s o f t c + + ,v b 等。这些面向对象或可视化的程序设计 语言便于组织复杂的数据结构,同时也提供了丰富的开发工具与库函数支持。此 外,w j n d o w s 丰富的资源支持也为开发良好的图形用户界面( g u i ) 提供了便利。因 此,有了这样的丌发平台,就可以把主要精力集中在数据结构和核心算法上,从而 缩短丌发周期。 2 进行二次开发 在已有的通用c a i d 或c a d 支撑软件平台上进行二次丌发( 第三方丌发) ,使 之针对具有特殊要求的工业设计更加高效灵活。实际上就是利用通用c a i d 或 c a d 支撑软件所提供的开发所需的各种资源和工具开发出一些新的功能模块, 以满足设计过程的需要。这些功能模块一般是面向特殊应用的,它是为满足特殊 设计需要而丌发的。它可能不具有通用性,但在特殊应用中往往是高效的。 c a i d 软件作为一种高效的计算机辅助设计工具,其发展趋势是实现专业化 和智能化。所以要结合各行各业的具体特点,开发出符合具体行业特点的、专业 化的c a i d 软件系统。 1 2 论文主要研究内容 1 2 1 课题的研究背景与意义 本论文的研究课题来源于西北工业大学c a i d 课题组所承担的国家机械工 业部“8 6 3 ”科技攻关项目“面向产品创新的计算机辅助概念设计”的分专题, 即“机床产品计算机辅助工业造型设计软件系统”的理论研究与软件开发项目。 计算机已经成为了我国制造业领域的一个重要的应用工具,它的应用为制造 业注入了新鲜的力量,引起了制造业领域的一场深刻的变革。而机电产品的造型 的设计和其它工业产品一样,不断地向高水平发展变化。影响产品造型的因素很 多但是,现代产品的造型设计主要强调满足人和社会的需要,使美观大方、精巧 宜人的产品,为人们生活服务,并提高整个社会物质文明和精神文明水平。这是现 代工业产品造型设计的主要依据和出发点。c a i d 技术给人们展现了一种完全不 两北t 业人学瑚l j 论文第l 章绪论 同于传统设计的设计方式,给人们的设计手段带来了崭新的面貌。c a i d 技术在 产品造型设计中的应用,充分体现了高科技时代的最新成就,它既能将设计师的 灵感淋漓尽致地表现出来,又能进一步激发他们的创作热情,还可以适应现代工 业产品造型的生命周期越来越短,推陈出新的速度越来越快的要求。可以肯定, 人与计算机的完美结合将产生划时代的艺术发展,从而使c a i d 技术成为产品造 型设计中的主要手段。同时,c i m s 并行工程、虚拟制造等设计制造模式的发展, 使得产品模型必须能在全生命周期中实现信息共享、各种模型数据的转换和网络 传输等。面对数字化时代和知识经济,工业设计作为决定产品品质的一个重要因 素必须更加充分地利用计算机技术。 综上所述,本论文针对机电产品自身的特点,对设计过程进行了具体深入的 研究。色彩模块可以更充分地表达设计师的意图。而且,产品的色彩对产品外观 有很大的影响。所以在c a i d 系统里,色彩模块占有非常重要的地位,我们一定 不能忽视对色彩模块的开发。经过对c a i d 软件的色彩模块一定的分析和研究, 并且考虑到设计师的实际需要,从而提出了区域赋色这样一种新概念。 1 2 _ 2 论文主要研究内容 本论文是在科学研究与软件开发相结合的基础上完成的。结合计算机辅助产 品设计的特点剖析机电产品c a i d 技术的特殊要求围绕计算机辅助工业设计系 统中的色彩设计模块,以解决色彩设计模块中的对于面的区域赋色的问题展丌讨 论和研究。文章主要从技术实现的理论基础、技术的具体实现等几个方面进行论 述: 1 软件系统的二次丌发已经成为各个专业领域的软件开发的一个重要手段。现 今,二次开发是c a d ,c a m 技术所必须面对和解决的重要课题之一。本文首 先介绍商品化、通用化c a i d 软件系统二次开发应遵循的原则 s o l i d w o r k s 的技术背景以及该软件的几个特点,同时分析把s o l i d w o r k s 作为工业设计软 件系统的开发平台的优势。 2 s o l i d w o r k s 是基于w i n d o w s 平台的优秀三维设计软件,本文针对s o l i d w o r k s 二次丌发原理以及s o l i d w o r k sa p i 对象进行较深入的研究。并研究如何利用 c o m 组件对象来实现s o l i d w o r k s a p ! 函数以及用v c + 十6 0 来进行s o l i d w o r k s 二次开发的方法。 6 两北t 业人学倾i :论文第l 幸绪论 3 针对面向三维造型的区域赋色系统,本文的研究目标是实现组成系统的各个 模块:材质编辑器模块、渲染模块、面赋色模块、区域赋色模块。对各个模 块进行功能分析,应用面向对象的理论进行系统的构建。开发的区域赋色系 统要实现它的功能要求,以满足设计需要。 两北t 业人学顶1 1 论史第2 章区域赋也的理论框架 第2 章区域赋色的理论框架 2 1 纹理映射理论 2 1 1 纹理映射技术 现实世界中的物体,其表面往往有各种纹理,即表面细节。例如,刨光的木 材表面有木纹,建筑物墙壁上有装饰图案,机器外壳表面有文字说明它的名称、 型号等。它是通过颜色色彩或明暗度的变化体现出来的表面细节。这种纹理称为 颜色纹理。而另外一种纹理则是由于不规则的细小凸凹造成的,例如,桔子皮的 皱纹和未磨光的凹痕等。纹理映射技术是计算机图形学中广泛应用的一项重要技 术传统几何造型技术只能表示景物的形状,无法描述景物表面的微观细节,而利 用纹理图像柬描述景物表面各点处的反射属性,可以达到模拟景物表面丰富的理 细节的目的,提高计算机生成图形的真实性。另一方面,采用纹理映射的方法可以 大大的简化建模的过程。比如,同是一栎大楼表面,若完全用建模的方法来构造, 则需要画出大楼的每一扇门;若采用纹理映射,只需建立简单的长方体模型,用拍 下的大楼外观图片贴至造型表面即可。相比之下其工作量谁大谁小,可想而知。 纹理映射技术是把二维的纹理图像映射到三维物体表面,其关键点就是建立物体 空自j 坐标( x ,y ,z ) 与纹理空问坐标( s ,t ) 之自j 的对应关系。为生成具有真实感的 图形,利用纹理映射技术将复杂物体的图像粘贴到简单几何体的表面,置于场景中, 在实时显示场景时,还可利用3d 图形的平移、旋转能力,实现复杂物体随观察方 向的改变而转动的效果生成颜色纹理的一般方法是,是在一平面区域( 即纹理空 问) 上预先定义纹理图案;然后建立物体表面的点与纹理空间的点之间的对应( 映 射) 。当物体表面的可见点确定之后,以纹理空间的对应点的值乘以亮度值,就 可把纹理图案附到物体表面上。也可以用类似的方法给物体表面产生凹凸不平的 外观,或称凸包纹理。不过这时纹理值作用在法向量上而不是颜色亮度上。不 过这时纹理值作用在法线向量上,而不是作用于颜色亮度。纹理的定义有连续法 和离散法两种。连续法把纹理定义为一个二元函数,函数的定义域就是纹理空删。 离散法把纹理函数定义在一个二维数组中代表纹理空侧中行间隔和列侧隔固定 的一组网格点上的纹理值。网格点之间的其他点的纹理值则通过网格点的值插值 8 西北1 _ 业人学坝i 论文 第2 章区域赋乜的理论框架 获得。通过纹理空间与物体空问之间的坐标变换,把纹理映射到物体表面。无论 是生成颜色纹理还是凸包纹理,一般要求看起来像就可以了,不必采用精确的模 拟,以便在不显著增加计算量的前提下,较大幅度地提高图形的真实感。 根据纹理定义域的不同,纹理可分为二维纹理和三维纹理;基于纹理的表现 形式,纹理又可分为颜色纹理、几何纹理和过程纹理三大类。颜色纹理指的是呈 现在物体表面上的各种花纹、图案和文字等,如大理石墙面、墙上贴的字画、产 品上的图案等都可用颜色纹理来模拟。几何纹理是指基于景物表面微观几何形状 的表面纹理,如树干、岩石、山脉等表面呈现的凸凹不平的纹理细节。目前几何 纹理算法主要有b l i n n 算法和c o o k 算法。b l i n n 的纹理映射技术无需修改表面几 何模型,即可模拟表面凹凸不平的效果,其基理通过对景物表面各采样点的位置 作微小扰动来改变表面的微观几何形状。从而引起景物表面的法向量的扰动。由 于表面光度是景物表面法向量的函数,法向量的扰动必将导致表面光亮度的突变, 从而产生表面凹凸不平的真实感效果。不是任一扰动方法都能获得逼真的凹凸纹 理效果,一个好的扰动方法应使扰动后的法向量不依赖于表面的朝向和位置,即 不论表面如何运动或观察者从哪一方向观察表面,扰动后的表面法向量保持不 变。b l i n n 是基于景物表面各采样点的局部标架来进行扰动的。因为参数曲面的局 部坐标标架具有仿射不变性。过程纹理可以表现各种规则或不规则的动态变化的 自然景象,如水波、云、火、烟雾等。如3 d m a x 中可以使用n o i s e 编辑修改器 来制作起伏的山脉。 2 1 2 二维纹理映射 二维纹理映射实质上是从二维纹理平面到三维景物表面的一个映射。一般来 说,二维纹理定义在一平面区域上,它可以用数学函数解析的表达,办可以用各 种数字化图像来离散定义。这样,该平面区域上的每一点处,均定义有一狄度值 或颜色值。我们称该平面区域为纹理空自j 。在图形绘制时,应用纹理映射方法可 方便的确定景物表面上任一可见点p 在纹理空间中的对应位置( u ,v ) ,而( u ,v ) 处所定义的纹理值或颜色值即描述了景物表面在p 点处的某种纹理属性。因而, 纹理映射技术可分以下两步进行: ( 1 ) 确定表面的哪些参数需定义成纹理形式,即确定纹理属性。 ( 2 ) 建立纹理空间与景物空间及景物空间与屏幕空问之侧的映射关系,即 9 西北t 业j ( 学坝1 :论文 第2 章区域娥也的理论框禁 定义下面的映射: m : o b j e c t s p a c e + t e x t t t r e s p a c e t :s c r e e n s p a e e 斗o b j e c t s p a c e 2 纹理映射的建立 纹理映射m 的定义与景物的表示方式有关,而且是不唯一的。出于不同的定 义方法产生的映射效果各不相同,因而,r n 的确定在纹理映射算法中处于非常重 要的地位,它直接影响最终生成图形的真实性。 从数学的观点来看,映射m 可用下式来描述: ( i l v ) = f ( ky ,z ) 其中( u ,v ) 、( x ,y z ) 分别为纹理空间和物体空自j 中的点。由于参数曲面定义了 一二维参数空间到三维空白j 的映射关系,因而,当将参数空间和纹理空白j 等同起 来看时,映射m 等价于参数曲面自身定义的逆映射。对复杂的高次参数曲面来 说,其逆映射往往无法解析表达,一般需采用数值求解技术来离散求得。但对简 单的二次曲面来说,其纹理映射函数可解析的表达出来。如一高为h ,半径为r 的圆柱面可用下面的参数形式来表达: x = r c o s o y = r s i n o z 。h z 其中0 0 2n ,o 嘣l 。 若通过下述线性变换将纹理空间【0 1 1 3 1 0 ,1 】与参数空间【0 ,2n 】3 【0 ,l 】 等同起来: u = 0 2 v = z 则由该圆柱面的参数表达式,我们很容易得到从景物空间到纹理空间的纹理映射 表达式。 2 1 3 凹凸纹理映射 二维纹理映射技术实际上只考虑了表面的颜色纹理,即只能在光滑表面上描 绘各种事先定义的花纹图案,但不能表现由于表面的微观几何形状凹凸不平而呈 现出来的粗糙质感。1 9 7 8 年,b l i n n 提出了一种无需修改表面几何模型,即能模 两北t 业人学顾i 论史第2 章区域赋也的理论框架 拟表面凹凸不平效果的有效方法凹凸纹理映射技术。 b l i n n 的凹凸纹理映射技术通过对景物表面各采样点的位置作微小扰动来改 变表面的微观几何形状从而引起景物表面的法向量的扰动。由于表面光亮度是 景物表面的法向量的函数,上述法向量的扰动必将导致表面光亮度的突变,从而 产生了表面凹凸不平的真实感效果。值得注意的是,并不是任一扰动方法都能获 得逼真凹凸纹理效果。一般来说,一个好的扰动方法应使得扰动后的法向量不依 赖于表面的朝向和位簧,不论表面如何运动或观察者从那一方向观察表面,扰动 后的表面法向量保持不变。考虑到参数曲面的局部坐标标架具有仿射不变性,: b l i n n 基于景物表面各采样点的局部标架进行扰动。 设景物表面由下述参数方程来定义: q = q ( u v ) 记q 。,q ,分别为q 沿u ,v 方向的偏导数,则表面在任一点( u ,v ) 处的单位 法向量为 n = n ( u ,v ) = ( q u x q ) ( i q 。xq y l ) 现在景物表面每一采样点处沿其法向量附加一微小增量,从而生成一张新的表 面,它可表示为 q 9 ( u ,v ) = q ( u ,v ) + p ( u ,v ) n 其中p ( u ,v ) 为用户定义的扰动函数,不妨假设它是个连续可微函数,则由 上述表达式,我们有 q 9 。= q 。+ p 。n + p n 。 q 9 ,= q ,+ p ,n + p n 。 由于扰动函数p ( u ,v ) 非常小,故上述两式的最后一项可略去。这样扰动后的表 面法向量可近似表示为 n 9 = q 。9 x q ,9 = q 。x q ,+ p 。( n xq v ) + p ,( q 。x n ) = n + p u a p v b 最后两项为原表面法向量的扰动项,其中a = n xq y ,b = n x q u 。令 d = p 。a p v b 则扰动后的法向量为 n 9 = n + d 此即为b l i r m 的法向量扰动公式。由于向量a ,b 和d 均位于表面q ( u ,v ) 在 两北t 业人学坝f 论立 第2 章区域赋也的理论框架 ( u ,v ) 处的切平面上,故其几何意义是非常明显的。 至于扰动函数p ( u ,v ) 则可任意选择,它可以是简单的网格图案、字符位 映射、z 缓存器图案以及随意手描图案。当p ( u ,v ) 由一副不能用数学方法描 述的图案定义时,我们可用一二维u ,v 查询表来列出它在若干离散点处的值。 值得指出的是,b i n n 的凹凸纹理映射方法尽管有效的模拟了参数曲面的几 何纹理,但对多边形网格表面的凹凸纹理模拟则较为困难。 2 2 材质设计基本理论 2 _ 2 1 材质的表现内容 任何材质的视觉表面特征都可归结为色彩、质感两方面的内容。 1 色彩表现 色彩的本质是由光所决定的,物体表面之所以表现出不同色彩,是由 物体反射与吸收光的固有特性所决定的。如果一种物体,对于某一色光具 有理想的反射特性,则该物体呈现为固有色,而影响物体固有色的非纯白 光光源的色彩成为环境光,固有色和环境色都是物体的表面色。计算机辅 助装饰设计中对材质的色彩编辑也主要从这两方面考虑。 2 质感表现 质感的问题比较复杂,首先质感是指物体材料的质地及其所表现的物 体特质的真实感。质感包括两个不同层次的概念:质感的形式要素“肌 理”,即物面的几何细部特征( 是质感中最主要的特征) ;质感的内容要 素“质地”,即物面的理化类别特征。通常,物体的质感表现是通过肌理 形式来体现的,它可分为视觉肌理和触觉肌理两大类。视觉肌理指无需用 手摸而能用眼看得到的肌理,故与触觉肌理不同。此类肌理形式很多,例 如:装饰大理石板、木板表面的肌理纹样以及装饰设计中的各种图案肌理、 构成肌理等。用手抚摸而能感觉到的有凹凸起伏感的肌理都属触觉肌理。 在适当的光源下,视觉能够感知这种触觉肌理并形成物体的表面质感。这 种肌理形态在装饰材料中很多,例如:皮革材料表面凹凸的纹理,各种具 有粗糙纹理的壁纸,纺织材料等等以及在绘画、雕塑、建筑装饰设计中运 用各种技法如:粘、拼、编织、揉搓、雕刻等等方式来构成的各种肌理形 两北t 业人学埘1 。论史第2 章区域赋也的理论框槊 念。在计算机辅助设计中,人们主要采用视觉模拟的方法所以肌理表是 非常重要的一个方面。 2 2 2 计算机中的材质表现方法 材质是人眼对于物体的一种视觉感受,物体具有不同的材质表现为在人眼中 反射光的不同。计算机中的材质表现主要有两种方式,一种是基于色光束表现材 质,另一种方式则是用纹理映射的方式来表现材质,两者具有不同的用途。前者 主要用光照模型来体现具有不同材质的物体对于不同的光的反射属性,用这种方 法仅能表现一些简单的材质。而对于一些具有纹理、凸凹等属性的物体的材质则 必须采用纹理映射的方法来表现。 2 - 2 3 基本材质 基本材质也称为标准材质。标准材质的明暗特性分为三部分:a m b i e n t ( 阴影 中的颜色) 、d i f f u s e ( 过渡色) 和高光的颜色。当光照在表面的光线有角度返回您的 观察位置时,您便可以从一些发光表面上看到高光。当表面被完全照亮并且它是 暗淡的或不在高光晕时,表面会显示漫射光的颜色。随亮度的减弱漫射光颜色 与环境光颜色相吻合。 在颜色成分三个基本颜色特性中,d i f f u s e 对材质外表影响最大,而且最容 易确定。当在描述实际条件下的材质时。会涉及到漫射光颜色。 在编辑材质时高光是不可忽略的一项。高光颜色与照射的光线颜色相混合。 这种混合在材质问有差别,但是通常被涂以漫射光颜色或没有颜色( 零饱和度) 。 最好是将漫射光颜色复制给高光,然后增加白度控制使之变白。高光成分对材质 的影响直接与它的反光范围和强度有关。没有反光的材质不能形成高光。如果材 质有反光,在材质上就可以形成高光,材质的漫反射与高光以添加的方式混合。 环境光( a m b i e n t ) 的光值代表材质的阴影部分,但是它影响着许多表面,这 是因为在给定时白j 内只有对象的一小部分在光照的范围内。入射光照射对象的大 部分或至少一部分时,会在它们表面形成阴影。当表面形成阴影时环境颜色与 漫射光颜色以减色或类似于颜料的方式混合。如果一旦完全在阴影罩,环境光颜 色就独立起作用。没有光线照射时所得到的环境光颜色非常暗,因为光照仅来源 于环境光。 两北t 业人学坝j 论史 第2 章区域赋也的理论框粜 2 2 4 贴图材质 贴图材质比基本材质更为精细和真实。通过贴图,可以不用增加几何体的复 杂程度就能给对象加入细节。 给3 d 几何体所指定的材质并不只限于单一的颜色还可以将各种不同的图 形指定到材质中,产生如木纹、反射、雕刻和大理石的表面等效果。以材质设计 为目的贴图称之为材质贴图。贴图类型有很多种但大致都可以归于两种类型, 一种贴图是直接利用图像的颜色信息,另一种则是利用图像的欢度信息,如蒙板 贴图、凸凹贴图等。后一种贴图方式又往往是与程序式贴图联系在一起的。 1 b i t m a p 贴图:这是最直接的一种贴图方式。通过对图像指定贴图位置,即 指定贴图坐标,将图像直接贴在物体上。 2 材质类贴图:这种贴图指的是如m a r b l e 贴图、w a t e r 贴图、w o o d 贴图、 s m o k e 贴图等类型。通过程序实现真实材质的模拟,适当调节其参数,则 可以调出非常逼真的相应的材质。 3 效果类贴图:这种贴图指的是n o i s e 贴图、d e n t 贴图等。这也是一种程序 式贴图,但它模拟的是一种现实世界的某种效果。 4 坎度类贴图:这种贴图指的是如m a s k 贴图、b u m p 贴图。这种贴图利用的 是图像中的深度信息。前者由深度信息来决定物体中原有颜色的可见程度, 而后者则利用图像的灰度信息来控制物体的凸凹程度。 西北t 业人学颂i 论文 第3 章s o l i d w o t k s 一次开发技术 第3 章s o l i d w o r k s 二次开发技术 3 1 s u a l c + + 开发c o m 的应用 3 1 1c o m 概述 c o m ,即组件对象模型,它是一种以组件为分布单元的对象模型这种模 型使各软件组件可以用一种统一的方式进行交互。c o m 既提供了组件之闻进行 交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于 任何特点的语言,所以c o m 也可以是不同语言协作开发的一种标准。本论文所 做的s o l i d w o r k s 二次开发就是应用c o m 进行开发的。 而组件是如何产生的呢? 组件的产生既是一个人为的过程,又是一个自然的 过程。因为随着软件系统的发展,它的应用越来越复杂,程序也变得越来越庞大, 系统丌发的难度也就越来越大。尤其是对于庞大的程序来讲,要更换新的版本, 如果操作系统也发生了变化或者硬件平台有了变化则应用系统就很难适应这 样的变化。所以这类单体应用程序已经不能满足计算机硬件发展的需要。所以一 个根自然的想法就是把一个庞大的应用程序分成多个模块,每个模块保持自己的 功能独立性,在协同工作时,通过相互之自j 的接口来完成实际的任务。我们把每 一个这样的模块称为组件,一个设许良好的应用程序往往被分成一些组件,这些 组件可以单独开发,单独编译,甚至单独调试和测试。当所有的组件开发完成后, 把它们组合在一起就得到了完整的应用系统。当系统的外界软硬件环境发生变化 或者用户的需要有所更改时,并不需要对所有的组件进行修改,而只需要对受影 响的组件进行修改,然后重新组合得到新的升级软件。 组件化的软件结构为我们带来了极大的好处,除了软件升级的灵活性,还有 其他一些优势,在后面的论述中我们将看到这些优势。虽然组件化的模型看起来 很好,但是在实际的实现过程中却并不轻松。尤其对于复杂的应用,要把应用分 成一些独立的组件,而且这种切分还要尽可能地符合逻辑和业务要求,这是一门 新的组件化程序设计技术。但是这种程序设计技术也要以结构化程序设计和面向 对象程序设计技术作为基础。 组件之间的接口是组件软件的关键,因为接口是双方进行通信的基础。因此 西北t 业人学删i :论立 第3 章s o l i d w o r k s 二次开发技术 软件组件应该遵从统一的标准,在同一软件中的组件必须使用同样的接口标准才 能保证组件之间可以进行通信。如果设计软件时不考虑与其他软件的通信,则可 以使用自定义的接口标准;否则的话,应该使用一些公用标准。从目前w i n d o w s 系统上软件的使用情况来看,c o m 就是一个为大家所推祟的组件标准。c o m 不 仅仅提供了组件之白j 的接口标准,它还引人了面向对象的思想。在c o m 标准中, 对象是一个非常活跃的元素,经常把它称为c o m 对象。c o m 对象以接口的方式 提供服务,我们把这种接口称为c o m 接口。图3 1 可说明c o m 组件、c o m 接 口和c o m 对象三者之问的关系。 甲舟 接ul接l j2接u3 图3 1c 嘶组件、o 嘲接口和c o i l 对象关系 在w m d o w s 系统平台上一个c o m 组件或者一个d l l ( d y n a m i cl i n k i n g l i b r a r y ,动态连接库) 文件,或者一个e x e ( 可执行文件。一个组件程序可以包 含多个c o m 对象,并且每个c o m 对象可以实现多个接口。当另外的组件或普 通程序( 即组件的客户程序) 调用组件功能时,它首先创建一个c o m 对象或者 通过其他途径获得c o m 对象然后通过该对象所实现的c o m 接口调用它提供 的服务。当所有的服务结束后如果客户程序不再需要该c o m 对象,那么应该 释放掉该对象所占有的资源,包括对象本身。 自从c o m 在o l e 2 中首次被作为底层技术使用以来,已经有八九年的时侧 它自身也在不断发展。所以今天的c o m 已经增加了很多新的内容。 3 1 2 c o m 对象 c o m 提供的是面向对象的组件模型,c o m 组件提供给客户的是以对象封装 起来的实体。客户程序与c o m 组件程序进行交互的是c o m 对象,它并不关心 6 两北t 业人学坝j 论文 第3 帝s o l i d w o r k s 一次开发技术 组件模块的名称和位置,但它必须知道自己在和哪个c o m 对象进行交互。c o m 对象和c + + 中对象的概念类似,它也包括属性和方法。对象的属性反映了对象是 否存在;而对象提供的方法就是对象提供给外界的接口,客户必须通过接口才能 获得对象提供的服务。 我们一般都用c + + 语言来实现c o m 对象,那么很自然就会用类来定义c o m 对象,类的每个实例代表一个c o m 对象,类的数据成员可用于反映对象的属性, 而接口可以定义成类的成员函数。以下分两个方面来论述c o m 对象 1 c o m 对象的标识c l s i d 由于客户不直接去访问c o m 组件,客户程序通过一个全局标识符进行对象 的创建和初始化工作。这个全局标识符既要能标识c o m 对象,又要保证它的全 球唯一性。为此,c o m 规范采用了1 2 8 位全局唯一标识符g u i d ,这是一个随 机数,它并不需要专门机构进行分配和管理。因为g u i d 是个随机数,所以并不 能绝对保证它的唯一性,但发生标识符相冲突的的可能性非常小。从理论上讲, 如果一台机器每秒产生1 00 0 00 0 0 个g u i d 则可以保证3 2 4 0 年不重复。 2 c o m 对象与c + + 对象的比较 c o m 对象是建立在二进制基础上的,而c + + 对象建立在源代码一级的基础 上。所以这两个对象在形式上有一定的区别。 ( 1 ) 封装特性 两者都具有数据封装的特性,但其形式却有所不同。在c o m 对象中,数据 是完全封装在对象内部的,外部不能直接访问对象的数据属性,因为c o m 对象 和客户程序可能在不同的模块中甚至在不同的进程中或不同的机器上,因此,客 户直接访问c o m 属性不仅不合理,有时也不太可能。 c + + 的对象的封装特性与c o m 对象的封装特性有所不同,因为c + + 对象的 使用者与对象往往在同一个程序模块( 至少也在同一个进程中) 所以使用者很有 可能直接访问对象的数据成员和成员函数,因此,c 阡对类的成员访问进行了控 制。 我们可以这样理解这两种情况的封装特性,c o m 对象的数据成员的封装以 组件模块为最终边界,对于对象用户是完全透明的、不可见的:而c + + 对象的封 装特性仅仅是语义上的封装,对于用户是可见的。 1 7 两北t 业人学颂t :论文 第3 章s o l i d w o r k s 一次开发技术 ( 2 ) 可重用性 可重用性是面向对象系统的一个重要特性,当然也是c o m 和c + + 对象的共 同特性,只不过二者的表现形式不同,c o m 对象的可重用性表现在c o m 对象 的包容与聚合,一个对象可以完全使用另一个对象的所有功能;而c + + 对象的可 重用性表现在c + + 类的继承性,派生类可以调用其父类的非私有成员函数。 c + + 类和对象重用性应用最广泛的是类库,例如:m i c r o s o f tv i s u a lc + + 提供 的m f c 以及b o r l a n d c + + 提供的o w l ( o b j e c t w i n d o w s l i b r a r y ,面向对象的窗口 库) 类库是最典型的例子,它们为w i n d o w s 应用的开发提供了最基本的代码,丌 发人员直接使用这些类库就可以做出一些基本的w i n d o w s 应用来。 虽然c o m 对象和c + + 对象的重用性层次不同、机制不同,但由于在c + + 语 言中,通常用类来实现c o m 组件对象,因此我们也都会用到这两种重用机制。 3 1 3c 0 m 接口 因为c o m 对象的客户与对象之间通过接口进行交互,所以组件之白j 的接口 的定义就显得至关重要。c o m 规范的核心内容是关于接口的定义,虽然c o m 接口本身并不复杂,但围绕接口有很多内容值得讨论,其中包括接口的标识、接 口函数的调用习惯、参数的处理、接口与对象的关系等等。在进行s o l i d w o r k s 二次开发时,尤其要深刻地了解c o m 接口,因为我们正是应用c o m 接口来做 二次开发的。 1 接口定义和标识 接口包含了一组函数的数据结构,通过

温馨提示

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

评论

0/150

提交评论