圖書簡介:
本書全面介紹VRML的基礎知識和各節點詳細的使用方法,以及將VRML與Java相結合創建虛擬世界的技術與實例。全書共8章,其中第1章至第6章介紹虛擬現實VRML的基礎知識和各節點的語法定義,以及VRML與Java相結合的方法;第7章和第8章主要介紹VRML與Java交互編程技術,并結合編者開發的虛擬視頻展臺綜合實例,詳細介紹使用Java Applet對圖像處理的方法,通過綜合實例的學習,使讀者的VRML與Java編程開發水平在實踐中得到提高。
本書的特色是將VRML與Java相結合創建虛擬世界,并配有大量的VRML編程實例,內容豐富,實用性強,敘述由淺入深,思路清晰,結構合理。本書既可作為大學本專科計算機類專業學生學習虛擬現實技術的教材,同時也可以作為計算機軟件開發人員和工程技術人員的實用工具書。
前 言
虛擬現實建模語言(VRML)作為第二代網絡程序設計語言,是寬帶網絡、多媒體與人工智能相融合的高新技術,是把握未來網絡、多媒體及人工智能的關鍵技術。
隨著國際互聯網絡的普及,網絡技術和硬件設施的飛速發展,虛擬現實技術將成為今后網絡多媒體發展方向的主流,VRML將創造一種融多媒體、三維圖形、網絡通信、虛擬現實為一體的新型媒體。
VRML的基本特征包括三維性、交互式、分布式集成性和逼真性等。它用于在網絡上創建逼真的三維立體場景,開發與設計立體網絡程序。VRML改變了網絡上2D畫面的狀況,并能實現3D動畫效果,特別是改變了當前網絡與用戶交互的局限性,使得人機交互更加方便,這樣虛擬世界的真實性、交互性、動態性得到了更充分的體現。
本書全面介紹了VRML的基礎知識和各節點詳細的使用方法,以及將VRML與Java相結合創建虛擬世界的技術與實例。本書的網絡資源內容有虛擬現實系統相關工具軟件、相關的制作素材、瀏覽插件、教材實例的源程序和教學用多媒體課件等。而且教材實例的源程序全部在計算機上經過嚴格的調試并運行通過,供讀者學習時參考。
全書共8章,其中第1章~第6章介紹了虛擬現實VRML的基礎知識和各節點的語法定義,以及VRML與Java相結合的方法;第7章~第8章主要介紹了VRML與Java交互編程技術,并結合編者開發的虛擬視頻展臺綜合實例,詳細介紹了使用Java Applet對圖像處理的方法,如變焦、亮度調節、正負片互換、黑白與彩色互換等功能的實現,希望通過綜合實例的學習,使讀者的VRML與Java編程開發水平在實踐中得到不斷提高。
全書由薛慶文擬定教材編寫提綱和網絡資源的結構及具體內容,并作最后統稿。本書的具體編寫分工如下:第1章~第6章由薛慶文編寫,第7章~第8章由辛允東編寫。
本書將虛擬現實技術的理論基礎與Java相結合,并配有大量的VRML編程實例,敘述由淺入深,思路清晰,結構合理,實用性強,既可作為大學本?茖W生學習虛擬現實技術的教材,同時也可作為計算機軟件開發人員和工程技術人員的實用工具書。
在本書的編寫過程中,參考并引用了大量的專家學者的著作、論文和網上資源,得到了部分專家的悉心指導,也得到了本單位領導和老師的大力幫助和支持,作者在此對各位專家、學者表示衷心的感謝。
本書在內容和體例結構上是一種新的嘗試,由于作者水平有限,加之時間倉促,存在缺點和錯誤在所難免。敬請廣大讀者把使用過程中的意見和建議反饋給我們(E-mail: xueqw88@163.com),以便再版時進行修改。
編 者目 錄
第1章 虛擬現實技術概論 1
1.1 虛擬現實技術概述 1
1.1.1 虛擬現實技術的定義 2
1.1.2 虛擬現實技術的特性 2
1.1.3 虛擬現實系統的結構與類型 4
1.2 虛擬現實技術及其軟件技術的發展 7
1.2.1 虛擬現實技術的發展 7
1.2.2 虛擬現實軟件技術的發展 9
1.3 虛擬現實軟件技術 11
1.3.1 VRML的語法與結構 11
1.3.2 VRML文件編輯器 15
1.3.3 VRML文件瀏覽器 15
本章小結 18
思考與練習 19
第2章 空間造型及外觀屬性 21
2.1 幾何造型節點 21
2.1.1 造型節點的語法定義 21
2.1.2 簡單幾何造型節點 22
2.1.3 復雜幾何造型節點 24
2.2 文本造型節點及文本外觀節點 34
2.2.1 文本造型節點 34
2.2.2 文本外觀節點 36
2.3 造型外觀屬性 39
2.3.1 材質節點 40
2.3.2 紋理節點 42
2.3.3 造型的著色設計 48
2.3.4 面的明暗控制 53
本章小結 55
思考與練習 56
第3章 坐標變換及編組 57
3.1 坐標變換節點 57
3.1.1 坐標變換節點的語法定義 57
3.1.2 坐標的平移 58
3.1.3 坐標的旋轉 59
3.1.4 坐標的縮放 60
3.2 造型群節點 64
3.2.1 編組節點 64
3.2.2 節點定義及其引用 67
3.2.3 內聯節點 69
3.2.4 錨鏈接節點 70
3.3 原型定義和調用 72
3.3.1 原型的基本概念 73
3.3.2 原型節點的定義和調用 74
3.3.3 外部原型節點的定義和調用 76
3.3.4 IS語句 77
3.4 其他編組節點 78
3.4.1 布告牌節點 78
3.4.2 選擇開關節點 80
3.4.3 細節層次節點 82
本章小結 83
思考與練習 84
第4章 添加場景信息 85
4.1 添加空間背景 85
4.1.1 空間背景節點 85
4.1.2 霧節點 88
4.2 添加場景信息 91
4.2.1 視點節點 92
4.2.2 導航節點 95
4.2.3 空間信息節點 97
4.3 添加聲音效果 98
4.3.1 聲音節點 99
4.3.2 音頻剪輯節點 100
4.4 添加光照效果 104
4.4.1 點光源節點 105
4.4.2 平行光源節點 107
4.4.3 錐光源節點 108
本章小結 114
思考與練習 114
第5章 動畫效果與交互功能 116
5.1 動畫流程 116
5.1.1 事件和路由的互訪 117
5.1.2 VRML動畫流程 117
5.1.3 動畫實現 118
5.2 動畫效果 119
5.2.1 時間傳感器 119
5.2.2 插補器節點 121
5.3 交互功能 131
5.3.1 觸動傳感器 132
5.3.2 感知傳感器 139
本章小結 145
思考與練習 146
第6章 腳本節點及編程 147
6.1 腳本節點 147
6.1.1 腳本節點的語法定義 147
6.1.2 腳本節點的工作原理 148
6.1.3 專用函數 149
6.1.4 瀏覽器腳本接口 149
6.2 常用腳本語言簡介 152
6.2.1 VRMLScript腳本語言簡介 152
6.2.2 JavaScript腳本語言簡介 157
6.2.3 Java語言簡介 161
6.3 用Java控制VRML場景 165
6.3.1 Java腳本創作接口簡介 165
6.3.2 外部創作接口簡介 166
6.3.3 兩種接口的區別 167
6.4 基于網頁腳本的交互 169
6.4.1 基于網頁腳本交互的基本思想 169
6.4.2 基于網頁腳本交互的主要步驟及關鍵代碼 170
本章小結 175
思考與練習 176
第7章 VRML交互編程技術 177
7.1 自動感應門 177
7.2 菜單顯示技術 180
7.2.1 菜單的顯示與隱藏 181
7.2.2 菜單在最前面顯示 183
7.3 旋轉調節技術 184
7.4 圖形實時繪制技術 190
7.4.1 屏幕圖形的實時繪制 191
7.4.2 讀取本地硬盤中的圖像 195
本章小結 198
思考與練習 199
第8章 VRML交互編程實例 200
8.1 亮度調節 200
8.2 變焦 207
8.3 正負片轉換 214
8.4 黑白彩色轉換 218
8.5 連續操作 223
本章小結 232
思考與練習 232
參考文獻 233