999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

OpenGL導(dǎo)入3DS模型模擬服裝試穿

2014-06-27 03:19:12祝雙武蘭振華
西安工程大學(xué)學(xué)報 2014年4期
關(guān)鍵詞:效果模型

呂 珍,謝 倩,祝雙武,蘭振華

(1.西安工程大學(xué) 紡織與材料學(xué)院,陜西 西安 710048; 2.西安工程大學(xué) 服裝與藝術(shù)設(shè)計學(xué)院,陜西 西安 710048; 3.河南省體育彩票管理中心 技術(shù)開發(fā)部,河南 鄭州 450003)

0 引 言

目前,基于二維拓撲空間的服裝CAD技術(shù)已很普遍且基本成熟并趨于穩(wěn)定.相對于二維服裝CAD而言,三維服裝CAD具有立體、直觀、易操作可提供真實的試衣效果等諸多優(yōu)點.進入21世紀以來,三維建模技術(shù)飛速發(fā)展,例如袁銘等人提出的一種古建筑三維建模方法[1]為從現(xiàn)實世界獲取數(shù)據(jù)并進一步在計算機世界進行加工建模提供了依據(jù);古文物藝術(shù)造型的數(shù)字化與虛擬展示[2]、定制化人像產(chǎn)品[3]、皮影人物造型[4]等三維模型的研究均為虛擬三維人體模型的進一步發(fā)展奠定了基礎(chǔ).在織物的三維著裝效果展示方面,有的學(xué)者在幾何造型的基礎(chǔ)上,以明暗處理和紋理映射技術(shù)來實現(xiàn)三維著裝效果的真實感;部分學(xué)者在采用光照紋理進一步實現(xiàn)三維著裝效果的真實感的描繪上進行了有益的探索.從產(chǎn)生的圖像方面分析,能夠較真實地反映二維圖像的三維著裝效果[5],但是紋理重復(fù)的均勻性依賴于構(gòu)造服裝模型的數(shù)據(jù),其稀疏不均也會造成紋理分布不勻.

在利用人臺進行三維服裝展示時,人臺、衣殼曲面的生成是建模的過程,也是三維服裝真實感效果和紋理映射的基礎(chǔ),建模過程為:獲得原始數(shù)據(jù)點并進行預(yù)處理→對數(shù)據(jù)插入,提高精度→構(gòu)造三維模型點云→用Bezier曲面法填充模型[6].

開發(fā)三維服裝CAD系統(tǒng)最基礎(chǔ)的工作是建立三維人體及服裝模型,而人體和服裝形狀為復(fù)雜的曲面,要對其進行較為精確的測量且獲得全面細致的數(shù)據(jù)很困難.目前對于人體模型的獲取方法如:王萍等人采用非接觸式三維人體測量儀獲取人體數(shù)據(jù),并用Excel和Spss軟件對數(shù)據(jù)進行分析[7];劉浩翰等人獲得人體的三維數(shù)據(jù)并利用NURBS進行人體幾何造型[8].人體模型的獲取方法通常有兩種:一種是通過采用三維坐標(biāo)測量儀(或同類其他設(shè)備)測得人體三維數(shù)據(jù)為依據(jù),并利用Bezier曲面或B樣條曲面進行人體的擬合;另一種是以大量測得的人體三維數(shù)據(jù)為依據(jù),利用三角面片對人體曲面進行重構(gòu)[9-10].

本文在分析眾多前人研究的基礎(chǔ)上,找到了一種獲取別人測量數(shù)據(jù)的簡易方法.鑒于3D MAX優(yōu)秀的三維制圖功能且有眾多三維人體模型資源,故可將此類標(biāo)準人體模型文件內(nèi)的有用人體曲面坐標(biāo)信息提取出來,并利用三角面片對人體曲面進行重構(gòu).

1 應(yīng)用技術(shù)分析

1.1 OpenGL技術(shù)和3DS技術(shù)相結(jié)合

