- Java 3D Programming -- by Daniel Selman -- ISBN: 1930110359

Java3D Programming - Aimed at intermediate to experienced Java developers, previous experience in graphics programming would be useful. Takes you through the data stuctures, nodes and concepts used in Java3D with practical issues based on the authors experience of working on Java3D.
Guiding programmers through the important design and implementation phases of developing a successful Java 3D application, this reference provides guidance on whether to use Java 3D, user interface design, geometry creation, scene manipulation, or final optimizations. Distilling twelve months of using the Java 3D API for commercial projects, as well as discussions on the Java 3D e-mail list, experienced Java 3D developers will find helpful a resource containing the state-of-the-art in techniques and workarounds, while novice Java 3D developers will gain a insight into Java 3D development, and avoid the confusion and frustration of learning Java 3D techniques and terminology
OReilly.Java.3d Programming
http://www.amazon.com/gp/reader/1930110359/ref=sib_rdr_zmin/103-9734898-3551829?p=S001&j=1#reader-page
2.Java 3D API Jump-Start -- by Aaron E. Walsh, Doug Gehringer -- ISBN: 0130340766

This book is more for newcomers to 3D programming. Assumes a knowlage of Java, Introduces the 3D concepts, such as Scene Graph along with the Java3D classes.
This book encourages the reader to discover how the Java 3D API unleashes a new generation of 3D programs for the desktop and the Web. Aimed at the Web professional this book is an introductory text and not an extensive reference manual, although the Java 3D API documentation itself assists in this area.
After a slightly confusing and protracted beginning the book settles down into a relatively straightforward rambling description of the main components of the Java 3D API. It provides the reader with useful knowledge but perhaps leaves them facing extensive trial and error in order to achieve the 3D scenes that they desire to create. At times some extra detail would have been useful but this would have added to the workload of learning this quite extensive subject area.
With a reasonable sprinkling of code snippets and illustrations the book attempts to show the major capabilities and drawbacks of the API but unfortunately I was sometimes left unconvinced by the examples.
There are some useful embedded Notes and Tips sections within the main text and a link to download the author's very nice Java 3D Explorer demonstration application. For best results the reader would benefit from some further 3D education, perhaps in the form of an OpenGL text, to complete the picture. Recommended with reservations
Interactive 3D for the desktop and Web. It's not the future. It's here today. Java 3D Jump-Startis your concise introduction to the 3D technology that delivers the most power with the least coding. In this hands-on guide, a world-renowned Web3D expert and a member of Sun's Java 3D engineering team unveil the Java 3D API, providing insider's insights and real code.
Discover how Java 3D unleashes a new generation of 3D programs for the desktop and the World Wide Web -- and master all the skills you need to start building spectacular Java 3D applications and applets right now! Using the Java 3D Explorerinteractive application developed exclusively for readers of this book readers, you'll learn:
- Real World Case studies: e-commerce, entertainment,
data visualization, collaborative engineering, and beyond
- How the Java 3D API compares with other graphics options
- The Java 3D API's powerful scene graph programming model
- High-level constructs for creating, loading, and manipulating 3D geometry
- Appearances: Describing color, texture, material reflection, and
other characteristics of 3D objects
- Java 3D API tools for transformation, viewing, and picking
With Java 3D Jump-Start, Java and Web professionals can harness the full power of 3D computer graphics to create fully interactive and immersive 3D programs for the desktop and the Web. Not "someday." Today.
ABOUT THE AUTHORS
AARON E. WALSH is Chairman of Mantis Development Corporation, a development firm specializing in advanced multimedia and network technologies. An active member of the Internet standards community, Walsh is Chairman of the Web3D Consortium's Universal Media technical working group, Chairman of the Web3D-MPEG group responsible for the convergence of Web3D and Motion Picture Experts Group (MPEG) technology, co-chair of the Web3D Intellectual Property Rights group, and Web3D Liaison to MPEG and the World Wide Web Consortium. An international best-selling technology author, he is author of the best-selling Core Web3D, MPEG-4 Jump-Start and XHTML Example by Example (Prentice Hall PTR) and founding Series Editor of the Prentice Hall Web3D Series.
DOUG GEHRINGER is a Staff Engineer at Sun Microsystems and a member of the Java 3D Engineering Team. He has spent the past fourteen years at Sun working on graphics software, and has extensive experience programming for all of Sun's graphics APIs, including GKS, PHIGS, PEX, OpenGL and Java 3D. A respected expert on graphics performance tuning for large-scale applications, he has worked on a number of the largest Java 3D projects in existence. One of the first developers in the world to use Java 3D, he co-authored the original Virtual Reality Modeling Language (VRML) that is today maintained by the Web3D Consortium. An active member of the Java 3D community, Gehringer is Java 3D technical editor of the best-selling Core Web3D (Prentice Hall PTR) and author of the Java 3D Explorer companion application created exclusively for Java 3D Jump-Start readers.
3. 3D User Interfaces With Java 3D -- by Jon Barrilleaux -- ISBN: 1884777902

