freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設計-基于java3d的網(wǎng)絡三維技術的設計與實現(xiàn)(編輯修改稿)

2025-01-07 16:27 本頁面
 

【文章內(nèi)容簡介】 動態(tài)的 3D 圖像。 Shout Interactive and Blaxxun 為用戶擴充自己的 3D圖形功能預留了極大的空間。兩個公司并沒有拋棄 VRML,Shout Interactive 公司可以接受 VRML文件,并把它變成自己的文件格式,Blaxxun 公司的軟件可以直接運行 VRML。當然, Shout3D 的小巧靈活并不是沒有代價的:它簡化了 VRML 的功能, VRML 的一些功能不能用小小 50K 的 Java 來實現(xiàn)??梢哉f這兩個公司最先在它們的產(chǎn)品中實現(xiàn)了核心的 X3D 技術。 使用這種 無插件技術 ( plugin)的 Shout 公司為 Macy39。s and Excite web portal 網(wǎng)站制作了栩栩如生如生的 3D 虛擬時裝模特展示,觀看者用菜單可以選擇:展示的服裝,模特的膚色,發(fā)型,步型,甚至于燈光都可畢業(yè)設計論文 以用菜單即刻更換。觀看者可以用鼠標變換視角,遠近,從各個角度觀看動態(tài)展示。而所有的展示文件只有 1M2M,不需下載插件。圖像的質量較好,人物動畫的動作流暢自然。 第二章 Java3D 技術的簡介 Java3D 用其自己定義的場景圖和觀察模式等技術構造了 3D 的上層結構 ,實現(xiàn)了在 Java 平臺使用三維技術。 本章將介紹 Java3D 特有的兩個重要概念:場景圖( Scene Graph)、觀察模式( View Model)。在接口使用上的介紹分為兩部分:說明如何使用 Java3D 接口;說明如何將 Java3D 技術與 Java 原有的 Web 技術( JSP、 Serverlet)相結合,在網(wǎng)頁上實現(xiàn)三維顯示。 167。 Java3D 概述 Java3D 簡介 Java3D API 是 Sun 定義的用于實現(xiàn) 3D 顯示的接口。 3D 技術是底層的顯示技術, Java3D 提供了基于 Java 的上層接口。 Java3D 把 OpenGL 和DirectX 這些底層技術包裝在 Java 接口中。這種全新的設計使 3D 技術變得不再繁瑣并且可以加入到 J2SE、 J2EE 的整套架構,這些特性保證了 Java3D 技術強大的擴展性 。 JAVA3D 建立在 JAVA2( )基礎之上, JAVA 語言的簡單性使 JAVA3D 的推廣有了可能。它實現(xiàn)了以下三維顯示能夠用到的功能: 1. 生成簡單或復雜的形體(也可以調(diào)用現(xiàn)有的三維形體) 2. 使形體具有顏色、透明效果、貼圖 3. 在三維環(huán)境中生成燈光、移動燈光 4. 具有行為的處理判斷能力(鍵盤、鼠標、 定時等) 5. 生成霧、背景、聲音 6. 使形體變形、移動、生成三維動畫 7. 編寫非常復雜的應用程序,用于各種領域如 VR(虛擬現(xiàn)實) Java3D 與其他三維技術的比較 JAVA3D 可應用在三維動畫、三維游戲、機械 CAD 等多個領域。但作為三維顯示實現(xiàn)技術,它并不是唯一選擇而且是一個新面孔。在 Java3D 之前已經(jīng)存在很多三維技術,這些三維技術在實現(xiàn)的技術、使用的語言畢業(yè)設計論文 以及適用的情況上各有不同,我主要介紹與 Java3D 又密切關系的三種技術: OpenGL、 DIRECT3D、 VRML OpenGL OpenGL 是 業(yè)界最為流行也是支持最廣泛的一個底層 3D 技術,幾乎所有的顯卡廠商都在底層實現(xiàn)了對 OpenGL 的支持和優(yōu)化。 OpenGL 同時也定義了一系列接口用于編程實現(xiàn)三維應用程序,但是這些接口使用 C( C++)語言實現(xiàn)并且很復雜。掌握針對 OpenGL 的編程技術需要花費大量時間精力。 DIRECT3D DIRECT3D 是 Microsoft 公司推出的三維圖形編程 API,它主要應用于三維游戲的編程。眾多優(yōu)秀的三維游戲都是由這個接口實現(xiàn)。與 OpenGL 一樣, Direct3D 的實現(xiàn)主要使用 C++語言 。 (VRML97) 自 1997年 12 月正式成為國際標準之后,在網(wǎng)絡上得到了廣泛的應用,這是一種比 BASIC、 JAVASCRIPT 等還要簡單的語言。腳本化的語句可以編寫三維動畫片、三維游戲、計算機三維輔助教學。它最大的優(yōu)勢在于可以嵌在網(wǎng)頁中顯示,但這種簡單的語言功能較弱(如目前沒有形體之間的碰撞檢查功能),與 JAVA 語言等其它高級語言的連接較難掌握,因而逐漸被淹沒在競爭激烈的網(wǎng)絡三維技術中。 表 1 是 Java3D 與其它三維技術的比較圖,可以從中直觀的看出他們相互間的區(qū)別: 技術 實現(xiàn)層次 開發(fā)技術(難 度) 擴展性 最適合應 用領域 Java3D 中層( JVM) Java(較易) J2SE 標準擴展(好) 網(wǎng)上三維顯示實現(xiàn) … OpenGL 底層(顯卡) C\C++(難) 各大廠商支持(較好) 三維設計軟件 … Direct3D 底層(操作系統(tǒng)) C++(較難) Windows 平臺(差) 三維游戲 … VRML 上層(網(wǎng)頁) 標記語言(容易) 安裝插件支持(一般) 網(wǎng)上虛擬現(xiàn)實 … 表 1: 3D 技術對招表 畢業(yè)設計論文 167。 Java3D 的場景圖結構 Java3D 實際上是 Java 語言在三維圖形領域的擴展,與 Java 一樣, Java3D 有純粹的 面向對象結構。 Java3D 的數(shù)據(jù)結構采用的是 Scene Graphs Structure(場景圖),就是一些具有方向性的不對稱圖形組成的樹狀結構(圖 1)。 實際由 Java3D 定義的一系列的對象,這些對象不是雜亂無序,對象之間也不是毫無關系。如果想讓三維圖像正常顯示,必須在這兩點上遵循Java3D 場景圖的規(guī)定。觀察圖 1, Java3D 場景圖的樹結構由各種各樣的對象組成: 在圖中出現(xiàn)的這些對象都實現(xiàn)了 Java3D 中有重要的意義的類,從邏輯上我將它們分為三類: ? 根節(jié)點( Root): Virtual Universe Object ? 節(jié)點( Node): Local Object、 Branch Group Nodes、 Behavior Node、 Shape3D Node… ? 葉子節(jié)點( Leaf): Appearance、 Geometry.. 圖 1:在應用中的 Java3D 場景圖 場景圖中線和線的交匯點稱為節(jié)點( Node),這 些節(jié)點都是 Java3D類的實例( Instance of Class),節(jié)點之間的線表示各個實例之間的關系。 ? Virtual Universe 是根節(jié)點,每一個場景圖的 Virtual Universe 是唯一的。 ? 在 Virtual Universe 下面是 Locale 節(jié)點,每個程序可以有一個或多個 Locale,但同時只能有一個 Locale 處于顯示狀態(tài),就 好像 一個三維世界非常大,有很多個景點,但我同時只能在一個景點進行觀察。 Java3D 允許從一個 Locale 跳到另一個 Locale,不過絕大多數(shù)程序只有一個 Locale。 畢業(yè)設計論文 ? 每一個 Locale 可以擁有多個 Branch Group 節(jié)點。所有三維形體的其位置信息( Transform Group Nodes)都建立在 Branch Group 節(jié)點之上。 ? Transform Group Node 用來設定 Shape3D 在 Virtual Universe 中的位置。 ? Spape3D Node 是三維圖形節(jié)點,這個節(jié)點的實體放映在最后的顯示畫面中,就是三維世界中的每個形體。包括正方體、球體以及任何形狀和外觀的三維形體。 ? 位于場景圖最下層的是兩個葉子節(jié)點:三維體的外觀( Appearance)和幾何信息( Geometry),這兩個節(jié)點定義了一個三維體的顯示效果。 ? View Platform 位于圖 1 的另一個分枝上,與前面所有描述三維體的性質的概念不同, View Platform 和 View 都是用來定義觀察者的信息。 對于建立一個簡單的 Java3D 程序,我至少需要了解三個概念:虛擬宇宙( Virtual Universe)、場景( Locale)、坐標系統(tǒng)。 虛擬宇宙( Virtual Universe) 在 Java3D 中,虛擬宇宙被定義為結合一系列對象的三維空間。虛擬宇宙被用作最大 的聚集體表現(xiàn)單位,同時也可被看作一個數(shù)據(jù)庫。不管是在物理空間還是邏輯內(nèi)容,虛擬宇宙都可以很大。實際上在大多數(shù)情況下,一個虛擬宇宙就可以滿足一個應用程序所有的需求。 虛擬宇宙是各自獨立的個體,原因是在任何時候一個結點對象都不能在超過一個的虛擬宇宙中存在。同樣的,在一個虛擬宇宙中的結點對象也不能在其他的虛擬宇宙中可見或者與其他的對象結合。 對于一個 Java3D應用程序,必須定義一個虛擬宇宙才可以在這個 宇宙 中顯示三維圖像。 Java3D 的坐標系統(tǒng) 默認情況下, Java3D 的坐標系統(tǒng)是右旋的,用 方位語義學來解釋就是:正 y 方向是本地重力的上,正 x 方向是水平的右,正 z 是這對著觀察者的方向。默認的單位是米。 雙精度浮點、單精度浮點甚至是定點來表示的三維坐標都足夠來表示和顯示豐富的 3D 場景。不幸的是,場景不是真實世界,更不必說整個宇宙了。如果使用單精度坐標,有可能出現(xiàn)下列情景: 畢業(yè)設計論文 1. 離原點僅有一百公里的距離,被描繪得相當量子化,所能達到的最好效果就是三分之一英寸,在實際應用中這樣的精度比要求的粗糙的多。 2. 如果要縮小到一個很小的尺寸(例如表現(xiàn)集成電路的大?。踔猎陔x原點很近的地方就會出現(xiàn)同坐標問題。 為 了支持一個大型的鄰接虛擬宇宙, Java3D 選擇了有 256 位的高分辨率坐標: Java3D 高分辨率坐標由三個 256 位的定點數(shù)組成,分別表示 x、 y、 z。定點被固定在第 128 位,并且值 被定義為真實的 1 米。這個坐標系統(tǒng)足夠用來描述一個超過幾百萬光年距離的宇宙,也可以定義小于一質子大?。ㄐ∮谝黄绽士碎L度)的對象。 在 Java3D 中,高分辨率坐標僅僅用于將更加傳統(tǒng)的浮點坐標系統(tǒng)嵌入更高分辨率的底層系統(tǒng)。用這種方法,可以創(chuàng)造出一個具有任意大小和規(guī)模的在視覺上無縫的虛擬宇宙,而且可以不必擔心數(shù)字上的精度。(參看表 2) 一個 256 位的定點數(shù)還具有能夠直接表示幾乎任何的合理適當?shù)膯尉雀↑c值。 Java3D 用有符號的、兩位補碼的 256 位定點數(shù)字來表示高分標率坐標。盡管 Java3D 保持內(nèi)部高分辨率坐標表示的不透明,但用戶用有八個整型變量的數(shù)組來表示 256 位的坐標。 Java3D 把數(shù)組中從索引號由 0 到 7分別看作高分辨率坐標的從高到底位上的數(shù)。第 128 位上是二進制的小數(shù)點,也可以說在索引號為 3 和 4 的整數(shù)之間。高分辨率坐標的 就是 1米。 如果是 小 的虛擬宇宙(類似于相對比例的幾百米),在虛擬宇宙對象下( ,)點建立一個帶有高分辨率坐標的 Locale 作為根節(jié)點就足夠使用了;裝入程序在裝入過程中能自動構建結點,而在高分辨率坐標下的點不需要任何外部文件的直接描述。 大一些的虛擬宇宙期待被構建為有如同計算機文件那樣的層次,這意味著一個根宇宙要包含由外部文件引用的嵌入虛擬宇宙。就這樣,文件引用的對象(用戶指定的 Java3D組或高分辨率結點)定義了被讀入現(xiàn)存虛擬宇宙的數(shù)據(jù)的位置。 Java 3D 高分辨率坐標 2n Meters Units Universe (20 billion light years) Galaxy (100000 light years) 畢業(yè)設計論文 Light year Solar system diameter Earth diameter Mile Kilometer Meter 3 Micron 2 Angstrom 115.57 Planck length 表 2: Java 3D 高分辨率坐標 場景( Locale) 為了支持大型虛擬宇宙, Java3D 提出了 Locale的概念。 Locale 把高分辨率坐標作為起源。把高分辨率坐標看作精確的定位,它在高分辨率坐標的影響范圍之內(nèi)使用精度較低的浮點坐標指定對象的位置。 一個 Locale 和與它結合的高分辨率坐標一起組成了在虛擬宇宙之下的一個表現(xiàn)層。所有虛擬宇宙包含一個或多個高分辨率 Locale。而所有其他的對象都是附加在一個 Locale 上的。在整個體系中,高分辨率坐標扮演的是上層的僅供翻譯的轉換結點。例如,附加到一個特定 Locale 的所有對象的坐標都會與這個 Locale 位置的高分辨率坐標有關。(圖 2) 畢業(yè)設計論文 圖 2:高分辨率坐標指定場景 如果一個虛擬宇宙與傳統(tǒng)的計算機圖像的概念相近,給定的虛擬宇宙可能會變得太大。所以在通常情況下最好把一個場景圖看作是一個高分辨率坐標場景的子結點。構造一個三維場景,程序員必須運行一個 Java3D程序。這個 Java3D 應用程序必須首先創(chuàng)建一個虛擬宇宙對象并且至少把一個 Locale 對象附 加之上。然后,構建出需要的場景圖像,
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1