OpenGL (開放性圖形庫,Open Graphic Library),是美國高級圖形和高性能計算機系統(tǒng)公司SGI所開發(fā)的三維圖形標(biāo)準庫,具有繪制三維圖形的各項功能.以其為基礎(chǔ)開發(fā)的應(yīng)用程序可以方便地在各個平臺間移植,特別是在三維圖形的功能上非常優(yōu)秀[11-12].然而OpenGL的專長并不是建模,因為OpenGL并沒有提供建立三維模型的高級命令,它是通過基本的幾何圖元點、線及多邊形建立三維立體模型.相比而言,利用3D Studio MAX建立三維立體模型則非常容易,但建立的模型缺乏編程性和可控制性,而這正是OpenGL的優(yōu)勢所在.基于此種情況,用3D Studio MAX建立三維立體模型導(dǎo)出為3DS文件,然后將3DS文件導(dǎo)入用Delphi搭建的CAD軟件平臺,可得到任何三維立體模型.

1.2 3DS的文件結(jié)構(gòu)

根據(jù)3DS文件格式,利用計算機編程,從3DS文件中提取有用的人體曲面的頂點信息,用于接下來的三維人體曲面建模.

3DS文件結(jié)構(gòu)由“塊”組成,塊中又有子塊[13].每個塊是一個層次結(jié)構(gòu),3DS文件有一個主塊,ID是0x4D4D,這個塊是3DS文件的開始(可以用它來鑒定該文件是否為一個3DS文件),在開始塊后面是主要塊,主體內(nèi)容為塊數(shù)據(jù)信息.每個3DS文件都包括一個塊ID是“0x4D4D”的基本塊.基本塊是在3DS文件中必須存在的,也可用于檢測一個文件是不是3DS文件,它由ID為“0x3D3D”的編輯塊和ID為“0XB000”的關(guān)鍵幀塊組成.3DS主要的幾個塊的ID及信息,如表1所示.

表1 3DS模型文件中幾個主要的塊ID及信息

1.3 3DS文件的讀取

本文首先把所需塊的ID定義為常量以便后續(xù)使用.

const

M3DMAGIC=$4D4D; //文件的開始

MDATA=$3D3D; //所有目標(biāo)信息

KFDATA=$B000; //繪制框架,為MDATA定義

MAT-ENTRY=$AFFF; //材質(zhì)信息開始

NAMED-OBJECT=$4000; //目標(biāo)的相關(guān)數(shù)據(jù)(點、面…)

//對于MAT-ENTRY的定義

MAT-NAME=$A000; //材質(zhì)名稱

MAT-AMBIENT=$A010; //環(huán)境反射

MAT-DIFFUSE=$A020; //漫反射

MAT-SPECULAR=$A030; //鏡面反射

MAT-SHININESS=$A040; //光源設(shè)定

MAT-TEXMAP=$A200; //紋理信息

MAT-MAPNAME=$A300; //材質(zhì)紋理文件名

N-TRI-OBJECT=$4100; //對于每個目標(biāo)的定義

POINT-ARRAY=$4110; //對象中定點信息

FACE-ARRAY=$4120; //對象中三角面信息

MSH-MAT-GROUP=$4130; //與三角面相關(guān)的材質(zhì)信息

TEX-VERTS=$4140; //紋理坐標(biāo)

基于以上所分析的3DS文件的結(jié)構(gòu),本文根據(jù)面向?qū)ο蟮木幊趟枷?設(shè)計了T3DObject類、Tchunk類、TMaterial類、T3DModel類等4類來實現(xiàn)3DS模型的讀取與重建.

在完成了3DS文件的讀取工作之后,根據(jù)讀入的各個頂點及其法向量,利用大量的三角面片來構(gòu)造出人體和服裝模型.關(guān)鍵算法為:

glBegin(GL_TRIANGLES);//通過參數(shù)GL-TRIANGLES繪制三角形

