Visualization Concepts

Similar documents
Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

9. Visible-Surface Detection Methods

Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations

Hidden surface removal. Computer Graphics

Computer Graphics. Bing-Yu Chen National Taiwan University

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Computer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura

4.5 VISIBLE SURFACE DETECTION METHODES

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

ME COMPUTER AIDED DESIGN COMPUTER AIDED DESIGN 2 MARKS Q&A

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

CEng 477 Introduction to Computer Graphics Fall 2007

Real-Time Non- Photorealistic Rendering

Hidden Surface Removal

Computer Graphics II

Visibility: Z Buffering

CS488. Visible-Surface Determination. Luc RENAMBOT

8. Hidden Surface Elimination

8. Hidden Surface Elimination

3D Object Representation

Visible Surface Determination: Intro

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Spatial Data Structures

Spatial Data Structures

Graphics for VEs. Ruth Aylett

Spatial Data Structures

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Image Precision Silhouette Edges

Triangle Rasterization

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Werner Purgathofer

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

9. Illumination and Shading

Spatial Data Structures for Computer Graphics

Rendering. Basic Math Review. Rasterizing Lines and Polygons Hidden Surface Remove Multi-pass Rendering with Accumulation Buffers.

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Graphics and Interaction Rendering pipeline & object modelling

Computer Graphics Shadow Algorithms

COMP environment mapping Mar. 12, r = 2n(n v) v

Shadows in the graphics pipeline

Spiky Sphere. Finding the Sphere tool. Your first sphere

Visibility and Occlusion Culling

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

CS559 Computer Graphics Fall 2015

Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

Graphics for VEs. Ruth Aylett

COMP30019 Graphics and Interaction Ray Tracing

9. Three Dimensional Object Representations

History of computer graphics

Problem Max. Points Total 80

Computer Graphics Lecture 11

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Radiosity. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

3D Modeling: Surfaces

The University of Calgary

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Terrain Rendering Research for Games. Jonathan Blow Bolt Action Software

Lecture 8 Ray tracing Part 1: Basic concept Yong-Jin Liu.

Animation & Rendering

Speeding up your game

Algorithms for GIS:! Quadtrees

VIII. Visibility algorithms (II)

Lecture 4. Viewing, Projection and Viewport Transformations

Clipping. CSC 7443: Scientific Information Visualization

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Visible Surface Detection Methods

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

Chapter 7. Conclusions and Future Work

AutoCAD DWG Drawing Limitations in SAP 3D Visual Enterprise 9.0 FP02

Spatial Data Structures

Lecturer Athanasios Nikolaidis

3D Rasterization II COS 426

Class of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.

Line Arrangement. Chapter 6

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Lecture 10: Ray tracing

Spatial Data Structures

Contours & Implicit Modelling 4

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1

Intersection Acceleration

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Spira Mirabilis. Finding the Spiral tool. Your first spiral

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

ESCHERLIKE developed by Géraud Bousquet. User s manual C03-04 STROKE WIDTH C03-05 TRANSPARENCY C04-01 SAVE YOUR WORK C04-02 OPEN A FILE

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

MODELING AND HIERARCHY

Recursive Ray Tracing. Ron Goldman Department of Computer Science Rice University

4: Polygons and pixels

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

3D Polygon Rendering. Many applications use rendering of 3D polygons with direct illumination

Transcription:

AML710 CAD LECTURE 36 Visualization Concepts Visible Lines and Surfaces

Visibility - Hidden lines / Surfaces Many applications require the visibility determination for lines, points, edges, surfaces or volumes with reference to an observer Applications: Realistic representation of solids Simulations where dynamically the object changes shape Computer animations Wireframe 3D solids

Notes on Visibility Algorithms For real time applications faster algorithms are required which can cope with the determination of visible surfaces. However, transparency, texture, reflections which are commonly used are not part of the visibility algorithms. These form the part of rendering process which is presenting a picture or scene realistically. All visibility algorithms involve sorting. Fundamental Assumption: The farther the object, it is most likely to be obscured by other objects which are nearer to the view point. The efficiency of a visible surface algorithm depends significantly on the efficiency of the sorting algorithm used. Coherence: The tendency for the characteristics of a scene to be locally constant (homogeneous). This property is used to increase the efficiency of the sort.

