4. THREE DIMENSIONAL DISPLAY METHODS
Three Dimensional Concepts
Three Dimensional Display Methods
 To obtain a display of a three dimensional scene that has been modeled in world coordinates, we
must setup a co-ordinate reference for the „camera‟.
 This coordinate reference defines the position and orientation for the plane of the camera film
(Figure 4.1) which is the plane we want to use to display a view of the objects in the scene.
 Object descriptions are then transferred to the camera reference coordinates and projected onto
the selected display plane.
 The objects can be displayed in wire frame form, or we can apply lighting and surface rendering
techniques to shade the visible surfaces.
Parallel Projection
 Parallel projection is a method for generating a view of a solid object is to project points on the
object surface along parallel lines onto the display plane.
 In parallel projection, parallel lines in the world coordinate scene project into parallel lines on the
two dimensional display planes.
 This technique is used in engineering and architectural drawings to represent an object with a set
of views that maintain relative proportions of the object.
 The appearance of the solid object can be reconstructed from the major views.
Perspective Projection
 It is a method for generating a view of a three dimensional scene is to project points to the display
plane along converging paths.
 This makes objects further from the viewing position to be displayed smaller than objects of the
same size that are nearer to the viewing position.In a perspective projection, parallel lines in a scene that
are not parallel to the display plane areprojected into converging lines.
•Scenes displayed using perspective projections appear more realistic, since this is the way that
our eyes and a camera lens form images.
Depth Cueing
 Depth information is important to identify the viewing direction, which is the front and which is
the back of displayed object.
 Depth cueing is a method for indicating depth with wire frame displays is to vary the intensity of
objects according to their distance from the viewing position.
 Depth cueing is applied by choosing maximum and minimum intensity (or color) values and a
range of distances over which the intensities are to vary.
Visible line and surface identification
 A simplest way to identify the visible line is to highlight the visible lines or to display them in a
different color.
 Another method is to display the non visible lines as dashed lines.
Surface Rendering
 Surface Rendering method is used to generate a degree of realism in a displayed scene.
 Realism is attained in displays by setting the surface intensity of objects according to the lighting
conditions in the scene and surface characteristics.
 Lighting conditions include the intensity and positions of light sources and the background
illumination.
 Surface characteristics include degree of transparency and how rough or smooth the surfaces are
to be.
Exploded and Cutaway Views
 Exploded and cutaway views of objects can be used to show the internal structure and
relationship of the objects parts.
 An alternative to exploding an object into its component parts is the cut away view which
removes part of the visible surfaces to show internal structure.
Three-dimensional and Stereoscopic Views
 In Stereoscopic views, three dimensional views can be obtained by reflecting a raster image from
a vibrating flexible mirror.
 The vibrations of the mirror are synchronized with the display of the scene on the CRT.
 As the mirror vibrates, the focal length varies so that each point in the scene is projected to a
position corresponding to its depth. 
 Stereoscopic devices present two views of a scene; one for the left eye and the other for the right
eye.
 The two views are generated by selecting viewing positions that corresponds to the two eye
positions of a single viewer.
 These two views can be displayed on alternate refresh cycles of a raster monitor, and viewed
through glasses that alternately darken first one lens then the other in synchronization with the
monitor refresh cycles.
THREE DIMENSIONAL GRAPHICS PACKAGES
The 3D package must include methods for mapping scene descriptions onto a flat viewing
surface.
There should be some consideration on how surfaces of solid objects are to be modeled, how
visible surfaces can be identified, how transformations of objects are preformed in space, and how to
describe the additional spatial properties.
World coordinate descriptions are extended to 3D, and users are provided with output and input
routines accessed with specifications such as
 Polyline3(n, WcPoints)
 Fillarea3(n, WcPoints)
 Text3(WcPoint, string)
 Getlocator3(WcPoint)
 Translate3(translate Vector, matrix Translate)
Where points and vectors are specified with 3 components and transformation matrices
have 4 rows and 4 columns.
INTERACTIVE INPUT METHODS AND GRAPHICAL USER INTERFACES
Input of Graphical Data
Graphics software can use a variety of input data:
 Coordinate positions
 Character-string specifications
 Geometric transformation values
 Viewing conditions
 Illumination parameters
