版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 論 文(設(shè)計(jì))</p><p> 題 目: 基于Java 3D的復(fù)雜曲面創(chuàng)意設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 三維復(fù)雜曲面造型技術(shù)主要是研究在計(jì)算機(jī)圖像系統(tǒng)的環(huán)境下對曲面的表示、設(shè)計(jì)、顯示和分析。在設(shè)計(jì)中,往往給出的型值點(diǎn)以及由此產(chǎn)生的樣條曲線有時(shí)不能滿足美觀上的
2、要求。該設(shè)計(jì)模型中采用了復(fù)雜曲線Bezier提出的參數(shù)曲線表示方法,即Bezier曲線。在此基礎(chǔ)上生成Bezier曲面,并進(jìn)行拼接生成復(fù)雜曲面。</p><p> 本文主要著眼于3D曲面技術(shù)的實(shí)現(xiàn)與應(yīng)用,并完成基于Java 3D實(shí)現(xiàn)復(fù)雜曲面造型,多曲面拼接,3D坐標(biāo)變換技術(shù)和3D紋理映射。通過利用Bezier曲面的設(shè)計(jì)和拼接技術(shù),實(shí)現(xiàn)鳥巢和五環(huán)的外形塑造和模擬運(yùn)動效果。首先,定義了16*27個控制頂點(diǎn),來控制2
3、7個Bezier曲面的形狀,將曲面拼接生成鳥巢和五環(huán)造型。 其中,在定義相鄰兩個曲面的控制頂點(diǎn)時(shí),對曲面保持G0連續(xù),將相鄰兩個曲面進(jìn)行拼接。然后,把所定義的其中19個Bezier曲面全部拼接,形成五環(huán),同時(shí)把8個Bezier曲面全部拼接,形成鳥巢。然后運(yùn)用Alpha類和插值器PositionInterpolator類實(shí)現(xiàn)運(yùn)動效果,最后生成3D場景。 </p><p> 本文重點(diǎn)研究三維復(fù)雜曲面造型,并完成基于
4、Java 3D技術(shù)實(shí)現(xiàn)鳥巢和五環(huán)外形設(shè)計(jì)。其目的是對三維復(fù)雜曲面造型的實(shí)現(xiàn),本文編寫的Java 3D程序成功地通過了編譯和運(yùn)行過程,最后顯示結(jié)果,成功的應(yīng)用JAVA及JAVA 3D完成了鳥巢和五環(huán)的造型設(shè)計(jì)和展示效果。</p><p> 關(guān)鍵字:計(jì)算機(jī)圖形學(xué);Java 3D;復(fù)雜曲面;Bezier曲面;鳥巢和五環(huán);</p><p><b> Abstract</b>
5、;</p><p> Three-dimensional complex surface modeling techniques is to study the environment in the computer graphics system that under the surface, design, display and analysis.In the design, are often give
6、n data points and the resulting spline curve sometimes can not meet the esthetic requirements.The design model using the parameters of complex curve Bezier curves proposed method, which Bezier curve.On this basis, genera
7、ted Bezier surfaces and complex surfaces generated by splicing.</p><p> This article focuses on the realization of 3D surface technology and applications, and complete based on Java 3D surface modeling of c
8、omplex, multi-surface blending, 3D technology and 3D coordinate transformation, texture mapping.Bezier surfaces through the use of the design and stitching technology, the shape of the nest and the rings to shape and mot
9、ion simulation results.First, the definition of 16 * 27 control points to control the shape of 27 Bezier surfaces, the blending surface generation</p><p> This paper focuses on complex three-dimensional sur
10、face modeling, and complete technology based on Java 3D shape of the nest and the rings design.The aim is to achieve three-dimensional complex surface modeling, this article written in Java 3D programs successfully compi
11、le and run through the process, and finally display the results, successful application of JAVA and JAVA 3D completed the nest and the design of rings and the display.</p><p> Keywords: computer graphics; J
12、ava 3D; complex surface; Bezier surface; </p><p> Bird's Nest and the rings</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1計(jì)算
13、機(jī)圖形技術(shù)的發(fā)展與應(yīng)用1</p><p> 1.2 Java3D技術(shù)的簡介1</p><p> 1.3 Java3D與其他三維技術(shù)的比較2</p><p> 1.4 Java3D的場景圖結(jié)構(gòu)3</p><p> 1.5 Java 3D的場景式組織4</p><p> 2 Java 3D基本圖形元素
14、5</p><p> 2.1Java 3D的虛擬場景空間設(shè)計(jì)5</p><p> 2.2 Java 3D的坐標(biāo)系統(tǒng)7</p><p> 2.3 場景(Locale)7</p><p> 2.4 Java 3D的點(diǎn)、線繪制8</p><p> 2.4.1 GeometryArray類8</p&g
15、t;<p> 2.4.2點(diǎn)的生成10</p><p> 2.4.3線的生成10</p><p> 2.4.4 Java 3D程序Shape 3D類對象中幾何元素的定義11</p><p> 2.5 Appearance類12</p><p> 2.6 Material類13</p><p&
16、gt; 2.7 Light類13</p><p><b> 3 基本形體14</b></p><p> 3.1長方體Box類14</p><p> 3.2圓柱體Cylinder類14</p><p> 3.3圓錐體Cone類14</p><p> 3.4球體Sphere類1
17、4</p><p><b> 4 坐標(biāo)變換14</b></p><p> 4.1Transform3D類14</p><p> 4.2 TransformGroup類與Transform3D類之間的關(guān)系15</p><p> 5 動畫編程基礎(chǔ)介紹16</p><p> 5.1鼠標(biāo)
18、交互16</p><p> 5.2鍵盤交互16</p><p> 5.3 Alpha16</p><p> 5.4自定義行為17</p><p> 5.5 Morph類18</p><p> 6 Bezier曲線介紹18</p><p><b> 7 開發(fā)環(huán)境
19、20</b></p><p> 8 創(chuàng)意設(shè)計(jì)應(yīng)用21</p><p> 8.1創(chuàng)意設(shè)計(jì)內(nèi)容簡介21</p><p> 8.2曲面設(shè)計(jì)五環(huán)和鳥巢21</p><p><b> 8.3文字24</b></p><p> 8.4主類Main.java26</p>
20、;<p><b> 9 總結(jié)30</b></p><p><b> 致 謝30</b></p><p><b> 參考文獻(xiàn)31</b></p><p><b> 1 緒論</b></p><p> 1.1計(jì)算機(jī)圖形技術(shù)的發(fā)
21、展與應(yīng)用</p><p> 計(jì)算機(jī)圖形學(xué)是研究如何用計(jì)算機(jī)表示、生成、處理和顯示圖形的一門學(xué)科。計(jì)算機(jī)圖形學(xué)包括計(jì)算機(jī)圖形處理與計(jì)算機(jī)圖像處理。計(jì)算機(jī)圖形處理主要研究三維空間型體二維空間幾何圖形的表示與顯示技術(shù),包括幾何模型的計(jì)算機(jī)表示、幾何模型的坐標(biāo)變換與顯示等。</p><p> 高級語言從C語言、C++語言發(fā)展到Java語言,計(jì)算機(jī)圖形系統(tǒng)的開發(fā)平臺也從早期的GKS、PHIGS等
22、發(fā)展到OpenGL等,在發(fā)展到現(xiàn)在的Java 3D等。在早期的圖形系統(tǒng)開發(fā)平臺上,對幾何元素的管理采用圖層或圖段的方式,絕大多數(shù)的算法都需要程序設(shè)計(jì)人員用高級語言編寫,而Java 3D集成了底層的圖形庫OpenGL與DirectX功能,對幾何形體采用場景式管理。</p><p> 計(jì)算機(jī)圖形學(xué)廣泛應(yīng)用于以下領(lǐng)域:計(jì)算機(jī)輔助設(shè)計(jì)與制造、地形地貌與自然資源圖、計(jì)算機(jī)動畫、廣告制作與藝術(shù)、科學(xué)計(jì)算可視化、虛擬現(xiàn)實(shí)技術(shù)
23、以及游戲開發(fā)等。</p><p> Java 3D封裝了底層的圖形庫OpenGL與DirectX等功能,并且Java語言對網(wǎng)絡(luò)應(yīng)用有很好的支持,因此Java 3D也是適合開發(fā)網(wǎng)絡(luò)游戲的三維圖形系統(tǒng)。</p><p> 1.2 Java3D技術(shù)的簡介</p><p> 1997年,SUN公司繼Java之后有推出了適用于Internet環(huán)境的跨平臺三維圖形開發(fā)工具
24、包Java 3D。Java 3D是Java 2 SDK的標(biāo)準(zhǔn)擴(kuò)展,它對底層的圖形庫OpenGL與DirectX進(jìn)行了封裝。Java本身具有的強(qiáng)大網(wǎng)絡(luò)功能通過瀏覽器在Internet上顯示。目前Java 3D以廣泛應(yīng)用于科學(xué)計(jì)算可視化、機(jī)械設(shè)計(jì)、地理信息、動畫制作、醫(yī)學(xué)三維重建、教育等領(lǐng)域。Java 3D的功能與可編程性得到進(jìn)一步擴(kuò)展,并且Java 3D與Java一樣,一次編程可跨平臺運(yùn)行。用Java 3D生成的代碼具有可傳輸性,即從服務(wù)
25、器端到客戶端傳輸?shù)氖巧扇S圖像的程序與數(shù)據(jù),而不是圖像本身。這樣,就可大大減少網(wǎng)絡(luò)傳輸數(shù)據(jù)量??蛻舳藦姆?wù)器端下載相應(yīng)的Applet,由Java 3D運(yùn)行環(huán)境解釋運(yùn)行,并在執(zhí)行過程中不斷從服務(wù)器端獲取控制圖像變換的數(shù)據(jù),可生成動態(tài)的三維圖形。</p><p> Java 3D也是一個交互式三維圖形應(yīng)用編程接口API。與Java 2D、AWT、Swing包等的功能相互補(bǔ)充。Java 3D也集成了Java API
26、的功能,如圖像處理、文字顯示與處理、繪制二維圖形、交互式用戶界面設(shè)計(jì)等。</p><p> Java 3D能夠?qū)鼍暗目梢暬M(jìn)行并行計(jì)算與優(yōu)化,能夠自動應(yīng)用計(jì)算機(jī)硬件的加速功能,并且提高圖形顯示的效率,能夠?qū)鼍斑M(jìn)行預(yù)編譯。</p><p> Java3D用其自己定義的場景圖和觀察模式等技術(shù)構(gòu)造了3D的上層結(jié)構(gòu),實(shí)現(xiàn)了在Java平臺使用三維技術(shù)。本章將介紹Java3D特有的兩個重要概念
27、:場景圖(Scene Graph)、觀察模式(View Model)。在接口使用上的介紹分為兩部分:說明如何使用Java3D接口;說明如何將Java3D技術(shù)與Java原有的Web技術(shù)(JSP、Serverlet)相結(jié)合,在網(wǎng)頁上實(shí)現(xiàn)三維顯示。</p><p> Java3D API是Sun定義的用于實(shí)現(xiàn)3D顯示的接口。3D技術(shù)是底層的顯示技術(shù),Java3D提供了基于Java的上層接口。Java3D把OpenGL
28、和DirectX這些底層技術(shù)包裝在Java接口中。這種全新的設(shè)計(jì)使3D技術(shù)變得不再繁瑣并且可以加入到J2SE、J2EE的整套架構(gòu),這些特性保證了Java3D技術(shù)強(qiáng)大的擴(kuò)展性。 </p><p> JAVA3D建立在JAVA2(JAVA1.2)基礎(chǔ)之上,JAVA語言的簡單性使JAVA3D的推廣有了可能。它實(shí)現(xiàn)了以下三維顯示能夠用到的功能: </p><p> 1. 生成簡單或復(fù)雜的形體(
29、也可以調(diào)用現(xiàn)有的三維形體) </p><p> 2. 使形體具有顏色、透明效果、貼圖 </p><p> 3. 在三維環(huán)境中生成燈光、移動燈光</p><p> 4. 具有行為的處理判斷能力(鍵盤、鼠標(biāo)、定時(shí)等) </p><p> 5. 生成霧、背景、聲音</p><p> 6. 使形體變形、移動、生成三維
30、動畫</p><p> 7. 編寫非常復(fù)雜的應(yīng)用程序,用于各種領(lǐng)域如VR(虛擬現(xiàn)實(shí))</p><p> 1.3 Java3D與其他三維技術(shù)的比較</p><p> JAVA3D可應(yīng)用在三維動畫、三維游戲、機(jī)械CAD等多個領(lǐng)域。但作為三維顯示實(shí)現(xiàn)技術(shù),它并不是唯一選擇而且是一個新面孔。在Java3D之前已經(jīng)存在很多三維技術(shù),這些三維技術(shù)在實(shí)現(xiàn)的技術(shù)、使用的語言以
31、及適用的情況上各有不同,我主要介紹與Java3D又密切關(guān)系的三種技術(shù):OpenGL、DIRECT3D、VRML </p><p><b> OpenGL</b></p><p> OpenGL是業(yè)界最為流行也是支持最廣泛的一個底層3D技術(shù),幾乎所有的顯卡廠商都在底層實(shí)現(xiàn)了對OpenGL的支持和優(yōu)化。OpenGL同時(shí)也定義了一系列接口用于編程實(shí)現(xiàn)三維應(yīng)用程序,但是這
32、些接口使用C(C++)語言實(shí)現(xiàn)并且很復(fù)雜。掌握針對OpenGL的編程技術(shù)需要花費(fèi)大量時(shí)間精力。 </p><p><b> DIRECT3D</b></p><p> DIRECT3D是Microsoft公司推出的三維圖形編程API,它主要應(yīng)用于三維游戲的編程。眾多優(yōu)秀的三維游戲都是由這個接口實(shí)現(xiàn)。與OpenGL一樣,Direct3D的實(shí)現(xiàn)主要使用C++語言。&l
33、t;/p><p> VRML2.0(VRML97)</p><p> 自1997年12月正式成為國際標(biāo)準(zhǔn)之后,在網(wǎng)絡(luò)上得到了廣泛的應(yīng)用,這是一種比BASIC、JAVASCRIPT等還要簡單的語言。腳本化的語句可以編寫三維動畫片、三維游戲、計(jì)算機(jī)三維輔助教學(xué)。它最大的優(yōu)勢在于可以嵌在網(wǎng)頁中顯示,但這種簡單的語言功能較弱(如目前沒有形體之間的碰撞檢查功能),與JAVA語言等其它高級語言的連接較
34、難掌握,因而逐漸被淹沒在競爭激烈的網(wǎng)絡(luò)三維技術(shù)中。 </p><p> 1.4 Java3D的場景圖結(jié)構(gòu)</p><p> Java3D實(shí)際上是Java語言在三維圖形領(lǐng)域的擴(kuò)展,與Java一樣,Java3D有純粹的面向?qū)ο蠼Y(jié)構(gòu)。Java3D的數(shù)據(jù)結(jié)構(gòu)采用的是Scene Graphs Structure(場景圖),就是一些具有方向性的不對稱圖形組成的樹狀結(jié)構(gòu)(圖1)。 </p>
35、;<p> 實(shí)際由Java3D定義的一系列的對象,這些對象不是雜亂無序,對象之間也不是毫無關(guān)系。如果想讓三維圖像正常顯示,必須在這兩點(diǎn)上遵循Java3D場景圖的規(guī)定。觀察圖1,Java3D場景圖的樹結(jié)構(gòu)由各種各樣的對象組成:</p><p> 1.5 Java 3D的場景式組織</p><p> 在Java 3D中,將場景中的所有元素組織在一起,形成虛擬的整體,這個整體
36、就稱為Java 3D的一個虛擬場景或虛擬世界空間。在這個虛擬場景中包括了幾何體的定義信息、光源及其位置與方向、視點(diǎn)的位置與觀察方向、幾何體的顏色、材質(zhì)、透明度等屬性、場景中的聲音等元素。</p><p> Java語言是以類、父類、子類、對象等方式組織一個軟件中的相關(guān)功能,Java 3D是對Java語言功能的擴(kuò)展,同樣通過類、父類、子類、對象等方式組織一個場景。因此,Java 3D場景中的功能與組織結(jié)構(gòu)條理清楚
37、,也是一個倒立的樹狀結(jié)構(gòu),每個子類同樣只具有一個父類,符合面向?qū)ο蠹夹g(shù)的思想。</p><p> 2 Java 3D基本圖形元素</p><p> 2.1Java 3D的虛擬場景空間設(shè)計(jì)</p><p> Java 3D是一種面向?qū)ο蟮腁PI。通過場景圖來管理場景中的各種圖形元素。場景圖是一個樹狀結(jié)構(gòu),在該樹狀結(jié)構(gòu)的各級節(jié)點(diǎn)表示該場景中的各種圖形元素。將由各種
38、圖形元素形成的一個場景的整體稱為一個虛擬空間。在這個虛擬空間中的圖形元素包括:幾何體的定義數(shù)據(jù),幾何體顯示時(shí)的顏色、材質(zhì)、透明度等屬性,背景顏色,光線類型,場景的作用范圍,視點(diǎn)、投影面即投影類型,對幾何體的坐標(biāo)變換等。</p><p> Java 3D虛擬場景空間的一般結(jié)構(gòu)如圖1所示。圖中實(shí)線表示父子關(guān)系,虛線表示引用關(guān)系。</p><p> 圖1 Java 3D虛擬場景空間結(jié)構(gòu)圖&l
39、t;/p><p> Java 3D與Java一樣對各種功能的組織同樣采用父類、子類、對象實(shí)例的方式。Java 3D中規(guī)定了在一個虛擬場景空間中各種圖形元素的表示符號及虛擬場景空間的組織結(jié)構(gòu)。在一個虛擬空間中可以包含多個Local節(jié)點(diǎn)。一個Local節(jié)點(diǎn)表示一個子場景的根節(jié)點(diǎn)。多個Local節(jié)點(diǎn)表示在該虛擬場景中有多個場景的根節(jié)點(diǎn)。但是,在實(shí)際應(yīng)用中最常使用的是在一個虛擬空間中只包含一個子場景,也就是只包含一個Loc
40、al節(jié)點(diǎn)。在一個Local節(jié)點(diǎn)之下,可包含一到多個Branch Group節(jié)點(diǎn)。每個Branch Group節(jié)點(diǎn)表示一種圖形元素的集合。這種圖形元素的集合主要有倆種:(1)定義幾何體的數(shù)據(jù)與定義該幾何體的顏色、材質(zhì)、透明度等外觀屬性;(2)定義該幾何體在顯示的時(shí)候在該場景中的其他元素,如背景顏色、光源類型、光源顏色、視點(diǎn)位置與觀察方向、投影平面的位置、坐標(biāo)變換等。在實(shí)際應(yīng)用中,最常用的是一個Local節(jié)點(diǎn)下只含有一個Branch Gro
41、up節(jié)點(diǎn),</p><p> 在一個Local節(jié)點(diǎn)下只含有一個Branch Group節(jié)點(diǎn)情況下,必須定義一個Shape 3D對象,在該對象中定義幾何體的數(shù)據(jù)與幾何體的顏色、材質(zhì)、透明度等外觀顯示特性,該Shape 3D對象一般加入在一個Transform Group類節(jié)點(diǎn)中。在一個Branch Group節(jié)點(diǎn)之下,可包含多個Transform Group節(jié)點(diǎn)。每個Transform Group節(jié)點(diǎn)表示一種即包
42、含有幾何元素定義,有包含有坐標(biāo)變換的節(jié)點(diǎn)。每個Transform Group可包含一種或多種幾何體的定義,也可不包含有幾何體的定義信息。但是一個Transform Group節(jié)點(diǎn)必須包含一個或多個Transform3D對象,表示對Transform Group節(jié)點(diǎn)中定義的幾何體所進(jìn)行的坐標(biāo)變換。一個Transform3D對象表示對幾何體進(jìn)行旋轉(zhuǎn)、平移和變比等坐標(biāo)變換中的一種,多個Transform3D對象的組合形成一個總的坐標(biāo)變換矩陣,
43、這個總的坐標(biāo)變換矩陣就屬于包含這些Transform3D對象的Transform Group節(jié)點(diǎn)。如果該Transform Group節(jié)點(diǎn)中沒有定義幾何體,則這種坐標(biāo)變換是針對</p><p> 2.2 Java 3D的坐標(biāo)系統(tǒng) </p><p> Java 3D中用的是顯示器坐標(biāo)系,顯示的物體是在觀察坐標(biāo)系的投影平面上三維物體的投影。在Java 3D中,幾何體定義也采用該坐標(biāo)系,所有
44、的坐標(biāo)變換也是針對該坐標(biāo)系的。O表示坐標(biāo)原點(diǎn),在顯示器的正中間。Z軸指向屏幕之外,也就是指向觀察者。X軸的正向沿水平方向向右,Y軸的正向沿垂直方向向上。觀察(圖2)</p><p> ?。▓D2.2)Java 3D 中所采用的而坐標(biāo)系</p><p> 2.3 場景(Locale) </p><p> 構(gòu)造一個三維場景,程序員必須運(yùn)行一個Java 3D程序。這個
45、Java 3D應(yīng)用程序必須首先創(chuàng)建一個虛擬宇宙對象并且至少把一個Locale對象附加之上。然后,構(gòu)建出需要的場景圖像,它由一個分支組結(jié)點(diǎn)開始并且包括至少一個觀察平臺對象,而場景圖就是附加于這個觀察平臺。當(dāng)一個包含場景圖的觀察對象被附加于一個虛擬宇宙,Java 3D的渲染循環(huán)就開始工作。這樣,場景就會和它的觀察對象一起被繪制在畫布上。</p><p> Java 3D虛擬空間的創(chuàng)建過程框圖如下:</p>
46、;<p> 2.4 Java 3D的點(diǎn)、線繪制</p><p> 2.4.1 GeometryArray類</p><p> Java 3D最優(yōu)秀的特點(diǎn)就是通過數(shù)組方式對各種幾何元素進(jìn)行定義,并且通過類的方式對各種幾何圖形元素進(jìn)行定義與管理,這是面向?qū)ο蟮脑O(shè)計(jì)思想的體現(xiàn)。</p><p> GeometryArray類是一個抽象類。定義點(diǎn)、線的
47、數(shù)組類PointArray類、LineArray類都是該類的子類。GeometryArray類包含有位置坐標(biāo)數(shù)組、顏色數(shù)組、法向量數(shù)組、紋理坐標(biāo)數(shù)組和定點(diǎn)屬性數(shù)組。所有的顏色值必須在0.0~1.0,所有的法向量都必須是單位向量。</p><p> public GeometryArray(int vertexCount,int vertexFormat)構(gòu)造函數(shù):通過給定的定點(diǎn)數(shù)和定點(diǎn)格式創(chuàng)建一個空的Geome
48、tryArray類的對象。</p><p> vertexCount:在GeometryArray中表示幾何體所包含的定點(diǎn)數(shù)。</p><p> vertexFormat:表示這些定點(diǎn)的格式,是一個多選項(xiàng)。其中,(1)COORDINATES:表示在該GeometryArray數(shù)組中包含點(diǎn)的坐標(biāo),并且該項(xiàng)是一個必選項(xiàng);(2)NORMALS:表示包含每個頂點(diǎn)的法向量;(3)COLOR_3或
49、COLOR_4:表示每個頂點(diǎn)顏色,COLOR_3表示沒有Alpha信息,也就是指頂點(diǎn)數(shù)組包括沒有透明度的顏色;COLOR_4表示有Alpha信息,也就是指定點(diǎn)數(shù)組包括含有透明度顏色;當(dāng)不指定COLOR_3或COLOR_4頂點(diǎn)格式顏色是,則GeometryArray對象中的每個頂點(diǎn)的默認(rèn)顏色都是白色;當(dāng)指定了COLOR_3或COLOR_4頂點(diǎn)格式顏色,則GeometryArray對象中的每個頂點(diǎn)的默認(rèn)顏色都是黑色;(4)TEXTURE_C
50、OORDINATE_2,TEXTURE_COORDINATE_3或TEXTURE_COORDINATE_4:分別表示每個頂點(diǎn)的2D、3D或4D紋理坐標(biāo)。</p><p> GeometryArray類中定義了多種方法,這些方法用來向GeometryArray類的對象中增加幾何元素。</p><p> setCoordinate、setCoordinates方法</p>&
51、lt;p> 用setCoordinate(int index,float[] coordinate)方法:改變一個點(diǎn)的三個坐標(biāo)值,index為點(diǎn)的編號。float[] coordinate是一個一維數(shù)組,分別表示一個點(diǎn)的x、y和z坐標(biāo),也就是coordinate[0]、coordinate[1] 、coordinate[2]分別表示該點(diǎn)的x、y和z坐標(biāo)值。</p><p> Point3f是javax.
52、vecmath.Tuple3f包中定義的一個類,用該類的構(gòu)造函數(shù)Point3f(float x,float y,float z)設(shè)置一個Point3f對象的x、y和z坐標(biāo)分量值,是點(diǎn)坐標(biāo)表示的一種很方便的形式。</p><p> setCoordinates(int index,float[] coordinates)方法:從index指定的序號開始設(shè)置點(diǎn)的坐標(biāo)值,index一般取0。</p>&
53、lt;p> setColor、setColors方法</p><p> 用setColor、setColors方法向GeometryArray類的對象中添加顏色值。public Color3f(float x,float y,float z)方法是Color3f類的一個構(gòu)造函數(shù),該構(gòu)造函數(shù)通過設(shè)置R、G和B三個分量的值表示一種顏色。三個分量的值都必須在0.0~1.0之間。Color3f類對象的創(chuàng)建:Co
54、lor3f color=new Color3f(0.2f,0.5f,1.0f),則color.x=0.2f,color.y=0.5f,color.z=1.0f</p><p> color.x表示紅顏色值,color.y表示綠顏色值,color.z表示藍(lán)顏色值。</p><p> setColor(int index,Color3f[] color)方法設(shè)置在index處點(diǎn)的顏色值,C
55、olor3f與Point3f類似,用三個浮點(diǎn)表示一種顏色組合,每個浮點(diǎn)數(shù)的值都在0.0~1.0。</p><p> setColors(int index,float[] colors)方法對從index開始到index+length個點(diǎn)賦新值。</p><p><b> 2.4.2點(diǎn)的生成</b></p><p> 點(diǎn)由javax.me
56、dia.j3d.Geometry包中的PointArray類來定義。PointArray的第一個構(gòu)造函數(shù):public PointArray(int vertexCount,int vertexFormat)。PointArray類是GeometryArray類的子類,因此,它繼承了GeometryArray類中定義的方法與變量。vertexCount與vertexFormat參數(shù)的含義與GeometryArray類中含義相同。<
57、/p><p> PointAttributes類的對象用來點(diǎn)的各種屬性。點(diǎn)的屬性包括:(1)Size:定義點(diǎn)的大?。?)Antialiasing:英文含義是反走樣,當(dāng)設(shè)置一個點(diǎn)的大小大于一個像素單位時(shí),為了使點(diǎn)在顯示時(shí)接近于一個圓形,則需要設(shè)置該參數(shù)。</p><p><b> 2.4.3線的生成</b></p><p> LineArray
58、(int vertexCount,int vertexFormat)構(gòu)造函數(shù):應(yīng)用相關(guān)參數(shù)創(chuàng)建一個空的LineArray類的對象。</p><p> vertexCount:表示生成多段直線段的點(diǎn)的總數(shù)。vertexFormat:表示這些點(diǎn)的格式。與 GeometryArray類中的參數(shù)相同。用這種方式定義的線段是不連續(xù)的。</p><p> LineAttributes類的對象定義所
59、有與線的顯示相關(guān)的屬性域狀態(tài)。構(gòu)造函數(shù)如下</p><p> LineAttributes(float lineWidth,int linePattern,boolean</p><p> lineAntialiasing),</p><p> lineWidth:線寬。</p><p> linePattern:線型,如:PATTE
60、RN_SOLID,PATTERN_DASH,PATTERN_DOT,</p><p> PATTERN_DASHOT 。</p><p> lineAntialiasing:是否打開反走樣標(biāo)志。</p><p> setLineWidth(float lineWidth):改變線寬</p><p> setLinePattern(in
61、tlinePattern):改變線型</p><p> setLineAntialiasingEnable(boolean state):打開或關(guān)閉反走樣</p><p><b> 線類型定義</b></p><p> 它能夠定義線條的線型。Pattern的線類型包含如下幾種:</p><p> PATTERN_
62、SOLID:用序號0表示,定義線類型為實(shí)線。</p><p> PATTERN_DASH:用序號1表示,定義線類型為虛線。</p><p> PATTERN_DOT:用序號2表示,定義線類型為點(diǎn)線。</p><p> PATTERN_DASH_DOT: 用序號3表示,定義線類型為點(diǎn)劃線。</p><p> PATTERN_USER_D
63、EFINED: 定義用戶自定義的線類型。</p><p> setLinePattern(int linePattern)設(shè)置LineAttributes 類的對象中的線型參數(shù)。</p><p><b> 反走樣屬性定義</b></p><p> setLineAntialiasingEnable(boolean state)設(shè)置Line
64、Attributes類的對象中的反走樣變量。 參數(shù)state 的取值為true或false。 True表示打開反走樣開關(guān), false表示關(guān)閉。</p><p><b> 線寬設(shè)計(jì)</b></p><p> setLineWidth(float lineWidth)設(shè)置lineAttributes類的對象中的線寬。</p><p> 2.
65、4.4 Java 3D程序Shape 3D類對象中幾何元素的定義</p><p> Shape 3D是一種葉子節(jié)點(diǎn)類。在該節(jié)點(diǎn)中定義了一個幾何對象元素的列表和一個唯一的外觀屬性元素對象,該幾何對象元素列表包含了在Shape 3D中定義的所有幾何對象元素,這些幾何對象元素在該列表中的排列順序?yàn)椋?、1、2 ……。一個Shape 3D的對象包含了一個或多個幾何元素對象和唯一的外觀元素對象。幾何對象定義形狀節(jié)點(diǎn)的幾何
66、數(shù)據(jù)。外觀定義幾何對象的外觀屬性,如顏色、材質(zhì)和紋理等。Shape 3D類的重要方法如下:</p><p> addGeometry(Geometry geometry):向Shape 3D節(jié)點(diǎn)的幾何元素列表中增加參數(shù)指定的幾何元素。</p><p> setAppearance(Appearance appearance):設(shè)置整個Shape 3D節(jié)點(diǎn)的外觀屬性元素。</p&g
67、t;<p> setGeometry(Geometry geometry):用參數(shù)指定的幾何元素替換Shape 3D節(jié)點(diǎn)的幾何元素列表中index=0處的幾何元素。</p><p> 2.5 Appearance類</p><p> Appearance類的對象定義所有的顯示狀態(tài)。所有的這些狀態(tài)都分別作為一個Shape 3D節(jié)點(diǎn)的元素對象。顯示狀態(tài)包含的內(nèi)容如下:<
68、;/p><p> ?。?)顏色屬性:用一個ColoringAttributes類的對象定義顏色。</p><p> ?。?)線的屬性:定義與線相關(guān)的屬性如線型、線寬、是否使用反走樣。用一LineAttributes類的對象定義。</p><p> ?。?)點(diǎn)的屬性:定義點(diǎn)大小及是否應(yīng)用反走樣。用PointAttributes類的對象定義。</p><
69、p> ?。?)材質(zhì):定義一個物體在光照情況下的外觀,如環(huán)境光顏色,散射光顏色、鏡面反射光顏色、發(fā)射光顏色和光亮度。用Material類的對象定義。</p><p> (5)紋理:定義紋理圖像和過濾參數(shù)。通過Texture類的對象定義。紋理屬性:定義與紋理影射有關(guān)的參數(shù)。用TextureAttributes類的對象定義。</p><p> Appearance類的構(gòu)造函數(shù)與方法&l
70、t;/p><p> Appearance app=new Appearance();</p><p> 1.setColoringAttributes(ColoringAttributes coloringAttributes)設(shè)置ColoringAttributes的對象到Appearance類的對象中。</p><p> 2.setLineAttributes
71、(LineAttributes lineAttributes) 設(shè)置LineAttributes的對象到Appearance類的對象中。</p><p> 3.setMaterial(Material material) 設(shè)置Material的對象到Appearance類的對象中。</p><p> 4. setPointAttributes(PointAttributes point
72、Attributes) 設(shè)置PointAttributes的對象到Appearance類的對象中。</p><p> 5. setTexture(Texture texture) 設(shè)置Texture的對象到Appearance類的對象中。</p><p> 6. setTextureAttributes(TextureAttributes textureAttributes) 設(shè)置Te
73、xtureAttributes的對象到Appearance類的對象中。</p><p> 2.6 Material類</p><p> Material類的對象定義一個三維物體在光照情況下的外觀。如果在一個Appearance類的對象中Material類的對象為null,則光照效果對所有包含該Appearance類的對象的節(jié)點(diǎn)不起作用。</p><p> 在M
74、aterial類中設(shè)置的屬性如下:</p><p> 環(huán)境光顏色:包含紅綠藍(lán)三色,顏色取值范圍為0.0~1.0。</p><p> 散射光顏色:當(dāng)光照射時(shí),物體材質(zhì)表現(xiàn)出的紅綠藍(lán)顏色,顏色取值范圍為0.0~1.0。</p><p> 鏡面反射光顏色:在光照下,物體的鏡面反射的紅綠藍(lán)顏色,顏色取值范圍為0.0~1.0。</p><p>
75、 物體的發(fā)亮特性:表示物體的光亮程度,取值范圍[1.0,128.0]。 </p><p> Material類的相關(guān)方法如下:</p><p> setEmissiveColor(float r,float g,float b)方法設(shè)置放射光,用r,g,b為紅綠藍(lán)顏色分量設(shè)置環(huán)境光顏色。</p><p> setDiffuseColor(float r,fl
76、oat g,float b)方法設(shè)置放射光,用r,g,b為紅綠藍(lán)顏色分量設(shè)置散射光顏色。</p><p> setShininess(float shininess),設(shè)置發(fā)亮值。</p><p> 2.7 Light類</p><p> Light類葉子節(jié)點(diǎn)是一個抽象類,其中定義的一組參數(shù)屬于所有類型的光。這些參數(shù)包括光顏色,光照開關(guān)標(biāo)志,和一個光的作用范圍
77、。</p><p> 在一個場景中的光可能包含有多個獨(dú)立定義的光源。光源的類型包括:平行光源DirectionalLight,點(diǎn)光源PointLight和AmbientLight。</p><p><b> 相關(guān)方法</b></p><p> ?。?)setEnable(boolean state)設(shè)置光的開關(guān)。state為true時(shí)表示光
78、開。</p><p> ?。?)setColor(Color3f color)設(shè)置光的顏色</p><p> ?。?)setInfluencingBounds(Bounds bounds)設(shè)置光照范圍</p><p><b> 3 基本形體</b></p><p> Java 3D在com.sun.j3d.utils
79、包中定義好的基本形體包括:長方體、圓柱體、圓錐體和球體。這些定義好的形體在某些應(yīng)用中可直接使用。</p><p> 3.1長方體Box類</p><p> Box(float xdim,float ydim,float zdim,Appearance app)構(gòu)造函數(shù),用指定的外觀屬性app創(chuàng)建一個中心位于坐標(biāo)原點(diǎn)的三維長方體。長方體的長寬高分別為2*xdim,2*ydim,2*zdi
80、m.</p><p> 3.2圓柱體Cylinder類</p><p> Cylinder(float radius,float height,Appearance app)生成底面半徑為radius,高位height的圓柱體。圓柱體的中心位于原點(diǎn),圓柱體的中心軸與y軸重合</p><p> 3.3圓錐體Cone類</p><p>
81、Cone(float radius,float height,int primflags,Appearance app)用指定的primflags參數(shù)與app外觀屬性生成底面半徑為radius,高位height的圓錐體。圓錐體的中心位于原點(diǎn),中心軸與y軸重合</p><p> 3.4球體Sphere類</p><p> Sphere(float radius,int primflags
82、,int divisions,Appearance app) 用指定的primflags參數(shù)與app外觀屬性生成半徑為radius的球。球的中心位于原點(diǎn)</p><p><b> 4 坐標(biāo)變換</b></p><p> 4.1Transform3D類</p><p> Transform3D類主要功能是實(shí)現(xiàn)對幾何元素的坐標(biāo)變換。</
83、p><p><b> 1.構(gòu)造函數(shù)</b></p><p> Transform3D t=new Transform3D();</p><p> 創(chuàng)建一個新的Transform3D類的對象,該對象表示一個4*4的坐標(biāo)變換矩陣,該坐標(biāo)變換矩陣是一個單位矩陣。</p><p><b> 2.方法</b&g
84、t;</p><p> rotX(double angle)使圖形繞X軸逆時(shí)針旋轉(zhuǎn)一個角度.</p><p> rotY(double angle)使圖形繞Y軸逆時(shí)針旋轉(zhuǎn)一個角度.</p><p> rotZ(double angle)使圖形繞Z軸逆時(shí)針旋轉(zhuǎn)一個角度.</p><p> setScale(double scale)設(shè)置
85、變比變換系數(shù),在X、Y、Z軸三個方向相同</p><p> setScale(Vector3d scale) 設(shè)置變比變換系數(shù),分別設(shè)置在X、Y、Z軸三個方向的變比變換系數(shù)。</p><p> setTranslation(Vector3f trans)用trans中的三個分量設(shè)置對圖形的一種平移變換。</p><p> 4.2 TransformGroup類
86、與Transform3D類之間的關(guān)系</p><p> 一個Transform3D對象表示對幾何體的坐標(biāo)平移、旋轉(zhuǎn)、變比等坐標(biāo)中的一種,多個Transform3D對象的組合形成一個總的坐標(biāo)變換矩陣。</p><p> 所有表示各種幾何變換的Transform3D對象包含在一個Transform類的對象中,表示對空間三維物體所進(jìn)行的各種坐標(biāo)變換的組合,如果表示一種幾何變換Transfor
87、m3D的對象沒有加入到該TransformGroup類的對象中,則該變換對三維物體不起作用。</p><p> 也可一次定義一個總的坐標(biāo)變換矩陣,并創(chuàng)建一個Transform3D對象,將該Transform3D對象加入到TransformGroup類的對象中</p><p> 也可以分步定義多個不同類型的坐標(biāo)變換矩陣,然后依次創(chuàng)建多個Transform3D對象,將這些Transform
88、3D對象一次加入TransformGroup類對象中,則以Transform3D的加入次序一次對物體進(jìn)行變換。</p><p> 如果在一個TransformGroup節(jié)點(diǎn)中沒有定義任何的坐標(biāo)變換,也就是沒有加入任何的Transform3D對象,則該TransformGroup節(jié)點(diǎn)擁有默認(rèn)的4*4坐標(biāo)變換矩陣,但該矩陣為單位矩陣,表示對幾何體不進(jìn)行任何幾何變換。</p><p> 5
89、動畫編程基礎(chǔ)介紹</p><p><b> 5.1鼠標(biāo)交互</b></p><p> Java 3D中提供了鼠標(biāo)交互的工具類com.sun.j3d.util.behaviors.</p><p> MouseBehavior,利用這個工具類,可以方便的實(shí)現(xiàn)對鼠標(biāo)事件的響應(yīng)。MouseBehavior是Behavior的子類,是一個抽象類,
90、包括MouseRotate,</p><p> MouseZoom,MouseTranslate3各子類,分別可以通過鼠標(biāo)的左中右鍵實(shí)現(xiàn)對幾何形體的旋轉(zhuǎn),縮放,平移。</p><p> 與鼠標(biāo)行為交互相關(guān)的還有一個接口MouseBehaviorCallback,這個接口提供了一個TransformChanged方法,當(dāng)鼠標(biāo)交互改變了坐標(biāo)系時(shí),將會調(diào)用這個方法。而MouseRotate,
91、MouseZoom,MouseTranslate都實(shí)現(xiàn)了這個接口,因此可以重載這個方法來實(shí)現(xiàn)一些效果。</p><p><b> 5.2鍵盤交互</b></p><p> Java 3D中提供了鍵盤交互的工具類com.sun.j3d.util.behaviors.</p><p> Keyboard.KeyNavigatorBehavio
92、r,它也是Behavior的子類。</p><p><b> 5.3 Alpha</b></p><p> 動畫研究的核心內(nèi)容之一就是研究幾何形體如何在空間和時(shí)間中運(yùn)動。Java 3D中給出了一系列的內(nèi)插器,可以方便的用于動畫制作。各種內(nèi)插器的使用和Alpha類密不可分,內(nèi)插器定義了幾何形體如何在空間做運(yùn)動,而Alpha定義了幾何形體運(yùn)動的時(shí)間控制,它們結(jié)合起來就
93、可以編寫簡單的三維動畫。</p><p> ?。?)Alpha對象提供了動畫的時(shí)間控制,一個循環(huán)周期分為5段,包括:</p><p> 1.起始延時(shí)時(shí)段:phaseDelay Duration</p><p> 2.上升時(shí)段:increasingAlphaDuration</p><p> 3.高位時(shí)段alphaAtOneDuratio
94、n</p><p> 4.下降時(shí)段decreasingAlphaDuration</p><p> 5.底位時(shí)段alphaAtZeroDuration</p><p> 可以對每個時(shí)段指定所占用的時(shí)間,例如上升時(shí)段占用了一個周期的時(shí)間,那么幾何形體將從初始位置變化到終點(diǎn)位置,然后跳回初始位置,重復(fù)上述動作。用不同的組合方式,還可以產(chǎn)生多種不同的運(yùn)動,</
95、p><p> Alpha的構(gòu)造函數(shù):</p><p> Alpha(int loopCount,int mode,long tiggerTime,</p><p> long phaseDelayDuration,</p><p> long increasingAlphaDuration,long increasingAlphaRamp
96、Duration,</p><p> long alphaAtOneDuration,</p><p> long decreasingAlphaDuration,long decreasingAlphaRampDuration,</p><p> long alphaAtZeroDuration),其中,表示循環(huán)次數(shù);表示對象每一周期的運(yùn)行方式,參數(shù)phas
97、eDelay Duration,increasingAlphaDuration,</p><p> alphaAtOneDuration,decreasingAlphaDuration,alphaAtZeroDuration與Alpha的循環(huán)周期的5段一一對應(yīng),increasingAlphaRampDuration,decreasingAlphaRampDuration為變化的加速度和反加速度,可以控制變化的速
98、度。</p><p><b> 5.4自定義行為</b></p><p> 自定義行為也必須是Behavior類的子類。擴(kuò)展Behavior類,在構(gòu)造器中指明要變幻的對象,還需要覆蓋initialize()方法和processStimulus()方法。在initialize()方法中設(shè)置行為的觸發(fā)條件,例如定時(shí)器﹑鼠標(biāo)事件和鍵盤按鍵事件等。具體的行為內(nèi)容在方法pr
99、ocessStimulus()中,例如可以修改幾何形體﹑坐標(biāo)系或觸發(fā)其他行為等。</p><p> 5.5 Morph類</p><p> Java3D中Morph類可以將GeometryArray類型的幾何形體的頂點(diǎn)在多個頂點(diǎn)數(shù)組之間變形。從本質(zhì)上說,Morph并不是一個內(nèi)插器,而是一個行為。因此它需要擴(kuò)展Behavior類,并且覆蓋initialize方法和processStimu
100、lus方法。</p><p> Morph類有以下兩種構(gòu)造器:</p><p> Morph(GeometryArray[] geometry Arrays)</p><p> Morph(GeometryArray[] geometry Arrays , Appearance appearance)</p><p> 其中,geom
101、etryArrays為GeometryArray類型的數(shù)組,這個數(shù)組可以是GeometryArrays類型的也可以是它的子類例如TrangleArray, QuadStripArray和IndexedLineStripArray等,但是在同一個數(shù)組中,元素的類型必須相同。</p><p> Appearance 為這個幾何形體的外觀。</p><p> Morph中幾何形體的變化是通過
102、weight數(shù)組來控制的,weight中數(shù)組的元素對應(yīng)頂點(diǎn)數(shù)組,例如weight[0]表示其實(shí)點(diǎn)的頂點(diǎn)數(shù)組,weight[n]表示變化終點(diǎn)的頂點(diǎn)數(shù)組。Weight中元素的數(shù)值在0~1之間變化,其意義就是變化的程度。</p><p> 6 Bezier曲線介紹</p><p> Bezier曲線定義 </p><p> 給定n+1個控制頂點(diǎn)Pi(i=0~n) ,
103、則Bezier曲線定義為: </p><p> P(t)=∑Bi,n(t)Pi ,t∈[0,1] </p><p> 其中:Bi,n(t)稱為基函數(shù)。 </p><p> Bi,n(t)=Ci,nt^i*(1-t)^n-i </p><p> Ci,n=n!/(i!*(n-i)!) </p><p> Be
104、zier曲線性質(zhì)</p><p><b> (1)端點(diǎn)性質(zhì): </b></p><p> a)P(0)=P0, P(1)=Pn, 即:曲線過二端點(diǎn)。 </p><p> b)P’(0)=n(P1-P0), P’(1)=n(Pn-Pn-1) </p><p> 即:在二端點(diǎn)與控制多邊形相切。 </p>
105、<p> ?。?)凸包性:Bezier曲線完成落在控制多邊形的凸包內(nèi)。 </p><p> ?。?)對稱性:由Pi與Pn-i組成的曲線,位置一致,方向相反。 </p><p> ?。?)包絡(luò)性:Pn(t)=(1-t)Pn-1(t)+tPn-1(t) </p><p> 在CAD/CAM中,常采用Bezier曲線曲面,這樣便于理解曲線/曲面。但采用Bez
106、ier形式的曲線曲面不能精確的表示二次曲線和二次曲面,如球體和圓。將多項(xiàng)式改為有理形式,不僅能精確表示二次曲線和二次曲面,且增加了設(shè)計(jì)的自由度。重復(fù)的進(jìn)行兩點(diǎn)線性插值,可以構(gòu)造Bezier Curve。重復(fù)的進(jìn)行兩點(diǎn)有理插值,可以構(gòu)造有理Bezier Curve。 </p><p> 與控制頂點(diǎn)類似,有理Bezter曲線上的點(diǎn)可映射為Bezter曲線上的點(diǎn)或?qū)?yīng)的控制多邊形上的點(diǎn)。在透視投影使用理形式與非有理形
107、式產(chǎn)生相同投影時(shí),有理Besier曲線曲面和有理B樣條曲線曲面繼承了Bezier曲線曲面和B樣條曲線曲面的簡單、優(yōu)美的特性。這種形式,數(shù)學(xué)上的分析及幾何特性的掌握了解都比其他4D空間(wx、wy、wz、w)方法和單純的3D空間有理形式要簡單和容易。 </p><p> 現(xiàn)在,有理曲線曲面不僅僅用于表示和構(gòu)造二次曲線曲面。對有理曲線曲面的權(quán)因子該如何選取往往不很清楚,而且有理形式的計(jì)算比非有理形式復(fù)雜,但是,由于
108、其構(gòu)造特性,現(xiàn)在人們已經(jīng)開始考慮有理Bezter和有理B樣條曲線曲面的應(yīng)用。</p><p> Bezier曲線、曲面的拼接</p><p> 要設(shè)計(jì)復(fù)雜的Bezier曲線,就要將單段的Bezier曲線拼接起來。同樣,要設(shè)計(jì)復(fù)雜的Bezier曲面,需要將多個單片Bezier曲面拼接起來。</p><p> 這里首先介紹曲線、曲面在拼接時(shí)的連續(xù)性問題。</
109、p><p> (1) 曲線、曲面拼接的連續(xù)性</p><p> C0連續(xù)(零階參數(shù)連續(xù)):第一段曲線的終點(diǎn)與第二段曲線的起點(diǎn)位置重合。</p><p> C1連續(xù)(一階參數(shù)連續(xù)):兩相拼接的曲線在拼接點(diǎn)處重合,在拼接點(diǎn)處有相同的一階導(dǎo)數(shù)。</p><p> C2連續(xù)(二階參數(shù)連續(xù)):兩相拼接的曲線在拼接點(diǎn)處重合,在拼接點(diǎn)處有相同的一階導(dǎo)數(shù)
110、和二階導(dǎo)數(shù)。</p><p> G0連續(xù)(零階幾何連續(xù)):第一段曲線的終點(diǎn)與第二段曲線的起點(diǎn)位置重合,稱為G0連續(xù),同時(shí)也是C0連續(xù)。</p><p> G1連續(xù)(一階幾何連續(xù)):兩相拼接的曲線段在拼接點(diǎn)處重合,切線方向相同,但大小不等,則這種連續(xù)稱為G1連續(xù)。</p><p> G2連續(xù)(二階幾何連續(xù)):兩相拼接的曲線段在拼接點(diǎn)處重合,在拼接點(diǎn)處G0連續(xù),G
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java3d教程
- 基于Java3D的虛擬漫游系統(tǒng)研究.pdf
- 基于Java3D與VRML的虛擬槍械訓(xùn)練系統(tǒng)設(shè)計(jì).pdf
- 基于Java3D的免疫系統(tǒng)模型研究.pdf
- 基于Java3D的針灸銅人人臉模擬.pdf
- 基于Java3D的虛擬漫游系統(tǒng)的研究.pdf
- 基于Java3D的虛擬裝配技術(shù)研究.pdf
- 基于Java3D和VRML的數(shù)字校園系統(tǒng).pdf
- 基于Java3D的鋼結(jié)構(gòu)節(jié)點(diǎn)的虛擬裝配.pdf
- 基于Java3D的機(jī)械液壓虛擬實(shí)驗(yàn)平臺的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Java3D的ACIS幾何模型顯示技術(shù)研究.pdf
- 11478.基于java3d的太陽系虛擬仿真研究
- 基于Java3D技術(shù)的科學(xué)計(jì)算可視化研究.pdf
- 基于JAVA3D的隨機(jī)場景系統(tǒng)技術(shù)研究.pdf
- 基于Java3D的服裝虛擬產(chǎn)品設(shè)計(jì)和制造技術(shù)的研究.pdf
- 基于Java3D的虛擬加工系統(tǒng)關(guān)鍵技術(shù)研究.pdf
- 基于JAVA3D虛擬現(xiàn)實(shí)場景的改進(jìn)LOD算法研究.pdf
- 畢業(yè)論文范文——基于java3d的網(wǎng)絡(luò)三維技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)論文范文——基于java3d的網(wǎng)絡(luò)三維技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Java3D虛擬現(xiàn)實(shí)技術(shù)的機(jī)械臂運(yùn)動仿真研究.pdf
評論
0/150
提交評論