for F:=0 to FaceCount-1 do//將FaceCount所存各三角形頂點繪制,F為三角形個數(shù)

//頂點的遍歷

for iVertex:=0 to 2 do//iVertex為每個三角形頂點;訪問三角形三個點

begin

PointIndex:=Faces[F].VertIndex[iVertex];//找到每個點的索引號

glNormal3f(Normals[PointIndex].X,Normals[PointIndex].Y, Normals[PointIndex].Z);

//設(shè)置三角面的法向量,為畫三角形準備

glVertex3f(Verts[PointIndex].X, Verts[PointIndex].Y, Verts[PointIndex].Z);

//設(shè)置三角形其中一個頂點的坐標(biāo)

end;

glEnd;

2 對三維模型進行交互控制

3DS的特長是三維建模,OpenGL的優(yōu)勢則在于對三維模型進行交互控制和變化.根據(jù)三維圖形的幾何變換理論,OpenGL提供對三維對象在三維空間進行變化的庫函數(shù)[14].

當(dāng)矩陣初始化glLoadIdentity()后,調(diào)用OpenGL提供的glTranslatef()函數(shù)作視點變換.Void glTranslate{f,d}(TYPE x,TYPE y,TYPE z),函數(shù)參數(shù)(x,y,z)表示視點在視點坐標(biāo)系中移動的位置.根據(jù)三維圖形的幾何變換理論,OpenGL提供對三維對象進行空間變化的庫函數(shù).由參數(shù)x,y,z定義了一個矩陣,該矩陣與當(dāng)前矩陣相乘,這樣的結(jié)果使物體在3個坐標(biāo)軸上發(fā)生平移,平移的距離大小為x,y,z(或以相同的量移動局部坐標(biāo)系).

當(dāng)前矩陣乘以某一個矩陣,該矩陣使得一個物體(或局部坐標(biāo)系)繞一條從原點到點(x,y,z)的線,沿逆時針方向旋轉(zhuǎn).參數(shù)angle給出旋轉(zhuǎn)的角度值,旋轉(zhuǎn)函數(shù)為:Void glRotate{f,d}(TYPE angle,TYPE x,TYPE y,TYPE z);

函數(shù)Void glScale{f,d}(TYPE x,TYPE y,TYPE z)定義了一個矩陣,與當(dāng)前矩陣相乘,使得物體沿坐標(biāo)軸拉伸、縮短以及相對于坐標(biāo)軸做鏡面反射.

這些函數(shù)可以使得到的三維人體模型在三維空間中作任意的變化,方便于服裝設(shè)計者從多個角度來觀察人體,如圖1所示.

圖1 不同角度觀察服裝人體模型

3 利用紋理映射技術(shù)模擬不同面料

紋理分為顏色紋理和幾何紋理兩種類型.生成顏色紋理的一般方法是在平面區(qū)域(即紋理空間)上預(yù)定義紋理圖案,然后建立物體表面的點與紋理空間的點的對應(yīng)關(guān)系(即映射).當(dāng)物體表面的可見點確定以后,以紋理空間的對應(yīng)點的值乘以亮度值,就可以把紋理圖案附著在物體表面.也可以用類似的方法讓物體表面產(chǎn)生凹凸不平的凸包紋理.不過這時的紋理作用在法向量上,而不是作用于顏色亮度.在織物所形成的服裝表面,應(yīng)該說兩種紋理都存在,但是顏色紋理占主要地位.

在紡織品中,大多織物具有印花圖案或織物紋理.只有把這種印花圖案和織物紋理模擬出來,才能更好地體現(xiàn)織物的性質(zhì)和穿著效果.可以通過紋理映射技術(shù)將織物圖案映射到服裝模型的表面,由此可以實現(xiàn)任意更換面料的目的,達到織物三維著裝的仿真效果.