Many graphics systems and various standards organizations (ISO, ANSI) provide input functions for such
data.
Input functions are often classified by the type of data they process.
Logical Classification of Input Devices
When input functions are classified by data type,any device that can supply needed data is called
a logical input device for that data type.
 Logical input-data classifications:
 Locator – specify one coordinate position
 Stroke – specify a set of coordinate positions
 String – specify some text input
 Valuator – specify a scalar value
 Choice – select a menu option
 Pick – select a component of a picture
Locator Devices
 Common approach is to use the screen cursor at some location.
 Mouse, touchpad, thumbwheel, dial, touch-screen,etc. can be used for screen cursor positioning.
 Keyboards, particularly arrow keys (with modifiers) can be used to indicate screen cursor
movement.
 Light pens can also be used, but there are less common than the other techniques.
Stroke Devices
 Locator devices can also be used to provide multiple coordinate positions.
 “Click and drag” actions with a mouse provide stroke input, specifically a start and end
coordinate (as for a line).
 Buttons (e.g. on a keyboard) can be used to modify the actions. For example, pressing a shift key
may constrain coordinate positions to a horizontal or vertical line.
String Devices
 The obvious choice for string input is a keyboard.
 The keyboard need not necessarily be a “full” keyboard as found on a traditional computer; it is
often also one of these:
o A keyboard with a limited set of keys appropriate to a specific application
o A simulated keyboard displayed on a touch-sensitive screen.
Valuator Devices
 Numerous devices can be used as valuators:
o Dials (e.g. potentiometers or rotary switches)
o Keyboards
o Joysticks, pressure-sensitive devices, etc.
o Various on-screen widgets likeslider bars, buttons, rotating scales, etc.
 In all cases it is appropriate to provide user feedback so verification (and correction) of the input
