rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9781884777905

3D User Interfaces With Java 3D

by
  • ISBN13:

    9781884777905

  • ISBN10:

    1884777902

  • Format: Paperback
  • Copyright: 2000-08-01
  • Publisher: Manning Pubns Co
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.95
We're Sorry.
No Options Available at This Time.

Summary

3D User Interfaces with Java 3D is a practical guide for providing next-generation applications with 3D user interfaces for manipulation of in-scene objects. Emphasis is on standalone and web-based business applications, such as for online sales and mass customization, but much of what this book offers has broad applicability to 3D user interfaces in other pursuits such as scientific visualization and gaming.

Table of Contents

Introductionp. xix
Acknowledgmentsp. xxv
About the cover illustrationp. xxvi
3D: the next generationp. 1
What's in a name?p. 3
The applicationp. 4
The familiarp. 4
The dreamp. 4
The realityp. 5
The rebirthp. 5
The user interfacep. 6
The primalp. 6
The virtualp. 6
The analyticalp. 7
The computer systemp. 8
The Plain Old Computer Systemp. 8
The mousep. 9
The keyboardp. 9
Summaryp. 10
Patterns and constraintsp. 12
Application patternsp. 12
Design applicationsp. 13
Simulation applicationsp. 14
Analysis applicationsp. 15
Control applicationsp. 16
Application constraintsp. 17
Goldilocks and the three deesp. 17
Let gravity pullp. 18
Creating your own realityp. 19
Flavors of constraintp. 19
Summaryp. 21
Spaces and relationsp. 23
Space, the initial frontierp. 23
The worldp. 24
The viewp. 24
The displayp. 26
The screenp. 27
Spatial coordinatesp. 27
Right-handed systemp. 28
Positionp. 28
Rotationp. 28
Mouse coordinatesp. 29
Spatial relationshipsp. 31
External view geometryp. 31
Internal view geometryp. 33
Summaryp. 37
3D user interface techniquesp. 39
Controlp. 41
Physical input devicesp. 42
The keyboardp. 43
The mousep. 45
Input interpretationp. 46
Asking the right questionsp. 46
Other interpretationsp. 47
Control personaep. 47
Control basicsp. 48
Control primitivesp. 49
Mouse gesturesp. 51
Target actuationp. 55
Coordinate mappingp. 57
Movement, objects, and viewsp. 58
Direct mappingp. 60
Intuitive mappingp. 64
Source and target spacep. 64
Display-relative mappingp. 65
World-relative mappingp. 66
Object pickingp. 69
Mixed usagep. 70
Summaryp. 70
Feedbackp. 72
Feedback rolesp. 73
Information feedbackp. 75
Control feedbackp. 77
Basic elementsp. 79
Identifiersp. 80
Calloutsp. 81
Tooltipsp. 82
Indicatorsp. 82
Handlesp. 84
Cursorp. 85
Audiop. 86
Sound effectsp. 87
Visual attributesp. 87
Simple dynamicsp. 88
Action-centric feedbackp. 90
Object-centric feedbackp. 90
Task-centric feedbackp. 91
Interaction statesp. 91
State definitionsp. 93
Multi-Shapep. 97
Summaryp. 98
Visualizationp. 100
Data visualizationp. 101
Feedback visual attributesp. 103
Distinctionp. 104
Sizep. 105
Orientationp. 107
Visibilityp. 107
Densityp. 109
Display space techniquesp. 110
Display layoutp. 110
Overlay, underlay, and overlapp. 111
Pseudo-display overlayp. 113
World space techniquesp. 114
Display facingp. 114
Constant sizep. 115
World overlayp. 116
Perfect overlayp. 117
Revealmentp. 117
Multiple viewsp. 121
Overviewsp. 122
Summaryp. 124
Navigationp. 125
Forms of navigationp. 126
Spatial navigationp. 126
Contextual navigationp. 129
Camera techniquesp. 132
Manual controlp. 133
Assisted controlp. 137
Scripted controlp. 143
Summaryp. 146
Manipulationp. 148
Control personaep. 149
First personp. 150
Second personp. 151
Third personp. 152
Feedback elementsp. 154
Feelersp. 155
Projectionsp. 156
Skirtsp. 157
Shadowsp. 158
Outlinesp. 158
dxTic marksp. 159
Rulersp. 160
Snapsp. 161
Pseudo-tactile feedbackp. 162
Marked dragp. 163
Sticky dragp. 164
Snap dragp. 165
Solid dragp. 165
Strong gripp. 166
Weak gripp. 166
Snappingp. 166
Explicit versus implicitp. 167
Snap operationsp. 167
Snap typingp. 170
Snap geometryp. 170
Attachmentp. 170
Physical versus logicalp. 172
Attachment versus snappingp. 172
Attachment operationsp. 172
Detachment operationsp. 173
Gluingp. 173
Stickingp. 174
Linkingp. 174
Anchoringp. 175
Specificationp. 175
Dumb shapesp. 176
Smart shapesp. 176
Configurationp. 178
Summaryp. 179
Accessp. 180
In-scene groupingp. 181
Physical versus logicalp. 181
Grouping operationsp. 182
Ungrouping operationsp. 183
Out-of-scene accessp. 184
Data presentationp. 185
Non-Spatial Accessp. 186
Data palettep. 188
Data catalogp. 189
Data previewp. 191
Searchp. 192
Data transferp. 192
Data instantiationp. 193
Nonobject accessp. 193
Data basketp. 193
Teleportp. 195
3D drag-and-dropp. 195
Summaryp. 199
Java 3D user interface essentialsp. 201
Java 3D introductionp. 203
What is Java 3D?p. 203
Where is Swing 3D?p. 204
Just an introductionp. 205
3D UI roadmapp. 205
Java 3D and its friendsp. 208
Java 3D resourcesp. 208
A moving targetp. 209
Summaryp. 210
UI spaces and the scene graphp. 211
3D UI spacesp. 212
The universep. 213
The worldp. 214
The viewp. 214
The displayp. 215
The screenp. 217
Scene graph, et al.p. 217
Scene graph basicsp. 217
Sharing subgraphsp. 219
Group nodesp. 220
Spatial transformsp. 221
Leaf nodesp. 221
Node boundsp. 222
Logistics and optimizationp. 224
Dead or alivep. 224
Capability bitsp. 225
BranchGroup and compilationp. 225
Summaryp. 226
Lights, shapes, textures and soundsp. 227
Lightsp. 228
Shapesp. 229
Geometryp. 229
Appearancep. 231
Transparencyp. 232
Loadingp. 232
Texturesp. 233
Filteringp. 233
Transparencyp. 234
Loadingp. 235
Soundsp. 236
Loadingp. 237
Summaryp. 238
Actions and interactionsp. 239
Spatial transformsp. 240
Local coordinatesp. 240
Transform3Dp. 241
getLocalToVworldp. 244
Inverse getLocalToVworldp. 246
Local-to-localp. 247
Object pickingp. 247
Picking overviewp. 248
Picking qualityp. 248
Picking modelp. 250
Behaviorsp. 256
The behavior modelp. 256
User inputsp. 258
Interpolatorsp. 259
Collision detectionp. 259
Change detectionp. 261
Summaryp. 264
In a Java worldp. 266
Swingp. 266
Heavyweight versus lightweightp. 266
Mixing Java 3D and Swingp. 267
Examplesp. 268
Drag-and-dropp. 268
Drag-and-drop modelp. 269
3D drag-and-dropp. 275
Appletsp. 278
Java 3D in appletsp. 278
Real-world issuesp. 280
Summaryp. 282
Java 3D framework and examplesp. 283
Why a framework?p. 285
Approachp. 286
Stick to the basics (when possible)p. 286
Sun utilitiesp. 286
Application utilitiesp. 287
Progression of examplesp. 287
Javadoc and UMLp. 287
Software organizationp. 287
Running the examplesp. 289
Design patternsp. 289
Event model generalitiesp. 289
Event model specificsp. 290
Building blocksp. 291
Splittersp. 292
Triggersp. 292
Filtersp. 292
Mappersp. 292
Plug-insp. 293
Conveniencep. 293
Optimizationp. 294
Garbage collectionp. 294
Many small building blocksp. 295
Dragging, keying, and pickingp. 296
Double versus floatp. 296
Capabilities and compilingp. 296
Summaryp. 297
Framework utilitiesp. 298
Test objectsp. 299
Shapesp. 299
Lightsp. 299
Application spacesp. 300
AppWorld classp. 300
AppViewclassp. 300
AppDisplay classp. 301
Example: SimpleAppp. 302
Other utilitiesp. 305
Building blocksp. 305
Display printingp. 306
Debug classp. 306
Assert classp. 307
ModelLoader classp. 307
Summaryp. 308
Control basicsp. 309
Input sensorsp. 310
Input classp. 310
InputSensor classp. 313
MouseDragSensor classp. 314
KeyboardArrowSensor classp. 315
MouseMoveSensor classp. 315
KeyboardModifierSensor classp. 316
Example: InputSensorsp. 317
Input enablingp. 322
InputModifierTrigger classp. 324
Enable classesp. 324
EnableInputDragFilter classp. 324
Example: InputEnablingp. 326
Input filteringp. 328
Frameworkp. 331
Example: InputFiltersp. 332
Summaryp. 334
Control actuationp. 335
Target actuationp. 336
Actuator classp. 336
Outer and inner plug-insp. 338
ActuatorPlugin Classp. 338
TGGeometryPlugin classp. 343
ActuatorPlugin Revisitedp. 345
Basic coordinate mappingp. 350
Basic requirementsp. 350
InputDragMapper classp. 351
InputDragMapperPlugin classp. 352
DirectInputDragPlugin Classp. 353
InputDragMapper revisitedp. 355
Example: Actuatorsp. 357
Actuator groupsp. 360
GroupChain Classp. 361
ActuatorGroup classp. 362
ActuatorTransformGroup classp. 362
ActuatorTransformGroup subclassesp. 363
Example: ActuatorGroupsp. 366
Summaryp. 368
Control intuitionp. 369
Object pickingp. 370
PickEngine classp. 370
ObjectPickMapper classp. 372
OverEnableMapper classp. 373
Example: OverEnablingp. 374
Intuitive mappingp. 376
Source and target spacesp. 377
Control chain spacesp. 378
IntuitiveDragMapper classp. 380
SourceDragFilter classp. 380
SourceDragMapper classp. 381
Display-relative mappingp. 381
DrmDragPlugin classp. 382
Example: DrmMappingp. 383
World-relative mapping WRMp. 386
WrmDragPlugin classp. 386
QuasiWrmDragPlugin classp. 388
PseudoWrmDragPlugin classp. 389
Example: WrmMappingp. 390
Summaryp. 395
Feedbackp. 397
Interaction feedbackp. 398
FeedbackTarget interfacep. 398
MultiShape classp. 398
MultiShape subclassesp. 399
FeedbackTrigger classp. 400
FeedbackTrigger subclassesp. 401
Example: MultiShapingp. 402
Interaction managementp. 411
FeedbackManager classp. 411
FeedbackMinion classp. 412
FeedbackManager subclassesp. 413
FeedbackGroupManager classp. 413
Example: TargetSelectingp. 415
Feedback elementsp. 419
TextureShape classp. 420
TextureShape subclassesp. 421
SoundEffect Classp. 421
Example: TargetDecoratingp. 422
Summaryp. 428
Visualizationp. 429
Change detectionp. 430
Change poster modelp. 431
ChangePoster classp. 432
World space techniquesp. 433
World space classesp. 433
Example: DisplayFacingp. 435
Example: ConstantSizingp. 440
Example: WorldOverlayingp. 441
Example: PerfectOverlayingp. 443
Display space techniquesp. 446
Display space classesp. 446
Example: DisplayOverlayingp. 448
Multiple displaysp. 450
Example: MultiDisplayingp. 451
Summaryp. 452
Manipulationp. 453
Passive feelersp. 453
Passive feeler classesp. 454
Bounding box utilitiesp. 454
Example: PassiveFeelingp. 455
Manipulation personaep. 461
A Better Wayp. 461
Example: SecondPersonp. 462
Example: ThirdPersonp. 468
Summaryp. 475
Accessp. 477
Java 3D and Swingp. 477
FancyApp classesp. 477
Example: FancyAppp. 479
Java 3D and DnDp. 485
DndApp classesp. 485
Example: DndAppp. 487
Summaryp. 487
Wrap-upp. 488
Hindsight is perfectp. 488
Event modelp. 489
Event routingp. 489
Feedback modelp. 489
Input sensorsp. 489
The softwarep. 490
Acronymsp. 491
Indexp. 493
Table of Contents provided by Syndetics. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program