Classification of Algorithms Simple Visibility Algorithm (contd.) The classification is based on the coordinate system used. a. Object Space algorithms: They are implemented in physical coordinate system in which the object is described. Very precise used in engineering applications The result can be enlarged satisfactorily Computation: Compares every object in a scene with every other object, therefore complexity is like n 2 Eg. Roberts algorithm, Warnock s algorithm b. Image Space algorithms The algorithm is implemented in screen coordinates. Therefore total computions are nn where n is the number of objects in the screne and N is the total number of pixels (eg. 1280x1024 = 10 6 ) More efficient takes advantage of coherence. c. List priority algorithms: These are partially implemented in a and b

Floating Horizon Algorithm Most commonly used for representation of 3D surfaces of the form F( x, y, z) = This category of algorithms are usually implemented in image space. Fundamental Concept: The technique is to convert 3D problem to equivalent 2D problem by intersecting 3D surface with a series of parallel cutting planes at constant values of the coordinate in the view direction. It could be x, y or z. The function F(x,y,z)=0 is reduced to a planar curve in each of these parallel planes y = It is assumed that the curves are single valued functions of independent variables. The result is projected on to the z=0 plane 0 f ( x, z) The algorithm first sorts the z=constant planes in increasing distance form the viewpoint beginning from z=0 (closest to viewpoint)

Floating Horizon Algorithm Upper Horizon: If at any given value of x, the y value of the curve in the current plane is larger than the y value for any previous curve at that z value, then the curve is visible, otherwise hidden Lower Horizon: If at any given value of x, the y value of the curve in the current plane larger than the maximum y value or smaller than the minimum y value for any previous curve at that z plane then the curve is visible, else hidden Functional interpolation: The algorithm assumes the value of y is available at every x location. However, if it is not available (crossing of curves), a linear interpolation of known values is calculated to fill the upper and lower floating horizon arrays. Aliasing: If the function contains very narrow regions (small increments of x) then the algorithm yields incorrect results. The effect is generally caused by computing the function for visibility at a resolution less than that of image space resolution. The problem is overcome by taking more points to evaluate the function in narrow regions.

Roberts Algorithm Roberts (1964) algorithm is the oldest known solution to the visible surface problem. This is implemented in object space and mathematically an elegant algorithm The algorithm eliminates the edges or planes from each volume that are hidden by the volume itself (self hidden). Each remaining edge (plane) of each volume is compared with each of the remaining volumes to determine what portion or portions, if any, are hidden by these volumes. Thus computational requirements for the Roberts algorithm theoretically increase as n 2 where n is total number of objects. The implementation using a preliminary z priority sort and simple boxing or minmax tests exhibits a near linear growth with the number of objects n.

Warnock Algorithm It is based on a hypothesis that tells how the human eye-brain combination processes information contained in a scene. Hypothesis: Very little time or effort is spent on areas of scene that contain little information. The majority of the time and effort is spent on high information content A table top with one object only has less colour texture etc information. Takes minimal time to perceive. This algorithm can be implemented both in image and object space. The algorithm relies on divide and conquer strategy. Warnock and its variants take advantage of homogeneity in the areas of display (scene) which is known as area coherence The algorithm considers a window (area) in image (or object) space and seeks to determine if the window is empty or the contents are simple enough to resolve. If not, it divides the window until either the scene is simple or the preset resolution is reached. If image space results are not satisfactory, the algorithm shifts to object space for better accuracy.

Warnock Algorithm Hidden surface problem of a simple scene A scene with more details

Warnock Algorithm A quadtree data structure used to store the data The subdivision process gives a tree structure for the subwindows.

Appel s Algorithm This algorithm introduces the notion of quantitative invisibility. Appel defines the quantitative invisibility as the number of potentially visible surfaces that lie between the line segment and the eyepoint. A surface is potentially visible if the angle between the outward normal to the surface and the line to the eyepoint is less than 90 deg and invisible otherwise. If the quantitative invisibility is zero, then the segment is visible. The quantitative invisibility changes sign (+1/-1) only at the contour edges.