(计算机应用技术专业论文)纺织品三维立体显示的研究.pdf_第1页
(计算机应用技术专业论文)纺织品三维立体显示的研究.pdf_第2页
(计算机应用技术专业论文)纺织品三维立体显示的研究.pdf_第3页
(计算机应用技术专业论文)纺织品三维立体显示的研究.pdf_第4页
(计算机应用技术专业论文)纺织品三维立体显示的研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

摘嘤 摘要 ys a 6 s 3 s 本文介绍了用o p e n g l 的纹理映射技术实现纺织品三维立体显示的方 法。文章从纺织c a d 发展的历史及国内外现状入手,闸明了课题来源及其 理论和现实意义。在对建模和演示效果进行探索的基础上,提出了用3 d s m a x 建:莎模型、在o p e n g l 下重现模型的思路,并重点说明了3 d s m a x 模型数据文件到o p e n g l 数据文件的转化。文中详细论述了o p e n g l 纹理 映射技术的原理及其在三维演示效果中的应用,并采用了多级纹理细化技 术对映射效果进行改善,从一定程度上减少了由数字图像缩小和拉伸引起 的纹理失真。文章的最后系统地介绍了织物仿真c a d 软件系统三维演示部 分的功能。通过与二维演示效果的对比,分析了三维演示的优势和不足, 提出了进步完善的方向。 关键词:纺织品的兰维立体显示 c a d纹理映射 o p e n g l 3 d s m a x a b s t r a c t a b s t r a c t t h l sp a p e ri n t r o d u c e s c o m p u t e re m u l a t i o no f3 dt e x t i l er e n d e r i n g t h e t h e o r e t i c a la n d p r a c t i c a ls i g n i f i c a n c eo f t h et h e s i sa r ee l u c i d a t e d o nt h eb a s eo f r e s e a r c h i n gm o d e l i n g a n dt e x t u r e m a p p i n g ,a f e a s i b l em e t h o di s b r o u g h t f o r w a r d i t sm a i ni d e ai s :b u i l dm o d e lw i t ht h eu s eo f3 d sm a x t h e nr e n d e r t h em o d e li no p e n g l 确c h a n g i n gf r o md a t af i l eo f3 d sm a xt of i l eo f o p e n g li se m p h a s i z e di nt h ea r t i c l e t h et e x t u r em a p p i n gt h e o r yi s a n o t h e r k e y s t o n eo f t h ed i s c o u r s e 。a p p l y t h et h e o r yt o3 dt e x t i l er e n d e r i n ga n d p e r f e c t i t w i t h m i p m a p p i n ga n dt e x t u r ei n t e r p o l a t i o n c a n g e t ag o o dr e s u l t a st h e r e n d e r i n gp a r to ff a b r i cs i m u l a t i o nc a d i t sf u n c t i o n sa r ei l l u s t r a t e d 。t h e3 d t e x t i l er e n d e r i n gh a sa d v a n t a g e sa n dd i s a d v a n t a g e sc o m p a r ew i t h2 dt e x t i l e r e n d e r i n g s ot h ed i r e c t i o no f i m p r o v e m e n t i ss h o w n k e y w o r d s :3 dt e x t i l er e n d e r i n g ,c a d ,t e x t u r e m a p p i n g 、o p e n g l 、 3 d s m a x 第一章绪论 随着训算机技术的飞速发展,计算机辅助设计即c a d 投术在各个领域 臆用越来越广泛。纺织c a d 作为现代化高科技设计工具,藤其简易的操 嚣靼越市场款抉速反应熊力,已成为趣遽瑟产品玎发,臻溅市场竞争的有 力争段。纺织鑫秘三绦立体显示 乍为织物仿真c a d 豹黢貉效聚部分,耨为 用户提供面料的立体着装效果,从丽绥蕊料设计和市场反鹿有枧的结合起 柬。 第一节c a d 概述 计算祝辅助设计技术又稼c a d ( c o m o u t e ra i d e dd e s i g n ) 技术,是进行 产品设请翻王程竣诗麓一耱赣技术,它楚以计算孛强作为主餮羧术工具送行 与产品或工程有关的工艺设计、信息处瑷、计算分辑的一门应用科学。 在纺织工业生产中,c a d 技术的应用最早可追溯到6 0 年代。当时i b m 公司首先成功地研制了纹织工艺自动化系统,使提花织物生产过程中的花 型没计从原先的手工方式设计、画图、冲板,变成用交互方式的屏幕作图 和自动p 铡纹板,佼蠡动佬设诗在纺织行业中敬应用成为溅实。 纺织嚣照由予门类较多,繇疆无肇遥矮熬c a d 援术,器类纺织号璜 c a d 技术的开发和应髑在我国可分织物缀织c a d ( 又称织物仿真c a d ) 、用于 大提花的纹织c a d 、用于印花分色制版的印花c a d 、针织物c a d ( 包括经编 和纬编等) 、用于机器绣花的绣花c a d 、用于服装设计的服黻c a d 、测色配 色c a d 等。织物仿嚣c a d 系统是在纺织工业上有着广泛用逡的计算机辅助 设i 系统之一,对它的再开究,国辨最晕始予7 0 年代,到8 f 年代逐步投入 馈羽。国内翻始予 i ( ) 霉代。鬟蠡,我溺熬织缘茨囊c a d 技术豹发壤鞠謦嚣 上辈本同步,某些方面还领先于国际水平。 本课题所研究的纺织品的三维立体掘示是中国纺织科学研究院织物仿 真c a d 软件系统的三维服饰效果部分。 第二节课题的摄出及意义 绞缀鑫熬三维立钵显示菝狭义上睾骜邋豢豢嚣糕戆立髂羧装演示效莱;铁 广义上理解,它可以龟括纺织品在现实生活中应蹋的许多方露,铡魏:寐 品、沙发、窗帘等等用品的演示效果。 传统的织物设计与织物应用是分离的,人们无法预视织物的真证着装效 果。而计算机技术的飞速发展,使织物的服饰仿真演示成为可能。目前, 织物仿真c a d 系绕中织物静二维服饰效果的显示已经很成熟。但毕竟是二 缝,不笼实瑗光照等楚理,骞不能旋转以馁麸不闲角度鼹察。嚣此,瑾怒 豹织物仿真c a d 系统应该能够真实秘模仿西料兹三维震戆效聚和织耱的图 案或纹理。通过具商较好真实感的织物三维着装系统,对不同的面料进行 服饰效果的仿真演示,使用户在虚拟的三维环境中看到最终的服饰效果。 从而以服装的最终穿着效果来指导面料的生产。这样既避免了面料没计的 落日性,也为服装设计选择面料提供了可靠依据,同时还可以满足逼i 同甩 。的个性化要求,有很好的指导设计作刚和促销作猾。强大的模拟演示功 能在设计和生产及销售各环节中的意义趟来越大,随着计算机技术及网络 的发展,客户根掘趱拟演示效果订货、厂商根据客户订货绸织生产的经营 模式,将成为提离纺织业市场反应速箴、提高生产效率、增强经济效益的 蠢岛i 其。 第三节课题发展现状及本课题刽薪患 纺织而料服饰效果的演示系统有二维和三三维之分。目6 口,我固的c a d 软件。h 织物服饰效果二维显示的发展和囤际上基本同步,但二兰维局面较 图际先进水平逊色。 一、二维显示与三缀聂示数比较 纺织品的三绫农褒与二缝表鬟蹩嚣鞭截然不同愆实薹髭懋路。 纺织品三维立体表现的实现方法怒建立三维的款式模型,将面料的位 图作为纹理映射到三三维曲面上。构成模型曲面的网格的顶点举标由仅,n = ) 三个分量确定,故而可以从不同角度避行观察。布料的皱褶由模型曲面的 缌小起茯模拟。纹理蛉走向由趋西网格走向决定。光照效聚邋遭设定光源 来宾鬟。毙滚发爨鹣毙照蘩瑟三维接受装嚣,垂手模型表糕鸯超茯及鬟戆, 在光源直射的面上衾产生高亮度效果,黼在背光面上剐会产生阴影。 现有的二维演示也称仿三维演示的实现思路是:将任濑一幅款式图或 照片作为背景,用曲线在图片或照片上勾画出服装的轮廓作为面料填充区 域。在浚填充区域作二维网格用于控制纹理走向,网格顶点由f x ,y ) 丽个分 曩疆透。褥瑟瓣凌察透饔与壤态逐域黪黎景叠熬,实溪谤三绫效象。耀穆 的到 车由用户独立完成,弼格割彳乍静好环直接关系蓟演示效聚的好坏。演 示效果的光照、阴影实际是背景图片上的效果。因此选辑图片时一定要选 挥填充区域颜色较浅、并且没有明显花纹的。否则将会出现附景纹理和背 景花为叠加的现象;用于填充的面料颜色不能过深,否则会遮住背景上的 阴影和皱裙。 亵静演示蔷鬟绫缺点。善笼,三终效莱实瑷了获不溺恁震躜察模型, 这也是三维演示豹大往势;蔼二维演示是在平面图片上邋行操作,所以 背景图片的角度决定了观察角度,不熊进彳亍i 口后左右旋转。其次,用纹碑 映射技术将花纹映射到模型表面,不会出现两种纹理叠加的情况。用光源 照射产生阴影,对于作为纹理的面料不存在颜色深浅的限制。但是,三维 模型的建立比较笺凝,模型库不易扩充。劳虽模型一旦建立就不再改变。 二缝演示爱銎片 髻鼗岽,霆瑟任舞复象款式或豢薪流行秘滚式郝可以钕背 最素耪,这使褥它的款式库菲豢丰富。 二、课题发展现状 目前,国内外融经商品化的软件基本上是5 5 维演示,并凰技术已经很成 熟。比如法囤力毙的澎马设计系统,同本旭化成株式会社的s r e t c h b o o k , l 海双九的4 d b o x ,上海佰锐服装设计c a d 系统的电脑试衣,杭州宏华数码 的试衣系统以及香港的富怡服装设计系统都属于i 维演示。这些系统都在 维闰片l ! 实现了面料的区域填充以及不同面料的更换。 三维演示尚处于研究和发展阶段。加拿火1 ) y n a m j c g r a p h i c ss y s l o m s 公司丌发的f a s h i o ns t u d i o 系统,是当6 h 世界e 唯一集逼真i 维人体及服装 f t , 0 设计、演示、运动仿真为一体的商业化软件,但价格较高。l 。咳系统可 以进行各种布料及薄型材料的仿真,可随心所欲地设置材料的色彩、图案、 尺寸,环境的灯光、重力、风源、风速、风向,及对材料的动力学约束。 并可进行布料及薄型材料在设定环境下的动态模拟和仿真”。国内的软件 捌有三维演示功能的很少。目前,杭州e c h o 公司研究和丌发的三维服装 c a d 系统实现了真f 意义上的三维演示效果。它的演示功f i b 2 - 要侧重于服 装款式设汁方面:二二维样板自动缝合穿在模特身卜,立体显示服装的佰纹 线、折叠、收省等”。 与侧重于服装款式设计的c a d 不同,本课题研究的纺织品的三维立体 显示要实现的是不同面料的三维服饰效果。即对于一款已经建立的、形态 较真实的服装模型,赋予其不同的面料图案。目的在于观察不同面料应用 于该款式后产生的不同效果。在这方面目前国内还没有十分成熟的商业化 软件。 三、本课题创新点 本课题研究的纺织品的三维立体显示,其最终功能不仪要实现不同面 料的更换,还要展示出从不同角度、不同远近进行观察的效果。在对三维 建模和交瓦控制进行探索和研究的基础上,本课题提出了用3 d sm a x 建立 模型,然后用v c + + 下的0 p e n g l 对其进行控制并实现各种演示功能的新思 路。在0 p e n g l 下重现3 d sm a x 模型并对其进行交互控制来实现纺织品的三 维显示是本课题的创新点。用纹理映射技术为模型表面添加织物纹珲图案, 并用多级纹理映射提高纹理绘制质量,也是纹理映射理论应用于实际的一 种新尝试。 第四节课题研究的主要问题 要生成一个高质量的三维真实感图形,尤其是对于具有复杂形体的人 体和服装曲面来说,是一项相当复杂的工作。除了在建模时考虑织物的力 学特性外,还要解决复杂曲面图形的真实感问题。这其中要涉及到:几何 建模、隐藏面消除、纹理映射、材质及光照设定等多方面问题。这也是计 算机图形学中引人注意的研究方向。 模型本身的逼真性和纹理的真实感直接关系到计算机虚拟环境中三维 服饰效果的展示。因此,本课题将在建立服装模型和纹理映射方面做出探 索和研究。课题重点解决的问题可以归结为以下两点:一是模型的真实性; 二是服装复杂曲面图形的真实感。 1 、模型形态的真实性 模型的真实性是直接关系到演示效果的一种重要因素。布料不同于刚 性物体,由于其柔软易变形,所以衣服穿着在模特身上时会产生悬垂感, 关节处会产生皱褶。而且不同的面料其基本力学特征足不同的,如:丝绸 第一章绪论 的柔软怂难性要区别于毛呢面料的硬挺性。而n ,服装的比例要符合真实 人体的比例。 这就要求:建模时以标准人体模特为参照以保汪服装模型具有合适的比 例。根据布料的基本力学特征模仿其三维质感效果,如悬垂性、飘浮性、 柔软性、硬挺性、丰满度等等。这是真实风格的仿真,而非贴图技术的风 格复制。衣服不能紧贴在模特身上,面料不能有僵硬感。衣服在模特身上 的着力点,关节处的皱褶,悬垂产生的衣褶等,都要真实的表现出来。 2 、服装复杂曲面图形的真实感 影响演示效果的另一重要因素是模拟面制的真实纹理。在纺织品中,大 多数织物具有印花图案或织物纹理。把这种印花图案或织物纹理模拟j b 束, 把织物图案按比例映射到服装模型的表面,由此实现任意面料的更换,4 。 能真实的模拟面料的三维效果。由于面料在t t 算机中存储时为数字图像, 并l l 将一幅纹理图案映射到一个曲面上时,需要对该图像进行压缩或变形 以适应模特的大小和服装曲面的形状,因此涉及到纹理的失真问题。数字 图像是连续图像的一种近似表示,通常采用采样点即像素的值所组成的矩 阵来表示。图像缩小时,不可避免的出现像素点的信息丢失;将图像映射 到人体服装的复杂表面时,又会引起纹理变形。以上原因导致了面料纹理 的失真。 用数字图像表现纺织面料时,还要考虑到面料自身的特点。纺织面料从 花型的角度来看可以大致分为以下几类:染色和印花图案面料、大提花色 织面料和小提花色织面料,后者是毛纺织厂和色织厂大量生产的产品。对 于染色面料,由于其色彩单一,缩小时的信息丢失对其显示效果基本没有 影响:印花面料和大提花面料的花型及每种颜色的着色面积较大,失真造 成的影响也不太严重;但小提花面料的花型小,并且多由有规则的线条或 几何图形组成,缩小失真则会产生严重影响甚至面目全非。因此,将纹理 映射到模型表面时,纹理的反走样直接关系到纺织品三维立体表现的真实 性。 第五节课题实现方案 课题实现过程中主要应用v s i u a c h6 0 ,o p e n g l 三维图形丌发引擎及 3 d s m a x 等工具。 o p e n g l ( o p e ng r a p h i cl i b r a r y ) 是一个三维的计算机图形和模型库, 在二:维真实感图形制作中具有优秀的性能。用这个图形库不仅能方便的制 造出有极高质量的静止彩色三维图形,还能创造出高质量的动画效果。借 助w jn d o w s 编程环境还可以实现对模型的人机交互控制。但o p e n g l 并没有 提供三维模型的高级命令,它也是通过基本的几何图元来建立三维立体模 型的。这使得建立逼真的布料等物体的软体模型比较困难。 目的有许多优秀的三维图形软件如:3 d s m a x 、p o s e r 、m a y a 、a u t o c a d , 可以方便的建立各种模型。利用这些三维软件的许多高级建模命令可以较 好的模拟4 t i 脊l 的效果。但是这些软件的缺点是难以对模型进行交互控制。 模型一旦建立,进行了最后的渲染,其表面的颜色、纹理就不能山用户改 ,叟。 如果把这些模型转换成o p e n ( , l 。程序,再对其进行控制则是一种比较理 想的方法。因此,在建模阶段,可以利用三维图形软件强大的三维工具建 立模型,避免在o p e n g l 中用点、线、和多边形来建立三维立体模型的繁重 劳动,并且可以建立逼真的服装模型;在控制阶段,则可以通过o p e n ( ;l 程 序实现列模型的人机交互式调整。这样实现了资源共享、避免了重复劳动, 从i m 一 以随心所欲的利用现成的模型实现虚拟现实( v ir t u a li e l i ty ) 。 所以本课题实现方案如下:先用现有的三维立体软件建立各类人体服装 模型,利用其数据文件获得o p e n g l 三维对象绘制所需的点列表和面列表信 息。用v js u a lc + + 及其内置的o p e n g l 图形引擎编程重现模型,把不同纹理 图案的面料位图( bj m a p ) 缩小并利用o p e n g l 的纹理映射功能将其映射到 服装曲面上。以此为基础,通过对数字图像各种缩小算法的比较研究,特 别是结合纺织面料自身纹理图案的特点,找出一种算法,减小信息丢失: 在纹理映射过程中采用反走样技术,最大限度的避免纹理的变形,力求纹 理图案失真度最小,实现最好的表现效果。同时实现三维模型的光照、旋 转等效果和纹理的更换、放缩功能。使模型可以从前后左右不同角度,远 近不同距离进行观察;面料可以任意更换,并实现纹理在模型上的放缩。 最终自行丌发完成织物仿真c a d 的服饰效果部分。 第一蒂搬裟模型拍建 第二章服装模型的建立 按照建模阶段的实现方案,利用3 d sm a x 这“优秀的三维殴训软件建立 模,蛾i 卖墩其数据文件获得模型的点、锄信息,然后在o p e n ( ;l 。中蘑现模型。 第一繁o p e n g l 三绦黠象憋绘镧规割 t ) p o n g l 没有提供三维模型的高级命令,它是通过基本的几何渤冗 点、线及多这形柬建立三壤横塑豹。一个模型,无论其表嚣形状多么复杂, 计锌机都将它视为幽瓣干个小平面组成。计算机闺形学中的所有光滑曲面 最终都怒由多边形逼近得到的。要将一个曲面分割成若干个小平面,首先 疑列鞠蕊进行网格划分,其次要获缛网捺各个顶点的坐标。然盾对顶点进 锊+ 数学臻述形成单个多边形,遥过多边形镰环梅残整个攘鍪酸掇矜缩筠。 接蒋,要赋予顶点绱息( 例如颜色、纹鼹、法线等等) 。最后,根始这些信 慧由o p e n g l 绘割凼三三维对象。小乎瑟翘分越多,精疫越裹,熬嚣越平游。 般情况下,模型表面过渡十分剧烈的区域需要较多的小面来逼近;在表 耐较为平坦的区域,离散化工作相对轻松。 一、夔激戆绘裁 在o p e n g l 中,掰露鹣磊酃是鬏据礞患餐怠建立的。囊点秘逡雾边形, 礴出多边形拱接成麓颟。设糕意多边形豁掰个顶点分别: 珞沁,y t ,z l l 2 魄,y 2 ,龟j ,缸。y 。) , 多边形描述如下: g l b e g i n ( g l _ p o l y g o n ) : g l v e r t e x 3 f ( x l ,y l ,z 1 ) : g l v e r t e x 3 f ( x 2 ,y 2 ,z 2 ) : g l v e r t e x 3 f ( x m ,y m ,z m ) g l e n d 0 : 瓣多个多边形构造赫西辩,婺满足醴下凡点要求; 第一、保证多边澎为简肇多边形,郎对于构成曲面的侄一个多边形,它 戆迭不龛诲籀交,葜冬拿顶点必须共鬻。 篇二、多边形必须为凸多边形,即镊给多边形的两个内部点,奠涟线完 全在多边形内。 繁三、确保多边形方囱熬一致性。出于多边形存在正反两巍,联以绘制 近骰麴覆黠应舔褥多边形顶点翁黢j 挚( 一直焉鼷眩锋鲮赢鬻遂 时针) 。 兔了潢是夔上蘩躐,慕霜三角形寒稳逑摸黧,荠爆定颈点为逆薅铮颞序。 假要避免使用狭长三角形,成尽量选取各条边长度接近的三角形。因为狭 长三角形绘制的结聚颜色变化太尖锐。 矗 二、法向量的计算 法向量在用多边形构造三维造型是至关重要的,它与实体的光照模型密 切相关,光线从不同入射角照射到模型表面时,显示结果是有差别的。法 向量列于曲面的牛成、纹珲映射等,也是必不可少的信息。如果忽略j 7 法 向 的计算,将不能重现模型的三维效果。 平面的法向量是面卜某一点处垂直于该平面的i 旬量。对于一个平而,各 点的法向量都一样。而曲面上某一点的法向量是指这样一个方l 匈,它与该 点的一个邻域垂直。但领域尺寸收缩为足够小时,原本属于曲面的邻域可 以足够精确的看作平面,从而有近似意义的法线。对于一个曲面,每个点 的法向量都不一样。法向量有正负两个方向,其正方向满足右手定则。法 向量的计算通常分为解析曲面和一般多边形两种情况来求解。 解析曲面是用数学方程或方程组描述的可导曲面。设解析曲面s 的显 式表达式为: s ( p ,g ) = s x ( p ,g ) ,y ( p ,g ) ,z ( p ,g ) j ( 2 11 ) 写成含参数的形式: f x = 石( p ,g ) y = y ( p ,q ) ( 2 卜2 ) i z = z ( p ,g ) 其中协g 为曲面参数,五y ,z 均为可微参数。曲面法向量可用摹等表 示,表示叉积。 对于隐式描述的解析曲面e ( x ,y ,z ) = 0 ,一般而吉在一个特定的点 g ,y ,z ) 上,法向量可用梯度法来计算: v f = i 菩,等,誓1 c 互卜。, 在大多数情况下,解析曲面的法向量较为容易得到。但是对于人体服装 复杂曲面,用一个连续整体函数来构造是不现实的,因此采用多边形法。 由于采用三角形近似拟合三维模型,所以法向量也是基于三角形的。如图 2 1 一l 所示。 u 胛d 幽2 卜1 法向量的计算 对于多边形,可以利用不在同一条直线边上的三个顶点计算法向量。以 0 望茎璺塑三塑墨竺:星兰整篓塞 兰= 垩蹩鉴鐾兰箜些! 三角形u k ,1 ,为例,叉积( 、o 一_ ) q u ) 就是它的法向量,归一化得到单 位法向量”i 。经归一化的法向量其模不受坐标平移、转动等变换的影响。 湖理可得h 2 h ;h ;,将”+ 码毪n 。加权平均得到曲匿上u 点的法向慧。 第二节用3 d sm a x 建立模型 3 d s a x 中有d 种蕊本的建模方法,即n u r b s 建模、面片建模、蒙皮建 模和多边形建模。这几种方法都不需要使用插件,它们各有千秋,但最常 膈的方法是多边形建模法。 n u r b s 建模是近麟年发震起来的,它鳃特点是表瑟由一系列藏线及控制 点确定,簧良表露缎乎游。阂时它竞诲程密口中灵显示一个物体豹咒令基 本点,所以调整起来搬方便。但是,n u r b s 对税器硬件要求徽满,用一般机 器很难做出精美造型。面片法的特点是造型器块一块的做,建造速度很 慢,而且不够流畅,不适合做服装一类的复杂模型。蒙皮建模法是用样条 曲线构造出模型的框架,然后用s u r f a c e 命令将框架包裹起来。这种方法 怒3 d sm a x 耘近雄如的方法,有一些功鼹逐不完善。两多边形恣模法不僵 哥良潮 乍复杂静豹豁,藩显是瑷最麓 乏豹线与瑟寒完残豹。嚣辩3 d sm a x 对多边形命令的支持也是最强大的,不需经何插件就可以作出复杂韵模型。 当然,创建模型时也可以使用衣服制作插件。常用的插件肖s i m c l o t h 、 s t i t c h 、c l o t h r e y e 等。使用插件可以避免多边形建模中对点耐调罄的复杂 工作,提高建模效率。有些插件例如s t i t c h ,可以象现实中制作服装一样 漾震分冀裁剪莓缝合戆方法。毽由予嚣簧经过复杂斡数学运冀爰乏调整模型 蒡态,辑以计算遥稳魄较缓滢著嚣j l 砉租器磺 孛要有一定要求。 模型用p a t c h 面求制作,p a t c h 西是3 d sm a x 最简单的基本几何模型之 ,在建模过程中对点、线、面的调整都很方便。所有衣服均先在标准姿 辫的人体模型上建模,以保证衣服的形态、比例符合真实人体的形态。应 用3 d s 姒x 命令可以对具体细节进行调熬,e d i tm e s h 、a t t a c h 、h i d e 、 e x t r u d e 、a u t os m o o t h 、蘧e s hs m o o t h 、f f d 露是方便的模蝥调整念令。穰 溅人体模型在一般熟3 d sm a x 软 孛串都鸯撬貘,也可以瓿专掰三维久物翻 作的工具软件中( 例如p o s e r ) 中导入。 第三带在o p e n g l 下读取3 d sm a x 模型 一、3 d s 姒x 数据文体的存储格式 在薅o p e n 鼠读鼗3 d s 融x 模型嚣,先奔绥3 d sm a x 模型懿存健揍式。 3 d s 矗x 默认靛数摇文 牛是$ ,m a x 文 孛。$ 。m a x 文 孛结稔复杂,数据量庞大。 它不仅包括模型嘲格结构的点和面的信息,还包括模型豹颜色、光照、阴 影、材质、贴图以及备种场景设置,并且文件以1 6 进制数存储,读取比较 困难。除默认的女m a x 结构外,3 d sm a x 还可以导出其他多种文件格式,包 撼:$ 3 d s ,它是出3 d s m a x 的低版本所生成的文件;$ 。a s e ,即a s c i i s c e n e 纺织品的三维一体址o ;的研究 第一市服麸模型的矬扛 e x p o i t 文件;$ d f x ,即a u t o c a d 文件; a i ,即a d o b e1 1 l u s t r a t o r 文件 等文件类型。 为了满足o p e n g l 中绘制三维对象的要求,采用a s c l is c e n ee x p o r t 文件。 a s e 文件以三角形网格形式存储3 d sm a x 模型,它不仅满足o p e n g l 用多边形构造曲面时的顶点共面性,而且清楚明了。 a s e 文件用信息段描 述场景,每段以段名开始。格式如下: * 3 d s m a xa s c ii e x p o r t * c o m m e n l 、 * s c e n ej $ m a f e r i a ll i s t * g e o m o b j e c t * n o d en a m e * n o d et m l * m e s h ; t i m e v a l u e * m e s hn u m v e r t e x * m e s hn u m f a c e s - * m e s hv e r t e xl i s t * m e s hf a c el i s t * m e s hn u m t v e r t e x * m e s ht v e r t l i s t * m e s hn u m t v f a c e s * m e s ht f a c e l i s t j * m e s hn u m c v e r t e x * m e s hn o r m a l s j l * p r o pm o t i o n b l u r * p r o pc a s t s h a d o w * p r o pr e c v s h a d o w * m a t e r i a lr e f * l i g h t o b j e c t ) 各信息段分别描述场景不同方面的信息: * 3 d s m a xa s c i i e x p o r t 段是文件格式表示段,表明文件是导出的a s c i i 码格式。 女3 d s m a x _ a s c i i e x p o r t 段和 c o m m 卧t 段是创建信息,包括创建版本号和 创建时间。 $ s c e n e 段是场景信息,包括场景名称、渲染速度、场景背景和静态环 境。 * m a t e r i a l l i s t 段是材质信息,包括模型表面材质的漫反射、镜面反 9 第一市服装模型的建、7 射、亮度以及贴图等参数。 * ( ;e o m o b 1 e c t 是模型信息段,包括子段 * n o d en a m e 模型名称。 * n o d et m 模型位置、旋转、放缩的信息。 * m e s h 模型网格数据,由点数、面数、点列表、面列表、点纹 理列表和面纹理列表组成。 * p r o p _ m o t i o n b l u r 、* p r o pc a s t s t l a d o w 、* p r o p r e c v s h a d o w 、 * m a t e r i a l r e f 给出阴影和网格颜色参等数。 如果场景中有多个物体,则有多个* g e o m o b j e c t 段,以* g e o m o b i e c q l0 、 $ ( :e o m ( ) b 1 e c t1 的形式出现。 * l i g h 3 、o b j e c t 段用于设定光照效果,由光源类型、位置、灯光颜色、 光晕形状等信息构成。 用o p e n g l 读取模型时,只需读取其网格信,g 目p * g e o m o b j e c t 段的* m e s h 数据就可以了。因为* m e s h 段给出了绘制模型最基本的点和面的信息。其他 场景信息在o p e n g l 重新设定以便进行交互式调整。 二、从3 d sm a x 文件中获得模型数据 以个简单曲面的a s e 文件为例,需要读取的数据如下所示: * g e o m o b j e c t * n o d en a m e ”p l a n e 0 1 ” * m e s h * m e s h n u m v e r t e x1 6 9 * m e s hn u m f a c e s2 8 8 * m e s h v e r t e x _ l i s t ( * m e s hv e r t e x 0 8 9 6 0 9 48 3 6 1 5 6 9 2 6 6 2 2 * m e s hv e r t e xl 一7 6 6 0 2 98 3 6 1 5 6 9 2 6 6 2 2 * m e s hv e r t e x 2 6 3 5 9 6 38 3 6 15 6 9 2 6 6 2 2 * m e s hv e r t e x1 6 75 3 4 6 3 08 3 6 15 64 8 9 5 3 6 * m e s hv e r t e x 1 6 86 6 4 6 9 68 3 6 1 5 64 8 9 5 3 6 1 * m e s i f a c el i s t * m e s hf a c e0 : a :1 3b :0 c :1 4a b :l b c :0c a :1 * m e s hs m o o t h i n g1 * m e s h - m t l i d0 * m e s hf a c e 1 :a :1b :1 4 c :0a b :lb c :0 c a :1 * m e s hs m o o t h i n g1 * m e s hm t l i d0 * m e s hf a c e 2 :a :1 4b :1 c :1 5a b :1 b c :0c a :1 * m e s hs m o o t h i n g1 * m e s hm t l i d0 0 j 翌型堡些三兰! 型! 些! :塑型垫 笙= 至坐鲨壁型堕堡兰 * m e s h _ a c e 2 8 6 :a :1 6 7 b :1 5 4 * m e s hs m o o t h i n g1 * m e s hm t l i d0 * m e s hf a c e2 8 7 : i :1 5 5b :1 6 8 * m e s hs m o o t h i n g1 * m e s hm t l i e ) 0 * ( ;e o m o b j e c t 是模型信息段丌始的标志,场景中有多少个物体,文件中 就有多少个- * g e o m o b j e c t 段。读取* g e o m o b j e c t ,计算其个数可得场景 中物体总数,以o b j e c t f i u i i 存储。 * n o d e n a m e 后的”p l a n e 0 1 ”是该* g e o m o b j e c t 段所描述的物体的名称。 m m e s hn i i u m v e r t e x1 6 9 表示模型有1 6 9 个点,以v e r t e xn u l n 存储。 * m e s hn 1 i u m f a c e s 2 8 8 表示模型有2 8 8 个面,以f a c e h u m 存储。 * m e s h v e r t e x l i s t 是点列表丌始的标志。点列表包含点的索引号和相 应点的坐标。例如:* m e s hv e r t e x 08 9 6 0 9 48 3 6 1 5 6 9 2 6 6 2 2 ,0 表示点列表中点的索引,一- 8 9 6 0 9 4 ,8 3 6 1 5 6 ,一9 2 6 6 2 2 则表示点的x ,y ,z 坐标。如果以二维数组m e s h v e r t e x i , 存储点 列表,下标i 为该点在点列表中的索引,第二维o j 2 存储置y ,z 坐 标,则点列表中第个点可以表示为: m e s h _ v e r t e x 0 o = 一8 9 6 0 9 4 m e s hv e r t e x o 1 = 8 3 6 1 5 6 m e s h v e r t e x 0 2 = 一9 2 6 6 2 2 同理可存储所有控制点索引和坐标。 * m e s h f a c i l l i s t 是面列表开始的标志。面列表包含面的索引号和该面 的三个顶点所对应的点的索引号。* m e s n f a c e 0 :a :1 3b :0 c :1 4a b :1b c :0c a 1 * m e s h s m o o t h i n g1 * m e s h _ m t l i d0 。 0 表示面列表中面的索引号;a :1 3 表示三角形顶点a 为点列表中索引号 为1 3 的点:b :0 表示三角形顶点b 为点列表中索引号为0 的点;c :1 4 表示三角形顶点c 为点列表中索引号为1 4 的点。用二维数组 m e s hf a c e i , 存储面列表,下标i 为面列表的索引,第二维0 j 2 存储顶点的索引号,则面列表中第一个面可以表示为: m e s h f a c e 0 儿0 = 0 m e s h f a c e 0 1 = 1 3 m e s h f a c e 0 3 2 = 1 4 a b :1 用来给出a b 边的方向,l 表示a b ,0 表示b - a 。指出每 条边的方向是3 d sm a x 中计算顶点法向量的需要。因为o p e n g l 中的 法向量需要重新计算,所以这部分信息不需要读入。* m e s h s m o o t l j i n g 1 * m e s hm i l i d0 是3 d sm a x 中线框平滑命令的参数,数值越大,模型 翌竺些垡l :! 堕堡望! :堕竺! ! 丝二主坐茎竖型盟些一! 表面越光滑。 三、模型数据的预处理 从3 d s m a x 数据文件获得的控制点信息并不能直接用丁_ o p e n g l 模型的 绘制。因为3 d s m a x 默认三维牮标系和o p e n g l 缺省的三维娥标系擎标轴的 方l _ 是不i 司的。3 d sm a x 三维举标系如图2 31 示: i 到2 3 - 13 d s m a x 坐标系 o p e n ( ;l 缺省的三维坐标系是一个两个单位长度的正方体,其几何中心 为一标原点,如图2 3 2 所示: 幽2 3 - 2 o p e n g l 坐标系 并且二者的显示比例也不尽相同。对于具有同样娥标值的模型,在两系统 中显示方向和大小都不相同。所以在绘制模型之前要对数据进行必要的处 理,包括华标轴的旋转、归一化数据和调整局部坐标系的位置。 首先调整模型数据的y 轴和z 轴数据以解决坐标轴方向问题。相当于将 原始模型绕x 轴旋转9 0 度。显示比例用数据的归一化来解决。归一化范围 选驭一1 x 1 , - 1 y 1 , - 1 z 1 。遍历整个点列表,找到绝对值最大的举 标值,将其绝对值u n i t y 作为归一化参数。用u n jt y 归一化所有数据。 在o p e n g l 旋转模型旋转时以o p e n g l 三维坐标系的各个举标轴为旋转 中心。而建模时复杂曲面的几何中心很难准确确定,经常出现模型中心与 坐标原点不重合的现象。在这种情况下旋转模型,看到的不是模型自身的 旋转,而是模型绕着处于模型以外的轴旋转。通过调整坐标,使模型局部 半标系的举标轴和系统坐标系的原点重合来要达到理想的效果。平移模型 局部举标系的原点,使其与系统举标系的原点重合。在系统举标系中遍历 整个点列表,找到x 方向上的最小值和最大值分别为l e f t 、r ig h t ,则模型 局部坐标系的原点在系统坐标系中的坐标为x o r i g i n = ( r i g h t + l e f t ) 2 。把 x 方向的数据沿坐标轴平移x o r i g i n ,x o r i g i n o 时向左平移;x o r i g j n 0 露,点& ,y ,毛w ) 对寝予三维坐标中豹点| 二,王,二l 。 ww ”, 因此三维欧拉空问中的点沁m z ) 在o p e n g l 中对应于坐标为e ,弘,1 o ) 的 点,即w = 1 0 。二维欧拉点g ,y ) 对应于0 ,y ,0 0 ,1 0 ) ,即z = 0 ,w = 1 o 。通 过指定视点、模型和投影变换,实际上是构造了一个4 x 4 的矩| 砟t ,将其与 模型的每个顶点,相乘得v = v t ,这样就完成了各种变换。 懿圈凝示,痨薅懿三绦莠次坐标颈点蠡,y ,五弹y 羲经蓬四次交羧蠢。可褥 到商【= = j 中的坐标0 。,y 。,z 。y 。首先视点变换和模型变换相结合缀成视点一 模型变换矩阵m ,视觉坐标g 。,y ,z 。,m ) r = m g ,弘z ,w y 。接下来通过 授影疑黪p 嚣箨曩褥到簸势垒蠡笼,苁,哎y = p 。,y e , z e , 罗,穆投影 交换所定义的观察范围外的物体裁减捧。然爝将各坐标值分剐除以w ,褥 ,、r 到归化的设备坐标也, y a , z a y = i 詈,毒,瓦z e 】,最后通过视口变换得到 露口嫩括。通过调整援聪懿尺寸,可以将最终褥到的图像放大,缩,j 、或拉 帮。 二、o p e n g l 中的坐标窝糗 三维图形显示流程中一系列的变换,实际上是通过矩阵操作完成的坐标 变换。不同的变换矩降作用于工,y ,z 各坐标上实现不同的变换。 第一章服城模型的建 视点模型变换包括平移变换、旋转变换、放缩和镜像变换。通过这 些变换使对象以合适的位置、大小和方向显示出来。 l ( i p e n g l 中通过函数v o i dg t r a n s l a t e ( t y p ex ,t y p ey ,t y p ez ) 来 实观、 移变换。执行结果是将模型平移至g ,y ,= ) ,即将模型各个顶t l 的坐 标分量分别加 x ,z 。列应于此操作的矩阵函数为: t = 1o o1 00 o 0 0x 0 y 1z 01 ( 2 4 1 ) 旋转变换通过函数v o i dg 】r o t a t e ( t y p ea ,7 f y i ex ,t y p ey ,t y p ez ) 完成。其执行结果是将矢量、一g ,y ,z ) t 逆时针方向旋转。所指定的角度。 、一0 , o ,o ) t 时,绕x 轴旋转:v = ( o ,1 ,0 ) r 时,绕y 轴旋转;v = ( o ,0 ,1 ) r 时,绕 :轴旋转。变换矩阵分别是: r 。= r ,= r := 10 0 c o s ( c r ) 0 s i n ) 00 00 一s i n 缸) 0 c o s ) 0 0l c o s ( a ) 0 一s i n ( a ) 0 0100 s i n ( o e ) 0 s ) 0 00 01 c o s ( d ) 一s i n ( a ) s i n ) c o s ( 口) o 0 0 0 o0 00 10 01 ( 2 4 2 ) ( 2 4 - 3 ) ( 2 44 ) 放缩和镜像函数为v o i dg l s c a l e ( t y p ex ,t y p ey ,t y p ez ) ,参数x ,y ,z 分别指定了沿三个轴的放缩比例。当参数为一1 0 时,表示物体关于对应的 轴线进行镜像。此函数对应的变换矩阵为: s = x0 0v r 00 00 0 0 0 0 z0 0l ( 2 4 - 5 ) 三维空间对象要在二维的屏幕上显示出来,必须要通过投影变化和透视 型竺堕塑三塑尘! 竺塑:塑坚垒 笙二至坚鍪塑型堕堡兰 除法。投影变换和透视除法的目的在于定义观察体 = ,它有两种作用。 首先投影变换确定模型投影到屏幕上的方式,也就是决定采用透视投影 还是币刺投影。其次用透视除法确定模型的那些部分需要从最终得到的 l 到像中裁减掉。投影变换和透视除法在o p e n g l 通过设定投影方式完成。 投影分两种不同的方式,即透

温馨提示

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

评论

0/150

提交评论