This is about designing the architecture of a 3D program and its interface, it assumes you already know Java and Java3D. So this is not a step-by-step programming book, its about the top level design, ie Patterns, techniques and framework for Java3D (code at http://sourceforge.net/projects/gumbo/).
4. Computer Graphics Using Java 2D and 3D -- by Y. Daniel Liang, Hong Zhang -- ISBN: 0130351180
5. Essential Java 3d Fast -- by Ian Palmer -- ISBN: 1852333944
6.The Java 3D(TM) API Specification (2nd Edition) -- by Henry Sowizral, et al -- ISBN: 0201710412

This is the reference book for java3D, it is available online, see link above. However if you are doing a lot of programming you really need to be able to pick up and browse a real book.
7.Pure Java 3D: Advanced Graphics and Animation -- by Charles, Ph.D. Drutman -- ISBN: 067232020
8.eady-to-Run Java 3D -- by Kirk Brown, Daniel Petersen -- ISBN: 0471317020
9.Java 3D Interactive 3D Programming (Chinese) -- by Jie Zhang -- ISBN 7115082316
10.The Java 3D API Specification ( Japanese ) is available from the publisher ASCII Corportation.
11.Programacion En 3D Con Java 3D (Spanish) -- by Joan J. Pratdepadua -- ISBN: 9701508971
12.JAVA 3D交互式三維圖形編程
作者 張杰 |
|
【出版社】人民郵電出版社
【目錄】 |
第一章 JAVA 語言概述
1.1 JAVA 語言簡介
1.2 JAVA 語言面向對象編程設計的重要概念
1.2.1 封裝、繼承和多態
1.2.2 對象
1.2.3 類
1.2.4 方法
1.2.5 實例方法和類方法
1.2.6 實例變量和類變量
1.2.7 點運算符
1.2.8 final類和方法
1.2.9 參數的傳值與傳址
1.2.10 JAVA 語言的包
1.2.11 內部類
1.2.12 類成員的訪問控制
1.2.13 抽象類和抽象方法
1.2.14 接口與implements語句
1.2.15 構造方法
1.2.16 thie和super
1.2.17 方法重載
第二章 JAVA 3D簡介
2.1 JAVA 3D的場景圖數據
2.2 JAVA 3D的安裝及運行步驟
2.3 JAVA 3D源程序編寫方法
2.4 JDK 1.2下JAVA 3D源程序的編譯、運行步驟
2.5 一個簡單的JAVA 3D源程序
2.6 SimpleCone.java程序分析
2.6.1 JAVA 3D中的類
2.6.2 SimpleCone.Java程序的import 語句部分
2.6.3 SimpleCone.java 程序的組成
2.7 JAVA 3D基本幾何形體的調用
2.7.1 Box
2.7.2 Colorcube
2.7.3 Cone
2.7.4 sphere
2.7.5 cylinder
第三章 點、線、面的生成
3.1 GeometryArrary對象簡介
3.2 點的生成
3.2.1 PointAttibtues對象
3.2.2 生成點的對象
3.2.3 PointArray對象
3.2.4 IndexedPointArray對象
3.2.5 主程序比較簡潔的Point4.java
3.2.6 旋轉的點
3.3 直線的生成
3.3.1 LineAttributes對象
3.3.2 生成直線的對象
3.3.3 LineArray對象
3.3.4 LineStruipArrary對象
3.3.5 IndexedLineArray對象
3.3.6 IndexedLineStripArray對象
3.4 面的生成
3.4.1 PolygonAttributes對象
3.4.2 生成面的對旬
3.4.3 TriangleArray對象
3.4.4 QuadArray對象
3.4.5 TrianglesStripArraqy對象
3.4.6 TriangleFanArray對象
3.4.7 IndexedTriangtleArray對象
3.4.8 IndexedQuadArray對象
3.4.9 IndexedTriangleStriPArray對象
3.4.10 IndexedTriangleFanArray對象
3.5 Shape 3D對象
3.6 Appearance對象
3.7 Bounds對象
第四章 常用三維圖形文件調入
4.1 常用的三維圖形軟件介紹
4.2 OBJ格式文件的調用
4.3 VRML2.0格式圖形文件的調用
4.3.1 VRML97.JAR的安裝
4.3.2 VRML97.JAR的應用
4.4 DWG、DXF、3DS圖形格式文件的調用
4.5 JAVA 3D應用程序初始位置的設定
第五章 JAVA 3D的動畫編程
5.1 Alpha對象
5.1.1 Alpha對象的構造方法
5.1.2 Alpha構造方法中后7個參數的含義
5.2 Alpha對象常用的方法
5.3 Internetpolator對象
5.4 PositionInterpolator對象
5.4.1 對象tran的各個參數
5.4.2 xtranalpha的各個參數
5.4.3 水平移動改成垂直移動
5.5 Rotation Interpolator對象
5.6 ColorInterpolator對象
5.7 ScaleInterpolator對象
5.8 Switch ValueInterpolator對象
5.9 TransparnecyInterpolator對象
5.10 PathInterpolator對象
5.11 PositionPathInterpolator對象
5.12 RotPosPathInterpolator對象
5.13 RotPosScalepathInterPolator對象
5.14 RotationPathInterpolator對象
第六章 形體的組合
6.1 group對象
6.2 BranchGroup對象
6.3 ordereGroup對象
6.4 Decalgroup對象
6.5 Switch對象
6.6 SharedGroup對象和Link對象
6.6.1 SharedGroup對象
6.6.2 Link對象
6.6.3 SharedGroup對象和Link對象在編程中的應用
6.7 Nlde對象cloneTree方法的應用
6.8 TransformGroup對象和Transform3D對象
6.8.1 TransformGroup對象
6.8.2 Transform3D對象
6.8.3 TransformGroup對象和Transform3D對象應用舉例
第七章 JAVA 3D多媒體編程
7.1 貼圖的應用
7.1.1 TextureLoader對象
7.1.2 ImageComponent2D對象
7.1.3 Raster對象
7.1.4 Appearance對象在貼圖上的應用
7.1.5 貼圖舉例
7.2 燈光的應用
7.2.1 AmbinentLight對象和DirectionalLight對象
7.2.2 PointLight對象
7.2.3 spotLight對象
7.3 聲音的應用
7.3.1 Sound對象
7.3.2 BackgroundSound對象
7.3.3 PointSound對象
7.3.4 ConeSound對象
7.3.5 MediaContainer對象
7.3.6 聲音編程舉例
7.4 背景的應用
7.5 霧的應用
7.6 Text3D與三維文字的顯示
7.6.1 Text3D對象
7.6.2 Font3D對象
7.6.3 FontExtrusion對象
7.6.4 Font對象
7.6.5 Text3D應用舉例
7.7 Text2D與三維文字的顯示
第八章 交互式JAVA 3D程序(一)
8.1 JAVA 3D程序中的事件處理模型題
8.2 JAVA 3D常用的監聽器
8.3 應用舉例
8.3.1 ActionListener監聽器應用舉例
8.3.2 AdjustmentListener監聽器應用舉例
8.3.3 ItemListener監聽器應用舉例
第九章 交互式JAVA 3D程序(二)
9.1 LOD對象
9.1.1 LOD對象
9.1.2 DistanceLOD對象
9.1.3 LOD應用舉例
9.2 Billboard對象
9.2.1 Billboard的構造方法
9.2.2 Billboard對象的應用舉例
9.3 Behavior方面的Utility
9.4 interpolators對象
9.5 keyboard對象
9.6 mouse對象
9.7 picking對象
9.7.1 pickObject對象
9.7.2 PickMouseBehavior對象
9.7.3 Primitive對象的點取
9.7.4 Shape3D對象的選取
9.7.5 PickRotateBehavior對象
第十章 交互式JAVA 3D程序(三)
10.1 Behavior對象
10.2 自定義Behavior時所用的對象
10.2.1 Wakeupcondition對象
10.2.2 WakeupCriterion對象
10.2.3 WakeupOr
10.3 編程舉例
10.3.1 WakeupOnAWTEvent對象的應用
10.3.2 WakeupOncollision對象
10.3.3 WakeOnBehaviorPost
10.3.4 WakeupOnElapsedTime對象
第十一章 幾個有趣的JAVA 3D程序
11.1 光照效果不斷變化的立體動態文字
11.2 廳妙的火柴桿
11.3 可愛的小丑
附錄1 KAWA在JAVA 3D上的應用
附錄2 JAVA 3D相關網址介紹
附錄3 JAVA 3D程序調試技巧
|
|
13 .Java 3D編程實踐——網絡上的三維動畫
http://www.china-pub.com/computers/common/Catalog.asp?IDD=20069&type=9
【作者】 |
顧雷 劉鵬 房冰 都志輝
Java 3D編程實踐——網絡上的三維動畫
Java 3D是由SUN公司推出的、面向Internet的三維動畫程序語言。通過在網頁上插入用Java 3D編寫的Applet,就能讓瀏覽網頁的用戶感受到逼真的三維動畫效果。 全書共分10章。第1章對Java 3D作了全面的介紹;第2章和第3章講述如何構建基本的三維形體并用它們組合成復雜物體;第4章講述怎樣在Java 3D中利用AutoCAD、3DS等軟件設計的形體;第5章~第7章分別介紹建立真實的三維環境所必需的燈光、材質、紋理、背景、霧效和聲音等要素;第8章闡述如何用鼠標、鍵盤控制三維形體的運動;第9章講解如何讓三維形體按照預定的軌跡運動以及如何優化形體的運動性能;第10章給出了一個綜合實例,它將深化讀者對Java 3D的認識。本書附帶的光盤中提供了書中全部源程序、常用的開發工具和重要的技術資料。 本書由有豐富的Java 3D開發經驗的清華大學研究人員編寫。它不是一本Java 3D的語法書或使用手冊,而是作者對自己實踐經驗的提煉。本書用大量的實例生動地闡述編程要點,讓讀者動態地掌握編程方法,而非靜態地學習編程規則;本書著重介紹應用編程經常會用到的一些技術,但并不面面俱到,目的是讓讀者盡可能簡潔地掌握編程的要旨。 本書適用于有一定Java基礎的網絡編程愛好者和開發人員。
《Java 3D編程實踐—網絡上的三維動畫》圖書目錄:
第1章 全世界都能看到的三維動畫
|
1.1 初識Java 3D
1.1.1 網絡時代需要Java 3D
1.1.2 Java 3D是什么?
1.1.3 Java 3D的應用場合舉例
1. 2 Java 3D運行及開發環境的安裝
1.2.1 最新版Java 3D的安裝
1.2.2 老版本的安裝步驟
1.3 體驗Java 3D編程
1.3.1 第一個Java 3D程序:Hello
1.3.2 Java 3D的編程思想
1.4 在網上發布Java 3D程序
1.5 Java 3D的網絡資源和學習資料
1.5.1 主要網站
1.5.2 各種文檔
1.5.3 軟件資源
第2章 基本形體的生成
2.1 基本立體形體的生成
2.1.1 從一個簡單的程序說起
2.1.2 創建場景圖
2.1.3 高層Java 3D類
2.1.4 編寫Java 3D程序的一般步驟
2.1.5 激活和編譯
2.1.6 內容子圖的創建
2.1.7 MyCone程序中使用的Java 3D類
2.1.8 幾何體工具類
2.1.9 高級主題:基本幾何體
2.1.10 能力和性能
2.2 點、線、面的生成
2.2.1 幾何體類
2.2.2 點的生成
2.2.3 直線的生成
2.2.4 面的生成
2.3 曲面的可視化
2.4 2D和3D文本的生成
2.4.1 2D文本的生成
2.4.2 3D文本的生成
2.5 Appearance、Shape3D和Bounds對象的使用
2.5.1 Appearance對象
2 5.2 Shape3D對象
2.5.3 Bounds對象
第3章 形體的組合
3.1 形體的分組
3.1.1 Group對象
3.1.2 BranchGroup對象和OrderedGroup對象
3.1.3 DecalGroup對象
3.1.4 Switch對象
3.1.5 SharedGroup對象
3.2 幾何變換
3.2.1 TransformGroup對象
3.2.2 Transform3D對象
3.2.3 TransformGroup對象和Transform3D對象的應用
第4章 導入3D圖形文件
4.1 準備導入
4.1.1 Loader的概念
4.1.2 Loader接口
4.1.3 常用的Package
4.1.4 常用的Exception
4.1.5 常用的接口方法
4.1.6 使用Loader的一般步驟
4.2 .obj文件導入實例:一艘帆船
4.3 .wrl文件導入實例:一所學校
4.4.3 .3ds文件導入實例:一架飛機
4.5 編寫自己的Loader
4.6 使用GeometryInfo類
4.7 其他3D圖形文件的導入
第5章 光照和材質
5.1 準備光照
5.1.1 光照模型
5.1.2 顏色模型
5.1.3 明暗模型
5.2 使用燈光
5.2.1 燈光的一般使用方法
5.2.2 使用環境光
5.2.3 使用平行光
5.2.4 使用點光源
5.2.5 使用聚光燈
5.3 使用材質
5.3.1 材質概念
5.3.2 簡單材質
5.3.3 材質對象
5.4 使用陰影
第6章 紋理映射
6.1 準備紋理映射
6.1.1 什么是紋理映射?
6.1.2 紋理映射的一般步驟
6.2 簡單紋理映射
6.3 使用紋理屬性對象
6.3.1 旋轉紋理
6.3.2 縮放紋理
6.3.3 平移紋理
6.3.4 改變紋理模式
6.4 使用紋理的邊界模式和過濾器
6.4.1 使用紋理的邊界模式
6.4.2 使用紋理的過濾器
6.5 紋理的其他應用
6.5.1 使用帶有紋理的線
6.5.2 使用帶有紋理的文字
第7章 特殊效果
7.1 背景
7.1.1 設置背景的顏色
7.1.2 設置圖片背景
7.1.3 設置幾何背景
7.2 霧效
7.2.1 ExponentialFog的使用
7.2.2 LinearFog的使用
7.2.3 使用截平面
7.3 聲音
7.3.1 使用聲音
7.3.2 BackgroundSound的使用
7.3.3 PointSound的使用
7.3.4 ConeSound的使用
第8章 交互式編程
8.1 交互和動畫的基礎——Behavior類
8.1.1 理解Behavior類
8.1.2 Behavior的應用
8.1.3 編寫一個自己的Behavior對象
8.2 Behavior的喚醒條件
8.2.1 WakeupCondition的概述
8.2.2 WakeupCriterion類
8.2.3 喚醒條件的邏輯組合
8.2.4 使用Behavior對象
8.3 響應用戶鍵盤和鼠標操作
8.3.1 響應鍵盤操作
8 3.2 響應鼠標操作
8.4 在Java 3D中點取物體
8.4.1 關于點取的一些概念
8.4.2 通過鼠標點取控制物體
第9章 制作三維動畫
9.1 用行為和插值刻畫運動
9.1.1 Alpha對象的使用
9.1.2 Interpolator對象的使用
9.1.3 使用PositionInterpolator對象
9.1.4 使用RotationInterpolator對象
9.1.5 使用ColorInterpolator對象
9.1.6 使用ScaleInterpolator對象
9.1.7 使用SwitchValueInterpolator對象
9.1.8 使用TransparencyInterpolator對象
9.1.9 使用PathInterpolator對象
9.1.10 使用PositionPathInterpolator對象
9.1.11 使用RotPosPathInterpolator對象
9.1.12 使用RotPosScalePathInterpolator對象
9.1.13 使用RotationPathInterpolator對象
9.2 使用Billboard對象
9.2.1 理解Billboard概念
9.2.2 使用Java 3D的Billboard對象
9.3 使用Level-of-Detail(LOD)動畫
9.3.1 理解LOD概念
9.3.2 使用DistanceLOD對象
9.4 使用Morph技術
9.4.1 理解Morph概念
9.4.2 使用Morph技術
第10章 綜合實例:運動的高分子鏈
10.1 實例描述
10.2 用數學模型模擬分子鏈運動
10.2.1 分子鏈運動的數學模型
10.2.2 復合幾何變換
10.2.3 完整的源程序
10.3 用網絡數據控制分子鏈的運動
10.3.1 可視化數據的網絡傳輸
10.3.2 完整的源程序
14.Core Web 3D

This book introduces 3D concepts, VRML, Java3D, MPEG4/BIFS, and X3D. It is a very good introduction to the theory, The writers have an in depth knowledge due to their involvement in the standards making. This is a good book to help you choose which 3D open standards to use and to give you a good insight into these standards. It is probably not for those who want a basic introduction to 3D or for these who want a step-by-step programming in 3D book.