理論上,紋理映射的計算過程如下:(1)紋理圖像的選取與預(yù)處理;(2)紋理映射三維曲面的建模;(3)確定紋理映射的方法和對應(yīng)關(guān)系,包括反走樣處理;(4)二維圖像向三維曲面映射;(5)透視變換顯示.

在服裝曲面上實現(xiàn)圖案紋理效果,實質(zhì)上就是織物圖案在物體表面上的映射.首先根據(jù)紋理圖案和物體的邊界定義,確定一個映射函數(shù),然后使用逆向映射將圖案映射到服裝曲面空間.先將紋理圖案空間點通過投影逆變換成服裝曲面上的點,參數(shù)化成實際坐標(biāo)(x,y,z),再利用映射函數(shù)求出相應(yīng)的紋理元素的光亮度值作為該圖像元素的明暗值,這實際上是一個坐標(biāo)轉(zhuǎn)化的過程.

要實現(xiàn)不同面料在服裝上的模擬,只需將各種面料作為紋理圖案映射到服裝曲面上.在程序中進行服裝曲面的三角面片模擬之前用OpenGL所提供的紋理映射函數(shù)綁定所選定的面料圖片作為紋理圖案,即可實現(xiàn)同一服裝的不同面料的模擬效果,具體效果如圖2所示.

圖2 不同面料展示模擬

4 結(jié)束語

本文將3D Studio MAX技術(shù)、OpenGL軟件與Delphi語言結(jié)合起來,兼用三者之長,將從3DS中提取的人體數(shù)據(jù)模型導(dǎo)入Delphi中,進一步將人體與服裝結(jié)合達到量體裁衣的目的,對于特殊群體通過建立人體模型也可得出適合其體型的服裝,最終在OpenGL中展示著裝效果.整個建模過程無需繁瑣的手工繪制及大量計算,更加智能化地從多角度觀察不同材質(zhì)的著裝效果.該方法不僅可以應(yīng)用在服裝CAD方面,還可以應(yīng)用到系統(tǒng)仿真、產(chǎn)品設(shè)計、工程分析、虛擬現(xiàn)實、大型游戲開發(fā)過程中的場景設(shè)計以及科學(xué)計算的可視化等各個方面.

參考文獻:

[1] 袁銘,王建輝,周醉,等.一種古建筑三維建模方法——以蘇州虎丘塔為例[J].蘇州科技學(xué)院學(xué)報:工程技術(shù)版,2009,22(1):43-47.

[2] 張靜,許潔.古文物藝術(shù)造型的數(shù)字化與虛擬展示[J].西安工程大學(xué)學(xué)報,2011,25(6):835-837.

[3] 王名亮.定制化人像產(chǎn)品三維建模知識庫技術(shù)研究及應(yīng)用[D].重慶:重慶大學(xué),2013.

[4] 單超杰.皮影人物造型與三維建模技術(shù)結(jié)合的創(chuàng)新研究[D].上海:東華大學(xué),2013.

[5] 張瑞云.用紋理映射技術(shù)實現(xiàn)三維著裝效果展示[J].中國紡織大學(xué)學(xué)報,2000(4):53-56.

[6] 吳夢熊,胡建鵬,耿兆豐,等.紋理映射技術(shù)在三維虛擬服裝模擬中的應(yīng)用與實現(xiàn)[J].東華大學(xué)學(xué)報:自然科學(xué)版,2008,34(4):445-448.

[7] 王萍,張秀.基于三維人體測量的蘇南地區(qū)青年女性體型特征[J].西安工程大學(xué)學(xué)報,2012,26(3):313-316.

[8] 劉浩翰,唐好選.人體的幾何造型[J]. 中國民航學(xué)院學(xué)報,2003,21(增刊2):173-175.

[9] 李勇,胡敏,付小莉.三維人體建模方法的研究[J].紡織學(xué)報,2002,23(5):80-82.