value is possible.
Choice Devices
Numerous possibilities exist:
 One of many pushbuttons
 Keyboards
 On-screen menus and cursor-positioning devices
 Multi-level menus for complicated choices
 Voice input (text suggests this for small # of choices)
Pick Devices
 Can be used to select an entire object, a facet of a surface, a polygon edge, a vertex, etc.
 Using the mouse, we translate a screen coordinate position to a world coordinate position using
inverse transformations.
 Object selection first tries to determine if the coordinate position is uniquely associated with a
single object.
 If that fails, then coordinate extents of individual object components (e.g. line segments) can be
tested.
Object Selection
 If coordinate-extent tests don‟t resolve to a single object, then distance to individual line
segments could be computed (see next slide).
 Pick actions can also specify selection of multiple objects at once, especially if these multiple
objects are in a specified region, or are somehow grouped to represent a single object.
 Keyboards can be used to allow selection of an on-screen objects and sequencing through the
objects.
 Named objects can also be selected by keyboard.
Graphical Data: Input Functions
 Typical input options
 Interaction mode:
• Program-initiated input
• User-initiated input
• Simultaneous operation
 Physical input device selection
 When and where to obtain input for a particular data set
Input Modes
 Request Mode
• Application initiates data input
• Processing waits (blocked) until input is available
 Sample Mode
• Application and input devices operate simultaneously
• When application needs new data, it “samples” the data that has been provided
 Event Mode
• Application and input devices operate simultaneously
• Input actions are saved in an event queue, which is processed by the application when
desire
Any number of devices can be operating at the same time in sample and event modes. An event mode
within a logical calss for a particular physical device operating on a specified workstation is declared with one of
six input-class functions of the form
Set …Mode (ws, devicecode, inputmode, echoFlag)
Device code-positive integer
Input mode-request, sample or event
Echoflag- echo or noecho
Echo Feedback
• As mentioned earlier, it is appropriate in many cases for input activity to result in some feedback
to a user.
• The feedback can take many forms, depending on the type of input
• Echo of keyboard input Display of a selection window
• Highlighting of selected objects
• Range of values or resolution (for valuator input)
Callback Functions
• These include functions that specify what actions are to take place when certain events (like input
actions) occur.
• Examples include
• “normal” and special keyboard entry
• mouse button presses and mouse motion
Interactive Picture-Construction
Basic Positioning Methods
Obvious possibility include using a mouse or a trackball Specific object type could be
specified (e.g. square, ellipse) and “filled in” given parameters (e.g. from keyboard or mouse)
• Numeric position information could be displayed as text on the screen (or other device)
Keyboard, dials, etc. could be used to make small interactive adjustments in coordinate values
Dragging
• Common technique – select an object and draw to a different location Often performed
with mouse – press button to select object, move mouse to desired location, release
button
Constraints
• With additional input (e.g. from keyboard), the parameters for an interactively-drawn
object can be limited. For example, holding shift key while drawing a line may constrain
the angle between the line and a coordinate axis

4. THREE DIMENSIONAL DISPLAY METHODS

  • 1.
    4. THREE DIMENSIONALDISPLAY METHODS Three Dimensional Concepts Three Dimensional Display Methods  To obtain a display of a three dimensional scene that has been modeled in world coordinates, we must setup a co-ordinate reference for the „camera‟.  This coordinate reference defines the position and orientation for the plane of the camera film (Figure 4.1) which is the plane we want to use to display a view of the objects in the scene.  Object descriptions are then transferred to the camera reference coordinates and projected onto the selected display plane.  The objects can be displayed in wire frame form, or we can apply lighting and surface rendering techniques to shade the visible surfaces. Parallel Projection  Parallel projection is a method for generating a view of a solid object is to project points on the
  • 2.
    object surface alongparallel lines onto the display plane.  In parallel projection, parallel lines in the world coordinate scene project into parallel lines on the two dimensional display planes.  This technique is used in engineering and architectural drawings to represent an object with a set of views that maintain relative proportions of the object.  The appearance of the solid object can be reconstructed from the major views. Perspective Projection  It is a method for generating a view of a three dimensional scene is to project points to the display plane along converging paths.  This makes objects further from the viewing position to be displayed smaller than objects of the same size that are nearer to the viewing position.In a perspective projection, parallel lines in a scene that are not parallel to the display plane areprojected into converging lines. •Scenes displayed using perspective projections appear more realistic, since this is the way that our eyes and a camera lens form images. Depth Cueing  Depth information is important to identify the viewing direction, which is the front and which is the back of displayed object.  Depth cueing is a method for indicating depth with wire frame displays is to vary the intensity of objects according to their distance from the viewing position.  Depth cueing is applied by choosing maximum and minimum intensity (or color) values and a range of distances over which the intensities are to vary. Visible line and surface identification  A simplest way to identify the visible line is to highlight the visible lines or to display them in a different color.  Another method is to display the non visible lines as dashed lines. Surface Rendering  Surface Rendering method is used to generate a degree of realism in a displayed scene.  Realism is attained in displays by setting the surface intensity of objects according to the lighting conditions in the scene and surface characteristics.  Lighting conditions include the intensity and positions of light sources and the background illumination.  Surface characteristics include degree of transparency and how rough or smooth the surfaces are to be. Exploded and Cutaway Views  Exploded and cutaway views of objects can be used to show the internal structure and
  • 3.
    relationship of theobjects parts.  An alternative to exploding an object into its component parts is the cut away view which removes part of the visible surfaces to show internal structure. Three-dimensional and Stereoscopic Views  In Stereoscopic views, three dimensional views can be obtained by reflecting a raster image from a vibrating flexible mirror.  The vibrations of the mirror are synchronized with the display of the scene on the CRT.
  • 4.
     As themirror vibrates, the focal length varies so that each point in the scene is projected to a position corresponding to its depth.   Stereoscopic devices present two views of a scene; one for the left eye and the other for the right eye.  The two views are generated by selecting viewing positions that corresponds to the two eye positions of a single viewer.  These two views can be displayed on alternate refresh cycles of a raster monitor, and viewed through glasses that alternately darken first one lens then the other in synchronization with the monitor refresh cycles. THREE DIMENSIONAL GRAPHICS PACKAGES The 3D package must include methods for mapping scene descriptions onto a flat viewing surface. There should be some consideration on how surfaces of solid objects are to be modeled, how visible surfaces can be identified, how transformations of objects are preformed in space, and how to describe the additional spatial properties. World coordinate descriptions are extended to 3D, and users are provided with output and input routines accessed with specifications such as  Polyline3(n, WcPoints)  Fillarea3(n, WcPoints)  Text3(WcPoint, string)  Getlocator3(WcPoint)  Translate3(translate Vector, matrix Translate) Where points and vectors are specified with 3 components and transformation matrices have 4 rows and 4 columns. INTERACTIVE INPUT METHODS AND GRAPHICAL USER INTERFACES Input of Graphical Data Graphics software can use a variety of input data:  Coordinate positions  Character-string specifications  Geometric transformation values  Viewing conditions  Illumination parameters
  • 5.
    Many graphics systemsand various standards organizations (ISO, ANSI) provide input functions for such data. Input functions are often classified by the type of data they process. Logical Classification of Input Devices When input functions are classified by data type,any device that can supply needed data is called a logical input device for that data type.  Logical input-data classifications:  Locator – specify one coordinate position  Stroke – specify a set of coordinate positions  String – specify some text input  Valuator – specify a scalar value  Choice – select a menu option  Pick – select a component of a picture Locator Devices  Common approach is to use the screen cursor at some location.  Mouse, touchpad, thumbwheel, dial, touch-screen,etc. can be used for screen cursor positioning.  Keyboards, particularly arrow keys (with modifiers) can be used to indicate screen cursor movement.  Light pens can also be used, but there are less common than the other techniques. Stroke Devices  Locator devices can also be used to provide multiple coordinate positions.  “Click and drag” actions with a mouse provide stroke input, specifically a start and end coordinate (as for a line).  Buttons (e.g. on a keyboard) can be used to modify the actions. For example, pressing a shift key may constrain coordinate positions to a horizontal or vertical line. String Devices  The obvious choice for string input is a keyboard.  The keyboard need not necessarily be a “full” keyboard as found on a traditional computer; it is often also one of these: o A keyboard with a limited set of keys appropriate to a specific application o A simulated keyboard displayed on a touch-sensitive screen. Valuator Devices  Numerous devices can be used as valuators: o Dials (e.g. potentiometers or rotary switches)
  • 6.
    o Keyboards o Joysticks,pressure-sensitive devices, etc. o Various on-screen widgets likeslider bars, buttons, rotating scales, etc.  In all cases it is appropriate to provide user feedback so verification (and correction) of the input value is possible. Choice Devices Numerous possibilities exist:  One of many pushbuttons  Keyboards  On-screen menus and cursor-positioning devices  Multi-level menus for complicated choices  Voice input (text suggests this for small # of choices) Pick Devices  Can be used to select an entire object, a facet of a surface, a polygon edge, a vertex, etc.  Using the mouse, we translate a screen coordinate position to a world coordinate position using inverse transformations.  Object selection first tries to determine if the coordinate position is uniquely associated with a single object.  If that fails, then coordinate extents of individual object components (e.g. line segments) can be tested. Object Selection  If coordinate-extent tests don‟t resolve to a single object, then distance to individual line segments could be computed (see next slide).  Pick actions can also specify selection of multiple objects at once, especially if these multiple objects are in a specified region, or are somehow grouped to represent a single object.  Keyboards can be used to allow selection of an on-screen objects and sequencing through the objects.  Named objects can also be selected by keyboard.
  • 7.
    Graphical Data: InputFunctions  Typical input options  Interaction mode: • Program-initiated input • User-initiated input • Simultaneous operation  Physical input device selection  When and where to obtain input for a particular data set Input Modes  Request Mode • Application initiates data input • Processing waits (blocked) until input is available  Sample Mode • Application and input devices operate simultaneously • When application needs new data, it “samples” the data that has been provided  Event Mode • Application and input devices operate simultaneously • Input actions are saved in an event queue, which is processed by the application when desire Any number of devices can be operating at the same time in sample and event modes. An event mode within a logical calss for a particular physical device operating on a specified workstation is declared with one of six input-class functions of the form Set …Mode (ws, devicecode, inputmode, echoFlag) Device code-positive integer Input mode-request, sample or event Echoflag- echo or noecho
  • 8.
    Echo Feedback • Asmentioned earlier, it is appropriate in many cases for input activity to result in some feedback to a user. • The feedback can take many forms, depending on the type of input • Echo of keyboard input Display of a selection window • Highlighting of selected objects • Range of values or resolution (for valuator input) Callback Functions
  • 9.
    • These includefunctions that specify what actions are to take place when certain events (like input actions) occur. • Examples include • “normal” and special keyboard entry • mouse button presses and mouse motion Interactive Picture-Construction Basic Positioning Methods Obvious possibility include using a mouse or a trackball Specific object type could be specified (e.g. square, ellipse) and “filled in” given parameters (e.g. from keyboard or mouse) • Numeric position information could be displayed as text on the screen (or other device) Keyboard, dials, etc. could be used to make small interactive adjustments in coordinate values Dragging • Common technique – select an object and draw to a different location Often performed with mouse – press button to select object, move mouse to desired location, release button Constraints • With additional input (e.g. from keyboard), the parameters for an interactively-drawn object can be limited. For example, holding shift key while drawing a line may constrain the angle between the line and a coordinate axis