Multiple Views

Multiple Views

Chi Chung Ko (National University of Singapore, Singapore) and Chang Dong Cheng (CCS Automation PTE LTD, Singapore)
Copyright: © 2009 |Pages: 26
DOI: 10.4018/978-1-59904-789-8.ch011
OnDemand PDF Download:
$37.50

Abstract

Our discussions in previous chapters have centered on the creation and interaction of visual objects in a virtual 3D world. The objects and scenes constructed, however, will ultimately have to be shown on appropriate display devices such as a single PC monitor, a stereoscopic head mount display (HMD), or a multi screen project system (Salisbury, Farr, & Moore, 1999). Also, it is quite often that we may need to show different views of the created universe at the same time for certain applications. Even for the case of a single PC monitor, showing different views of the same objects in different windows will be instructive and informative, and may be essential in some cases. While we have been using a single simple view in earlier chapters, Java 3D has inherent capabilities to give multiple views of the created 3D world for supporting, say, the use of head tracking HMD systems for user to carry out 3D navigation (Yabuki, Machinaka, & Li, 2006). In this chapter, we will discuss how multiple views can be readily generated after outlining the view model and the various components that make up the simple universe view used previously.
Chapter Preview
Top

View Model

Figure 1 shows the view model used in Java 3D. As can be seen, the ViewPlatform is essential a magic carpet on which the eye of the user is located. By default, it is positioned at the origin and looks into the negative z-axis. Technically, the eye forms part of a View object, which also consists of a PhysicalBody and PhysicalEnvironment objects. The latter two give the actual physical characteristics of the user such as the eye and ear positions.

Figure 1.

View model

As shown, the eye sees a single view of the 3D world with bounds defined by the view frustum. Visual objects within this volume will be rendered onto a canvas or a Canvas3D object. Basically a 2D window to the 3D virtual world, it is the Canvas3D object that will be rendered for display on the appropriate 2D system display device.

Top

Single View

The single eye view of the 3D world as depicted in Figure 1 corresponds to what has been used in previous chapters through the SimpleUniverse utility class. The availability of this utility allows one to develop a 3D application that uses a single view rapidly and easily without the need to understand the mechanism of viewing fully.

However, to develop multiple view applications, be it based on multiple view platforms, canvas, or other means, an appreciation of how the view model is implemented is needed. In this section, we will outline the structure of the SimpleUniverse class and show how it can be implemented using core API functions. This will form the foundation for making changes to result in multiple views.

Figure 2 shows the scene graph structure of a typical Java 3D program. The SimpleUniverse object, created from using the relevant utility class to provide a minimal Virtual Universe, corresponds to the group of objects within the dashed line. To implement the SimpleUniverse object using core API functions, we need to create all the necessary components in the same manner as shown. Specifically, the following steps should be carried out:

Figure 2.

Simple Universe scene graph

  • • Create a VirtualUniverse object.

  • • Create a relevant Locale object and attach this to the VirtualUniverse.

  • • Construct content branches.

  • • Compile branch graphs and attach to Locale.

  • • Construct view branch and attach to Locale.

  • • Create a Canvas3D object.

  • • Create a TransformGroup TG.

  • • Create a ViewPlatform object VP and attach to the TransformGroup TG.

  • • Create a View object and attach to the ViewPlatform.

  • • Create a Canvas3D object and attach to the View.

  • • Create a PhysicalBody object and attach to the View.

  • • Create a PhysicalEnvironment object and attach to the View.

  • • Attach the TransformGroup to view branch.

Complete Chapter List

Search this Book:
Reset
Table of Contents
Preface
Chi Chung Ko
Chapter 1
Chi Chung Ko, Chang Dong Cheng
Web-based virtual reality is fast becoming an important application and technological tools in the next generation of games and simulation as well... Sample PDF
Virtual Reality and Java 3D
$37.50
Chapter 2
Java 3D Overview  (pages 18-31)
Chi Chung Ko, Chang Dong Cheng
In the last chapter, a brief introduction on the creation of 3D content through the use of Java 3D and other programming methodologies for virtual... Sample PDF
Java 3D Overview
$37.50
Chapter 3
Geometry Objects  (pages 32-74)
Chi Chung Ko, Chang Dong Cheng
To create 3D graphics, we have to build graphics or visual objects and position them appropriately in a virtual scene. In general, there are three... Sample PDF
Geometry Objects
$37.50
Chapter 4
Appearance Objects  (pages 75-96)
Chi Chung Ko, Chang Dong Cheng
In the last chapter, the creation of the skeletons or shapes of 3D objects has been discussed through the use of geometry objects in Java 3D. In... Sample PDF
Appearance Objects
$37.50
Chapter 5
Textures  (pages 97-113)
Chi Chung Ko, Chang Dong Cheng
Although extensive use of basic attributes such as color and material will be able to make an object realistic to the human user, it will be time... Sample PDF
Textures
$37.50
Chapter 6
Chi Chung Ko, Chang Dong Cheng
How the properties of virtual 3D objects can be specified and defined has been discussed in earlier chapters. However, how a certain virtual object... Sample PDF
Lighting, Fog, and Background
$37.50
Chapter 7
Animation Objects  (pages 132-158)
Chi Chung Ko, Chang Dong Cheng
We have discussed important Java 3D objects that are basically static in the last few chapters. Starting from this chapter, we will be looking at... Sample PDF
Animation Objects
$37.50
Chapter 8
Interaction  (pages 159-187)
Chi Chung Ko, Chang Dong Cheng
In Chapter VII, we discussed how animation can be applied in Java 3D to increase the visual impact of a virtual 3D world and illustrate the dynamic... Sample PDF
Interaction
$37.50
Chapter 9
Picking  (pages 188-216)
Chi Chung Ko, Chang Dong Cheng
The last two chapters have discussed how animation and interaction can be created in Java 3D to increase visual impact, to show object dynamics and... Sample PDF
Picking
$37.50
Chapter 10
Chi Chung Ko, Chang Dong Cheng
One of the most useful and important advantages of 3D graphics rendering and applications is that there is the possibility for the user to navigate... Sample PDF
Navigation, Input Devices, and Collision
$37.50
Chapter 11
Multiple Views  (pages 238-263)
Chi Chung Ko, Chang Dong Cheng
Our discussions in previous chapters have centered on the creation and interaction of visual objects in a virtual 3D world. The objects and scenes... Sample PDF
Multiple Views
$37.50
Chapter 12
Audio  (pages 264-275)
Chi Chung Ko, Chang Dong Cheng
Of all the human perceptions, two of the most important ones are perhaps vision and sound, for which we have developed highly specialized sensors... Sample PDF
Audio
$37.50
Chapter 13
Chi Chung Ko, Chang Dong Cheng
In this final chapter, we will describe the use of Java 3D as a visualization technology in the development of a Web-based 3D real time oscilloscope... Sample PDF
A Web-Based 3D Real Time Oscilloscope Experiment
$37.50
Appendix A: Downloading Software
Appendix B: Running the Rotating Cube Program
Appendix C: ViewManager
Appendix D: Main Applet for Web-Based 3D Experiment
Appendix E: Scene Graph Implementation for Web-Based 3D Experiment
Appendix F: Knob Class for Web-Based 3D Experiment
Appendix G: Navigation and Collision Detection for Web-Based 3D Experiment
Appendix H: Picking for Web-Based 3D Experiment
Appendix I: Program Summary and Screen Capture
About the Authors