This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] • • Table of Contents Index Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization By Alejandro Terrazas, John Ostuni, Michael Barlow Publisher Pub Date ISBN Pages : Sams Publishing : November 26, 2002 : 0-672-32094-0 : 848 Java Media APIs: Cross-Platform Imaging, Media, and Visualization presents integrated Java media solutions that demonstrate the best practices for using this diverse collection According to Sun MicroSystems, "This set of APIs supports the integration of audio and video clips, animated presentations, 2D fonts, graphics, and images, as well as speech input/output and 3D models." By presenting each API in the context of its appropriate use within an integrated media application, the authors both illustrate the potential of the APIs and offer the architectural guidance necessary to build compelling programs [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] • • Table of Contents Index Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization By Alejandro Terrazas, John Ostuni, Michael Barlow Publisher Pub Date ISBN Pages : Sams Publishing : November 26, 2002 : 0-672-32094-0 : 848 Copyright About the Authors Acknowledgments Tell Us What You Think! Chapter Visualization, Media, and Imaging on the Java Platform 3D Modeling and Visualization with Java 3D The Java Media Framework Loading and Manipulating Images Summary Part I 2D Graphics and Imaging on the Java Platform: The Java 2D, Java Advanced Imaging, and Java Image I/O APIs Chapter Imaging and Graphics on the Java Platform Evolution of Graphics and Imaging on the Java Platform Graphics Versus Imaging Coordinate Spaces: User Space and Device Space Finding Out About Device Space What Is Rendering? Graphics Context The Basic Recipe for Rendering in Java 2D Imaging Fundamentals Java Images: A Raster and a ColorModel The Immediate Mode Rendering Model Rendering Independence: The Renderable and Rendered Imaging Layers The Pull Model Graphics Capabilities in JAI Client-Server Imaging This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Image I/O Summary Chapter Graphics Programming with the Java 2D API The Basic Java 2D Recipe Set the Graphics2D Context… …and Render Something Rendering on Components Shape Primitives Graphics Stroking Fill Attributes and Painting Transparency and Compositing Text Clipping Coordinate Space Transformations Techniques for Graphical User Input Double Buffering Comprehensive Example: Kspace Visualization Summary Chapter Immediate Mode Imaging Model Push Imaging Model Pixel Storage and Conversion Immediate Mode Imaging Model Summary Chapter Image I/O API Image Formats Reading and Writing Basics Service Provider Interfaces IIOParam Classes Metadata Final Plug-in Code ch5ImageMetadata Summary Chapter Java Advanced Imaging Introduction JAI Image Classes The JAI Class JAI IO Advanced Topics Native Acceleration Summary Part II Time-Based Media: The Java Media Framework Chapter Time-Based Media and the JMF: An Introduction Time-Based Media Processing Media Audio Primer Video Primer What Is the JMF? Java and Time Based Media: A Short History This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Java and Time Based Media: A Short History Media Formats and Content Types Supported by JMF Levels of Usage of the JMF API Programming Paradigms When Using JMF Structure of the API Time—A Central Concept Bare Bones Player Applet—A First Applet Using JMF Summary Chapter Controlling and Processing Media with JMF Detailed Time Model The Control and Processing Chains Managing the Complexity It's All About Control Sourcing Media and Media Format MediaHandler Playing Media Conserving Media PlugIns Processing Media Media Capture Summary Chapter RTP and Advanced Time-Based Media Topics What's RTP? RTP with the JMF Extending the JMF JMFCustomizer Synchronization The JMF in Conjunction with Other APIs Java Sound Future Directions for the JMF Summary Part III Visualization and Virtual Environments: The Java 3D API Chapter 10 3D Graphics, Virtual Reality, and Visualization What Is 3D? The Java 3D Scene Graph Inside the Rendering Pipeline Thread Scheduling Geometric Modeling Reducing Unnecessary Rendering Through Culling Spatial Transformation The Java 3D View Model Particle Systems Texture Mapping Modeling Light and Shadows User Interaction in 3D Space Unjarring the Java 3D Utilities Summary Chapter 11 Creating the Virtual World Revisiting the Java 3D Scene Graph This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Recipe for Writing a Java 3D Application Organizing the Scene Graph Through BranchGroups Grouping Scene Graph Elements Adding Prebuilt Behaviors to the Scene Graph Capability Bits Using 3D Geometry Texture Mapping Backgrounds Lighting Fog Adding 3D Sound Vector Math Library Comprehensive Example #1: MR Physics Visualization Comprehensive Example #2: Neuronal Spike Visualization Summary Chapter 12 Interaction with the Virtual World Types of 3D User Interaction The Behavior Class Picking Navigation Collision Detection and Avoidance Level of Detail Using Swing with Java 3D The BillboardBehavior Animation Through Interpolators and Alpha Objects Introduction to Sensors Chapter 13 The Java 3D View Model The Big Chain of Transforms Advantages of the Java 3D View Model Policy Matters The Most Basic Example Stereo Viewing Head Tracking and the Sensor Class Using Java 3D's View Model as a Camera Model Building a CAVE or Wedge with Java 3D Summary Part IV Bringing It All Together: Integrated Java Media Applications Chapter 14 Integrating the Java Media APIs Integrated Applications JMF-J3D Interactions: Prototype for a Streaming 3D Chat Room ROAM: Java-JAI-J3D Image Tiling Example Summary Index [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] Copyright Copyright © 2002 by Sams Publishing All rights reserved No part of this book shall be reproduced, stored in a retrieval system, or transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without written permission from the publisher No patent liability is assumed with respect to the use of the information contained herein Although every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions Nor is any liability assumed for damages resulting from the use of the information contained herein Library of Congress Catalog Card Number: 2001091791 Printed in the United States of America First Printing: November 2001 04 03 02 01 Trademarks All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized Sams Publishing cannot attest to the accuracy of this information Use of a term in this book should not be regarded as affecting the validity of any trademark or service mark Warning and Disclaimer Every effort has been made to make this book as complete and as accurate as possible, but no warranty or fitness is implied The information provided is on an "as is" basis The authors and the publisher shall have neither liability nor responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book Credits Executive Editor Michael Stephens Acquisitions Editor Carol Ackerman Managing Editor Charlotte Clapp Proofreader Suzanne Thomas Technical Editor Chunyen Lui Starfire Research Team Coordinator Lynne Williams Media Developer This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Dan Scherf Interior Desinger Anne Jones Cover Designer Aren Howell Dedication To Jane for her guidance and patience through our ten years of marriage To Victoria, Enrique, and Rebecca for being such wonderful kids To my late best friend, James G Boyer, who lived and died like James Dean —Alex Terrazas To God and to my family —John Ostuni For now and then: To Champ, Zoe-Blowie, and Grantly-Cantly Life has never been so good! In loving memory of Billy Leitch, the gentle prankster of my childhood —Michael Barlow [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] About the Authors Dr Alejandro Terrazas is president of VRSciences, a startup company developing VR therapies for the treatment of mental disorders including addiction and age-related memory impairments The company also conducts research and develops software for simulation and training in virtual urban environments Alex is an expert in functional brain imaging, neurophysiology and the brain mechanisms of navigation and memory formation in virtual environments He previously held the position of associate director of the Machine Interface Network Design (MIND) Lab at Michigan State University where he oversaw research in telepresence, virtual environments, and 3D graphics Dr Terrazas received his Ph.D in Cognition and Neural Systems from the University of Arizona John Ostuni graduated from Rutgers University with a Ph.D in Biomedical Engineering Since that time, he has worked at the National Institutes of Health where he is currently a senior staff scientist in the Warren Grant Magnuson Clinical Center He has taught various courses in Java and C++, and his current interests are medical image processing and converting research-based software into clinical applications He currently resides in Maryland with his wife Sandra and his two sons Steven and Anthony Dr Michael Barlow (he prefers simply to be called Spike)is the founding director of the Virtual Environment and Simulation Laboratory (VESL) and a senior lecturer within the School of Computer Science at the University of New South Wales, ADFA (Australian Defence Force Academy) For the past 15 years, Spike has been an active researcher in the area of media and speech recognition in particular, including a stint of two years in Japan's NTT (Nippon Telegraph and Telephone) Human Interface Laboratories working on Large Vocabulary Continuous Speech Recognition His other major research areas include virtual environments for scientific visualization and education and multi-agent systems for simulation and modeling Spike has taught Java at the university level for several years He currently teaches courses on OO programming, data structures, multimedia, and virtual environments [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] Acknowledgments I would like to thank all of the researchers, clinicians, and technologists at NIH for their ideas, help, and friendships I would like to thank Alex for inviting me to write Chapters through in this book I would also like to thank all the editors and reviewers, especially Regina Geoghan, for their help in preparing these chapters I am also grateful to my many students for helping me to organize and refine much of this work Most importantly, I would like to thank my family for supporting me throughout this book and throughout my career —John Ostuni Thanks to the multi-talented Mark Grundy (The Black Duck) for the music recordings used as audio examples in Chapter My thanks go to my colleagues and workmates at the School of Computer Science, ADFA, who provided both support and a bit of good-natured ribbing In particular, my thanks go to Peter Morris, who captured and encoded the video samples of Chapter and provided much good advice besides Thanks also to Wen Ung for the generous loan of a Webcam with which to test video capture code Also thanks go to Aaron Mihe, who got my home PC (on which a lot of the text was written) up and running again after my fiddling—yet more proof that programmers shouldn't go near hardware Finally, to Professor Charles Newton, Head of School, who supported my efforts with the book Thanks to Alex for taking me on board with the book Last, but first in my heart, thanks to my family: Maria, Zoe, and Grant They supported me in every way and didn't deserve the nights and weekends lost to my authoring —Michael Barlow I wish to thank Justin Couch and Alan Hudson of Yumetech for their considerable contributions to the ROAM code, their participation in the Java 3D mailing list and their tireless work on www.j3d.org The Java 3D community is lucky to have them Thanks to Julian Gomez for his friendship and mentoring in 3D graphics Thanks to Paul Byrne for his contributions to the ROAM algorithm Thanks to Mark Hood for explaining the View Model with such clarity and for helping me so many times in getting various goggles working Finally, thanks to my students, Jose Thota, Eric Blackwell and Mike Meyer at Michigan State University who contributed to some of the writing and a lot of the testing of the code in Chapters 11-14 —Alex Terrazas [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] Tell Us What You Think! As the reader of this book, you are our most important critic and commentator We value your opinion and want to know what we're doing right, what we could better, what areas you'd like to see us publish in, and any other words of wisdom you're willing to pass our way As an executive editor for Sams Publishing, I welcome your comments You can fax, e-mail, or write me directly to let me know what you did or didn't like about this book—as well as what we can to make our books stronger Please note that I cannot help you with technical problems related to the topic of this book, and that due to the high volume of mail I receive, I might not be able to reply to every message When you write, please be sure to include this book's title and authors' names as well as your name and phone or fax number I will carefully review your comments and share them with the authors and editors who worked on the book Fax: E-mail: Mail: [ Team LiB ] 317-581-4770 feedback@samspublishing.com Michael Stephens Executive Editor Sams Publishing 201 West 103rd Street Indianapolis, IN 46290 USA This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com spatial tranformations quarternions spatial transformations 2nd 3rd 4th 5th 6th local coordinates model 2nd 3rd projection transformations 2nd spatially ordered data special objects scene graphs Specular Reflection interactions light models speech speeds rendering interactive 3D graphics Sphere class SPI (Service Provider Interface) spi (service provider interfaces) ImageReaderSpi ImageWriterSpi specifying with JAR files SpikeCloud.java 2nd SpotLight class 2nd 3rd 4th sRGB color space SSRC (Synchronizing Source) standards media types start() method (Player interface) states Processors static methods ImageIO class StaticTranscode class listing statistical operators JAI class 2nd 3rd statistics RTP sessions 2nd StatisticsOpImage class stencil buffer steps rendering pipeline stereo viewing 2nd 3rd StereoRecipdeJ3D.java StereoRecipdeJ3D.java stereoscopic cues stereroscopic views stop() method (Player interface) stopped time controller states storing information object distance pixel information pixels Rasters 2nd 3rd 4th 5th 6th techniques storing pixels stream metadata ch5StreamMetadata Stream operator This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com stream-based codecs streaming media 2nd RTP StreamMappedEvent StreamMetadata class ch5StreamMetadata streamMetadata parameter streams jitter RTP 2nd RTPManager objects receiving/transmitting 2nd 3rd 4th StreamWriterControl interface strip-based geometry 2nd stripification Stroke attributes stroking graphics dash patterns sub graphs [See also graphs] BranchGroup 2nd 3rd organizing scene graphs 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th DecalGroup OrderedGroup 2nd SharedGroup Switch TransformGroup grouping scene graph elements 2nd 3rd 4th 5th 6th 7th 8th 9th subclasses GeometryArray class 2nd subgraphs content 2nd holders view viewing Subtract operator SubtractConst operator SubtractFromConst operator super novas particle systems surface normal light models Sutherland pipeline Swing API heavyweight components 2nd mixing problems 2nd 3rd 4th 5th 6th lightweight components 2nd mixing problems 2nd 3rd 4th 5th 6th Switch nodes grouping scene graph elements 2nd 3rd 4th 5th Switch sub graph SwitchExampleJ3D.java 2nd 3rd 4th SwitchInterpolator synchronizing Players 2nd Synchronizing Source (SSRC) System.dispose() method systems coexistence coordinate coordiate View model 2nd coordinate physical 2nd virtual 2nd coordinating This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com homogeneous matrices wedge projection systems [See also particle systems] [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] T2Behavior.java 2nd tasks 3D interaction temporal redundancy terrain rendering ROAM example 2nd 3rd 4th adaptive meshing 2nd geo-mipmapping image tiling in JAI 2nd 3rd 4th 5th 6th 7th 8th 9th 10th integrating data structures with scenegraphs Landscape class BranchGroup 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th triangle bintrees 2nd testing for containment hit testing in text tetrodes texels 2D arrays texture mapping 2nd text 3D 2nd fonts custom obtaining a list of formatting paragraphs hit testing laying out layout rendering Java 2D API shapes and images Text3D class TextLayout class attributed strings texture Paint objects Texture class texture mapping 2nd 3rd 4th 5th animations texture-by-reference feature Texture-by-Reference feature 2nd 3rd BufferedImage class 2nd 3rd coordinates 2nd ImageComponent object large textures 2nd magnification minification MIPMAPing MIPMapping 2nd 3rd 4th 5th texels 2nd TextureLoader 2nd 3rd 4th 5th 6th texture-by-reference feature Texture-by-Reference feature 2nd 3rd Texture2D extending by implementing VideoRenderer interface 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th TextureAttributes object TextureLoader 2nd 3rd 4th 5th 6th TexturePaint objects TexturePaintEx.java textures animations This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com texture-by-reference feature Texture-by-Reference feature 2nd 3rd coordinates 2nd 3rd large textures 2nd MIPMapping 2nd 3rd 4th 5th thread mechanisms thread scheduling threads JMF running [See 3D geometry] three-dimensional scenes drawing three-dimensional geometry Canvas3D class Threshold operator TIFF operator TiledImages class 2nd 3rd 4th events 2nd 3rd 4th 5th tiles PlanarImage class 2nd TileTester.java 2nd 3rd tiling, image 2nd 3rd 4th 5th 6th 7th 8th 9th 10th time JMF API 2nd time base start time time base time Time class objects Time to Live (TTL) time-based media bandwidth, compression, and codecs Clock interface 2nd content control three steps of format, content type, and standards 2nd high level time model Controller interface 2nd 3rd Java JMF Control objects controlling multiple players DataSource class 2nd 3rd Format class 2nd manager classes 2nd 3rd 4th 5th 6th MediaHandler interface MediaLocator class MediaPlayer Bean playing 2nd 3rd 4th SourceStream class 2nd JMF integration low-level time 2nd managing complexity on computers origins and types of sourcing streaming 2nd timing a player 2nd tracks demultiplexing visual control for the user TimeoutEvent timing Player objects 2nd toExternalForm() method (MediaLocator class) Tollman, Edward This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Torus Treadmill toString() method (MediaLocator class) TrackControl interface listing methods programming Processors TrackControl objects Tracker Base physcial coordinate system tracker bases head-tracking setups 2nd room-mounted setups tracker sensors head-tracking setups 2nd room-mounted setups tracks demultiplexing trajectory scanner tranfer types (Rasters) tranformations deformation rigid body 2nd transcoding media StaticTranscode class transfer types compatibility transfer() method (Location2Location class) transferring media transformations defined projection 2nd six degrees of freedom [See also spatial transformations]2nd [See also model tranformations] TransformGroup object transformations grouping scene graph elements 2nd 3rd 4th adding ViewPlatform to TransformGroups 2nd chains local coordinates rotations TransformGroup sub graph TransformInterpolator transforms attaching reference frames to renderers 2nd head-mounted 2nd 3rd 4th remote telepresence robots 2nd Sensor class 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th retained mode room-mounted 2nd 3rd 4th TransitionEvent transitions Controller states Translate operator translation operations multiplications translation values transmitting streams jitter streams (RTPManager objects) 2nd 3rd 4th transparency 2nd particle systems This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Transparent Transmission interactions light models Transpose operator trees scheduling triangle bintrees 2nd triangle meshes creating TriangleArray class TriangleFanArray class triangles hardware acceleration polygons shading immediate mode TriangleStrupArray class true streaming TTL (Time to Live) tuples [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] UDP RTP unformatted images reading 2nd 3rd unicast multi UntiledOpImage class update methods overloading URL operator user interactions navigation picking Sensor user interfaction 3D 2nd alpha objects 2nd 3rd 4th 5th 6th 7th Behavior class 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd 34th collision detection 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th interpolators 2nd 3rd 4th 5th 6th LOD 2nd navigation 2nd 3rd 4th picking 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th sensors 2nd 3rd 4th 5th 6th 7th 8th 9th 10th user space users interactions virtual reality 2nd utilities 3D unjaring utility classes Location2Location class MediaStatistics [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] values alpha RGB rotation translation VecBody class 2nd 3rd 4th VecBody.java 2nd 3rd Vector Math Library matrix objects 2nd 3rd 4th tuples vectors rigid body tranformations storing images vertex-based geometry 2nd 3rd 4th vertices 2D shapes 3D shapes lines drawing vestibular self-motion signals video bandwidth requirements capturing content types, formats, and codecs 2nd 3rd RTP synchronizing Players 2nd video texturing JMF integration with Java 3D 2nd 3rd extending Texture2D 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th VideoFormat class VideoRenderer interface integration with BufferedImage 2nd 3rd extending Texture2D 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th view attach policy 2nd 3rd view branches branches scene graphs view frustrum culling view frustum culling performing View graph organizing scene graphs 2nd 3rd View model 3D graphics 2nd 3rd coordinate systems 2nd view model (3D) advantages 2nd coordinate systems as camera model 2nd 3rd 4th Cave Automatic Virtual Environment (CAVE) system 2nd 3rd 4th 5th 6th examples ShowJ3DGraphics.java 2nd 3rd 4th 5th 6th policies 2nd View 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th remote telepresence robot 2nd 3rd adding head tracking to 2nd robot views 2nd stereo viewing 2nd 3rd StereoRecipdeJ3D.java transforms attaching reference frames to renderers 2nd This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com head-mounted 2nd 3rd 4th 5th 6th 7th 8th 9th 10th 11th 12th 13th 14th 15th 16th 17th 18th 19th 20th 21st 22nd 23rd 24th 25th 26th 27th 28th 29th 30th 31st 32nd 33rd room-mounted 2nd 3rd 4th view object View policy 2nd 3rd HMD VIEW policy option 2nd 3rd BasicHMDSetup.java monoscopic 2nd projection screen scale view attach 2nd 3rd view projection view subgraphs View.NOMINAL_FEET option View.NOMINAL_HEAD option View.NOMINAL_SCREEN option View.PARALLEL_PROJECT value View.PERSPECTIVE_PROJECTION value viewing 3D graphics model space viewing parameters scene graphs viewing subgraphs viewing volume 3D graphics viewing volumes frustums ViewPlatform 2nd adding to TransformGroups 2nd virtual coordinate system ViewPlatform object views rendering interactive 3D graphics stereoscopic Virtual virtual coordinate system virtual audio-video conferences virtual platforms View object virtual reality user interactions 2nd Virtual Reality Model Language (VRML) model virtual worlds mapping virtual/physical dichotomy Virtual6DOF.java 2nd virtualMSU.java 2nd 3rd VirtualUniverse object 2nd virutal coordinate systems 2nd visible-surface determination [See also hidden surface removal (HSR) algorithms] visulizations quarternions volume volumes viewing frustums VQ (Vector Quantization) VRML VRML (Virtual Reality Model Language) model vrmlLoad.java 2nd [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] Walsh, Gregory wands haptic 3D interactions WANs (Wide Area Networks) Warp operator wayfinding proprioception Web sites AlphaWorks International Color Consortium Java 2nd Java Sound programmer's guide Java-based imaging information JMStudio information wedge projection systems Wedge.java 2nd 3rd width property winding rules listing non-zero wireframe models 2nd Autodesk 3D Studio WRAP mode WritableRenderedImage interface 2nd WritableRenderedImage iterface writing applications BasicRecipeJ3D.java 2nd 3rd 4th Canvas3D class requirements 2nd [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] x translation value XML (Extensible Markup Language) Xor operator XorConst operator [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] y translation value yaw rotation value [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com [ Team LiB ] [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] z translation value z-buffer algorithms [ Team LiB ] This document is created with a trial version of CHM2PDF Pilot http://www.colorpilot.com Brought to You by ... on the Java Platform: The Java 2D, Java Advanced Imaging, and Java Image I/O APIs IN THIS PART Imaging and Graphics on the Java Platform Graphics Programming with the Java 2D API The Immediate... the Java Platform: The Java 2D, Java Advanced Imaging, and Java Image I/O APIs Chapter Imaging and Graphics on the Java Platform Evolution of Graphics and Imaging on the Java Platform Graphics... Processing Media with JMF Detailed Time Model The Control and Processing Chains Managing the Complexity It's All About Control Sourcing Media and Media Format MediaHandler Playing Media Conserving Media