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

正文內(nèi)容

基于java3d的網(wǎng)絡(luò)三維技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)—免費(fèi)計(jì)算機(jī)畢業(yè)設(shè)計(jì)論文(參考版)

2024-12-03 04:17本頁(yè)面
  

【正文】 圖 7 利用 Java3D 構(gòu)建的 Temple Tower 的構(gòu)建 創(chuàng)建函數(shù) TowerScene 構(gòu)建 Tower 場(chǎng)景,并加到 Scene1 中 public TowerScene (Component observer) { …… // 構(gòu)建粗糙的地面 CraterGrid grid = new CraterGrid ( 50, 50, // 柵格范圍 , , // 位置 , // 高度放大比例 craters,。 } 在 生成的場(chǎng)景中利用 addChild 方法調(diào)用 ColumnScene 函數(shù), (new ColumnScene (this))。 Group columns = buildColumns (column)。 } // 柱體構(gòu)建完畢 return group。 ( tg )。 tg = new TransformGroup( tr )。 i++ ) { // 左邊的圓柱 ( x, y, z )。 for ( int i = 0。 Transform3D tr = new Transform3D( )。它同時(shí)定義了其下的 Locale、 Node、 Group 及BranchGroup 結(jié)點(diǎn)。 …… return Scene1。 JAVA3D 的建模 生成場(chǎng)景:( SimpleUniverse 在哪生成的并沒(méi)說(shuō)清楚 ) 先生成一個(gè) Scene1 場(chǎng)景作為父結(jié)點(diǎn),以后在此結(jié)點(diǎn)下加入子結(jié)點(diǎn)完成各種操作及圖形顯示。各種點(diǎn)、線、面生成地面及背景環(huán)境。 第四章 JAVA3D 場(chǎng)景的實(shí)現(xiàn) 167。這些內(nèi)容都是由 Alpha類來(lái)完成的 。 ( 當(dāng)前值 最小值 )/(最大值 最小值 )= JAVA3D 里的各種 Interpolator 對(duì)象可用來(lái)旋轉(zhuǎn)形體、移動(dòng)形體的坐標(biāo)、變化形體的顏色等。 Alpha 可以輸出從 0 到 1之間的數(shù)值給特定的內(nèi)插對(duì)象,當(dāng) Alpha 輸出的數(shù)值為 0 時(shí),對(duì)應(yīng)的特定內(nèi)插對(duì)象的值為最?。划?dāng) Alpha 輸出的數(shù)值為 1 時(shí),對(duì)應(yīng)的特定內(nèi)插對(duì)象的值為最大;當(dāng) Alpha 輸出的數(shù)值為 0 到 1 之間的數(shù)值時(shí),對(duì)應(yīng)的特定內(nèi)插對(duì)象生成和 Alpha成相同比例的數(shù)值。 動(dòng)畫(huà)的生成 所有的內(nèi)插器節(jié)點(diǎn)在使用時(shí)都需要與 TimeSensor(時(shí)間傳感器)配合使用。 Java3D 中可以用 ExponentialFog類添加霧效果。 Primitive 類將生成紋理坐標(biāo) ―― 就象它們 為計(jì)算光照生成法線一樣。為了看起來(lái)更真實(shí),請(qǐng)總是將紋理圖像的寬度和高度設(shè)置成 2 的冪。 Java 3D 簡(jiǎn)化了裝入紋理圖像的過(guò)程。 紋理貼圖 裝入紋理 同光照一樣,紋理貼圖影響整個(gè)幾何對(duì)象。將其附加到場(chǎng)景圖的頂部 BranchGroup。光將僅僅影響那些位于光的 BoundingSphere 所定義的空間內(nèi)的幾何對(duì)象,因此我們需要確保 BoundingSphere 足夠大。 AmbientLight PointLight Spotlight DirectionalLight 所有的 Light 節(jié)點(diǎn)都是場(chǎng)景圖中的葉節(jié)點(diǎn)。這種定向光的所有光線都平行發(fā)射。聚光源的一個(gè)例子是手電筒。點(diǎn)光源的一個(gè)例子是沒(méi)有燈罩的臺(tái)燈 。它不發(fā)自某個(gè)特定點(diǎn),也不指向某個(gè)特定方向。在 Java 3D 中,可以通過(guò)使用多個(gè)光源來(lái)模擬實(shí)際的光照效果。從窗戶射進(jìn)的陽(yáng)光和屋頂?shù)臒艄庖黄鹫樟亮宋輧?nèi)的一切。所有光都有一個(gè)顏色值,即開(kāi)/關(guān)位,以及一個(gè)描述它照亮的場(chǎng)景區(qū)域的綁定對(duì)象。 背景變換 的實(shí)現(xiàn)方法 燈光 光用于照亮場(chǎng)景中的幾何對(duì)象。 對(duì)于 AUTOCAD R14 來(lái)說(shuō),目前還不太方便, 需借助第三方軟件轉(zhuǎn)換成 JAVA3D 支持格式。 在三維圖形生成過(guò)程中,國(guó)內(nèi)目前大量使用 AUTOCAD 及 3DS MAX 等軟件。調(diào)用 VRML97 程序就象調(diào)用 Wavefront 的 OBJ 一樣簡(jiǎn)單。 import .*。 import 。 import 。 一 . Wavefront 的 OBJ 格式的圖形文件的調(diào)用 JAVA3D 編譯環(huán)境所帶的 UTILITY 有兩個(gè) LOADER,一個(gè)可用來(lái)調(diào)用 Wavefront 軟件的 OBJ 格式的三維圖形格式文件,一個(gè)可用來(lái)調(diào)用 Lightwave 軟件的LWS 及 LWO 格式的三維圖形格式文件。對(duì)于這些形體,我們可以非常方便地將其用到 JAVA3D 程序中去。 外部復(fù)雜形體的調(diào)用 利用前面介紹的方法生成我們所需要的基本形體,生成點(diǎn)、線、平面。 面的生成 生成平面的對(duì)象及其定義 JAVA3D 可通過(guò)編程顯示出面來(lái),面有兩種:三角形和四邊形 , 相應(yīng)的對(duì)象為T(mén)riangle 和 Quad??梢陨芍本€的對(duì)象有: 1. LineArray 2. LineStripArray 3. IndexedLineArray 4. IndexedLineStripArray 我們可以根據(jù)各種不同的情況,生成不同的直線,如給定寬度的直線、虛線等。 JAVA3D 可以生成任意大小的點(diǎn),并且可以使點(diǎn)為方點(diǎn)或圓點(diǎn) 。 利用本函數(shù),我們可以從眾多的點(diǎn)中,選擇特定的點(diǎn)來(lái)顯示。這里, vertexCount 表示應(yīng)生成的點(diǎn)的數(shù)目, vertexFormat 表示所需要的頂點(diǎn)的格式。 在這個(gè)方法里,程序先定義了一個(gè)分支 objRoot,然后用數(shù)組的形式定義了頂點(diǎn)坐標(biāo) vert 和顏色 color,再用 PointArray 定義了一組點(diǎn) point,并將頂點(diǎn)坐標(biāo)及顏色賦值給 point,由于 JAVA3D 中的 PointArray點(diǎn)是 Shape3D 的子類,它不能直接放入一個(gè) BranchGroup,因而我們還要先定義一個(gè) Shape3D 對(duì)象 shape,再將 point 賦予 shape,這樣 point 就可以放入 BranchGroup 類型的對(duì)象 objRoot 中了。 點(diǎn)、線、面的生成 點(diǎn)的生成 編寫(xiě) JAVA3D 程序?qū)嶋H上是編寫(xiě)一個(gè)特定的場(chǎng)景圖,給出了場(chǎng)景圖中帶有形體及其屬性的一個(gè)分支( BranchGroup)和表示觀察位置等數(shù)據(jù)的另一個(gè)分支( View Platform)。 UTILITY 里 CYLINDER 的構(gòu)造函數(shù)有: 1. Cylinder() 生成一個(gè)底半徑為 1,高為 2 的 CYLINDER。 球體的生成 UTILITY 里 SPHERE 的構(gòu)造函數(shù)有: 1. Sphere() 生成一個(gè)半徑為 1 的 SPHERE。 ydivision = 1。 圓錐的生成 UTILITY 里 CONE 的構(gòu)造函數(shù)有: 1. public Cone() 生成一個(gè)底半徑為 1,高為 2 的 CONE。 2. Box(float xdim, float ydim, Appearance ap) : 成一個(gè)給定尺寸、給定外觀屬性的 BOX ,例 Box(.5f, .6f, .4f, myApp) 3. Box(float xdim, float ydim, float zdim, int primflags, Appearance ap): 生成一個(gè)有特定說(shuō)明的 BOX,例如 : Box(.4f,.6f,.3f,E_MODIFY, ap)表示程序在運(yùn)行時(shí)可以改變其外觀屬性。下面 是這些 基本體的生成方法。 基本形體的生成 和 VRML不同, JAVA3D 沒(méi)有基本形體類,因而在程序中無(wú)法直接生成大量應(yīng)用的基本形體,如 BOX、 CONE、 SPHERE 等。 總體設(shè)計(jì) 設(shè)計(jì)思想是:以 JAVA3D 為平臺(tái) ,使用 JBuilder 編譯器,生成一個(gè)三維小場(chǎng)景,實(shí)現(xiàn) 簡(jiǎn)單實(shí)體建模 ,物體運(yùn)動(dòng),場(chǎng)景移動(dòng),各種燈光,霧等場(chǎng)景變換操作以及更換背景圖片增加背景音樂(lè)等三維體系的基本功能。 100%的純 Java 實(shí)現(xiàn)是 Java3D 可以與如此多的 Java 平臺(tái)技術(shù)結(jié)合的根本原因: 1. 同是 Java 平臺(tái)保證 Java3D 可以在 Applet 中實(shí)現(xiàn); 2. Applet 使 Java3D 可以輕易的在網(wǎng)頁(yè)中顯示; 3. JSP、 Serverlet 技術(shù)保證將動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)用于 Java3D 顯示; 4. Serverlet 本身就是 J2EE 平臺(tái)的核心技術(shù),這使得 Java3D 可以搭建于 J2EE 平臺(tái)。 Java3D 的網(wǎng)絡(luò)基礎(chǔ) 將 Java3D 與 Java 平臺(tái)技術(shù)的結(jié)合 。如同物理所學(xué)的切割磁力線發(fā)電,轉(zhuǎn)子和靜子本來(lái)就是一對(duì)可以互逆的對(duì)象,結(jié)果都是把動(dòng)能轉(zhuǎn)化為電能。 形體移動(dòng)的實(shí)現(xiàn)向來(lái)都是三維實(shí)現(xiàn)的難點(diǎn)和復(fù)雜之處,傳統(tǒng)三維技術(shù)的實(shí)現(xiàn)多是注重模擬三維物體的真實(shí)移動(dòng)。這些方法允許應(yīng)用程序得到和設(shè)置組結(jié)點(diǎn)的 Transform3D 對(duì)象。如果在這個(gè)世界中加入更多的對(duì)象,這個(gè)場(chǎng)景圖允許經(jīng)由行為結(jié)點(diǎn)來(lái)瀏覽整個(gè)虛擬世界。 不管在中心的對(duì)象,而讓 ViewPlatform在虛擬世界中繞圈。 控制觀察平臺(tái)對(duì)象能產(chǎn)生很有趣和有用的結(jié)果。 圖 4:包含觀察平臺(tái)的一部分場(chǎng)景圖 在三維世界中建立、移動(dòng)觀察點(diǎn) 應(yīng)用程序通過(guò)修改觀察平臺(tái)的上級(jí) TransformGroup 在虛擬世界中航行。 一個(gè)虛擬宇宙可能有很多不同的觀察平臺(tái),但是一個(gè)特定的 View 對(duì)象只能附加 于一個(gè)單一的觀察平臺(tái)之上。應(yīng)用程序和行為通過(guò)修改直接在觀察平臺(tái)之上任何與 TransformGroup 結(jié)點(diǎn)結(jié)合的 Tramsform3D對(duì)象可以在虛擬世界中任意移動(dòng) ViewPlatform。圖 4 表示了一個(gè)場(chǎng)景圖的一部分,它包括一個(gè)觀察平臺(tái)結(jié)點(diǎn)。這樣,在虛擬世界中就有了一個(gè)有原 點(diǎn)或參考點(diǎn)的參考系。這些觀察對(duì)象的幾何中心為產(chǎn)生一個(gè)觀察提供了更大的彈性,這種彈性需要支持可以選擇的顯示配置。 圖 3: View和它的組件對(duì)象以及它們的相互聯(lián)系 這些對(duì)象一起描述觀察的幾何體勝于明白的提供觀察或投影基體。 PhysicalEnvironment:一個(gè)包含刻度信息的對(duì)象,它描述了物理世界。 Java3D 把顯示熒屏信息分別放在單獨(dú)的對(duì)象中,這樣做可以防止在每一個(gè) Canvas3D 對(duì)象中不同的顯示屏幕信息共享一個(gè)屏幕。它包括了一個(gè)對(duì) Screen3D對(duì)象的引 用和描述一個(gè) Canvas3D 要用到的尺寸、形狀和位置信息。 Canvas3D:抽象窗口工具箱中畫(huà)布對(duì)象的 3D 版本。觀察平臺(tái)的起始結(jié)點(diǎn)指定了它的位置、方向和在虛擬世界中的比例尺。圖 3 描述了 View 對(duì)象的中心角色和組件對(duì)象的輔助角色。 Java3D 中用來(lái)定義觀察的對(duì)象 Java3D 通過(guò)幾個(gè)對(duì)象來(lái)發(fā)布它的觀察模式。影響觀察和投影基體的因素包括顯示設(shè)備的物理尺寸,顯示設(shè)備的安裝方法(在用戶的桌面或用戶的頭頂上),計(jì)算機(jī)是否知道用戶的頭在三維空間的位置,頭頂裝置真實(shí)的觀察領(lǐng)域,顯示設(shè)備上每平方英寸的像素?cái)?shù),還有其他類似的參數(shù)。就好像在一個(gè)游樂(lè)場(chǎng)中,游客乘坐觀光車(chē)按照固定的路線參觀游樂(lè)場(chǎng),但是在這過(guò)程中,游客可以持續(xù)轉(zhuǎn)動(dòng)他們的頭。只有一個(gè)對(duì)世界的說(shuō)明和一條預(yù)先定義的軌跡可能不會(huì)嚴(yán)密的定義一個(gè)終端對(duì)象的觀察。不同的設(shè)備有不同的光系統(tǒng),程序開(kāi)發(fā)者硬綁定這樣的參數(shù)或允許終端用戶改變這樣的參數(shù)都是不合理的。 在一個(gè)需要由物理環(huán)境規(guī)定一些觀察參數(shù)的系統(tǒng)中,讓?xiě)?yīng)用程序來(lái)控制所有的觀察參數(shù)并不合理。在有攝像頭的情況下,用戶會(huì)有好像他們是真實(shí)的存在在那個(gè)虛擬世界的錯(cuò)覺(jué),而開(kāi)發(fā)者可以不做任何附加的工作就可以為用戶帶來(lái)這種效果。開(kāi)發(fā)者必須持續(xù)重新配置一個(gè)照相機(jī)來(lái)模擬 在虛擬世界中有一個(gè)人 。它可以應(yīng)付處理常規(guī)的應(yīng)用程序,但是處理有更廣闊的適應(yīng)性的系統(tǒng)的時(shí)候就顯得力不從心,這些系統(tǒng)包括:把整個(gè)世界作為一個(gè)單元裝入和顯示的觀察器或?yàn)g覽器、可供終端用戶觀察、操縱、顯示、甚至與虛擬世界交互的系統(tǒng)。這種模式區(qū)分了以下兩種情況: 1. 一個(gè)應(yīng)用程序通過(guò)控制觀察平臺(tái)的位置和方向在虛擬宇宙中對(duì)一個(gè)觀察臺(tái)對(duì)象( ViewPlatform)定位、定向 和設(shè)定比例尺; 2. 渲染器使用已知位置和方向計(jì)算出要使用的觀察對(duì)象,對(duì)終端用戶物理環(huán)境的描述確定用戶在物理環(huán)境中的位置和方向。這也意味著在不需要修改場(chǎng)景圖的情況下,同一個(gè)應(yīng)用程序既能夠渲染立體景象,還能通過(guò)攝像頭的輸入控制渲染過(guò)的觀察圖。這種新的觀察模式的 一次編寫(xiě),隨處觀察 的特 性意味著用 Java3D 觀察模式編寫(xiě)的應(yīng)用程序和 Applet 可以廣泛應(yīng)用于各種各樣的顯示設(shè)備。 實(shí)現(xiàn)三維世界 Java3D 的觀察模式 Java3D 引入了一種新的觀察模式,這種模式使 Java 編寫(xiě)的顯示效果符合 編寫(xiě)一次,隨處運(yùn)行 的原則。這樣,場(chǎng)景就會(huì)和它的觀察對(duì)象一起被繪制在畫(huà)布上。然后,構(gòu)建出需要的場(chǎng)景圖 像,它由一個(gè)分支組結(jié)點(diǎn)開(kāi)始并且包括至少一個(gè)觀察平臺(tái)對(duì)象,而場(chǎng)景圖就是附加于這個(gè)觀察平臺(tái)。構(gòu)造一個(gè)三維場(chǎng)景,程序員必須運(yùn)行一個(gè) Java3D 程序。(圖 2) 圖 2:高分辨率坐標(biāo)指定場(chǎng)景 如果一個(gè)虛擬宇宙與傳統(tǒng)的計(jì)算機(jī)圖像的概念相近,給定的虛擬宇宙可能會(huì)變得太大。在整個(gè)體系中,高分辨率坐標(biāo)扮演的是上層的僅供翻譯的轉(zhuǎn)換結(jié)點(diǎn)。所有虛擬宇宙包含一個(gè)或多個(gè)高分辨率 Locale。把高分辨率坐標(biāo)看作精確的定位,它在高分辨率坐
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1