[10] 馮毅力,李汝勤.人體模型的三維數(shù)據(jù)拾取和服裝曲面的生成[J].紡織學(xué)報,2004,25(6):47-48.

[11] 楊東梅,朱勝緣,路偉成,等.OpenGL與3D Studio MAX結(jié)合實現(xiàn)三維仿真[J].應(yīng)用科技,2004,31(2):33-35.

[12] WOO Mason,NEIDERF J,DAVIS Tom,et al.OpenGL編程權(quán)威指南[M].吳文武,段海波,薛風(fēng)武,譯.2版.北京:中國電力出版社,2001:1-2.

[13] 和平鴿工作室.OpenGL高級編程與可視化系統(tǒng)開發(fā)[M].北京:中國水利水電出版社,2003:74-81.

[14] FRANCIS S Hill J R,STEPHEN M Kelley.計算機圖形學(xué)(OpenGL版)(影印版)[M].胡事民,劉利利,劉永進,等譯.北京出版社,2010:258-277.

猜你喜歡
效果模型
一半模型
按摩效果確有理論依據(jù)
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
3D打印中的模型分割與打包
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
3D—DSA與3D—CTA成像在顱內(nèi)動脈瘤早期診斷中的應(yīng)用效果比較
主站蜘蛛池模板: 国产又爽又黄无遮挡免费观看| 台湾AV国片精品女同性| 久久久久亚洲AV成人网站软件| 国产欧美专区在线观看| 男女性午夜福利网站| 欧美a级在线| 国产九九精品视频| 国产高清在线观看91精品| 色综合天天视频在线观看| 国产欧美日韩va另类在线播放| 国产99视频免费精品是看6| 久久中文字幕2021精品| 国产精女同一区二区三区久| 婷婷综合色| 日韩在线永久免费播放| 欧美亚洲日韩不卡在线在线观看| 国产素人在线| 精品国产免费人成在线观看| 97久久精品人人| 亚洲国产综合精品中文第一| 亚洲第一成年网| 国产乱人伦AV在线A| 色天天综合| 国产第八页| 福利一区在线| 久草视频中文| 秋霞国产在线| 日韩av在线直播| 国产H片无码不卡在线视频| 久操中文在线| 国产免费精彩视频| 亚洲男人的天堂网| 久久精品人人做人人综合试看| 色播五月婷婷| 人人艹人人爽| 无码在线激情片| 91精品啪在线观看国产91| 精品国产自在现线看久久| 国产Av无码精品色午夜| 无码中文AⅤ在线观看| 国产成人福利在线视老湿机| 国产后式a一视频| 蜜桃视频一区二区三区| 69国产精品视频免费| 又爽又黄又无遮挡网站| 日本伊人色综合网| 中文字幕日韩久久综合影院| 国产美女自慰在线观看| 成人欧美在线观看| 欧美日本在线观看| 久久性妇女精品免费| 欧美一级专区免费大片| 爆乳熟妇一区二区三区| 免费在线色| 欧美亚洲国产日韩电影在线| 色综合色国产热无码一| 亚洲天堂成人在线观看| yjizz视频最新网站在线| 日韩激情成人| 2021国产v亚洲v天堂无码| 日a本亚洲中文在线观看| 91无码网站| 国产一级在线观看www色| 亚洲首页国产精品丝袜| 91久久偷偷做嫩草影院精品| 亚洲中文字幕日产无码2021| 中文字幕久久精品波多野结| 亚洲va视频| 欧美日韩第三页| 国产又粗又猛又爽视频| 国产精品污污在线观看网站| 亚洲精品无码日韩国产不卡| 欧美精品成人| 九九香蕉视频| 日韩一级二级三级| 成人小视频网| 午夜福利亚洲精品| 91免费精品国偷自产在线在线| 亚洲精品制服丝袜二区| 国产精品人莉莉成在线播放| 在线观看亚洲国产| 亚洲欧美成aⅴ人在线观看|