Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Similar documents
Implicit Surfaces & Solid Representations COS 426

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Geometric Representations. Stelian Coros

Overview of 3D Object Representations

Spatial Data Structures

Spatial Data Structures

Spatial Data Structures

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Overview of 3D Object Representations

Spatial Data Structures

Spatial Data Structures

3D Object Representation. Michael Kazhdan ( /657)

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

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

Ray Tracing Acceleration Data Structures

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

Acceleration Data Structures

Advanced 3D-Data Structures

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

More Hidden Surface Removal

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

Computer Graphics. Bing-Yu Chen National Taiwan University

VIII. Visibility algorithms (II)

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

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

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Binary Space Partition Trees. Overview. Binary Space Partitioning Trees (Fuchs, Kedem and Naylor `80)

MODELING AND HIERARCHY

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

3D Object Representations. COS 526, Fall 2016 Princeton University

Graphics 2009/2010, period 1. Lecture 8: ray tracing

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Solid Modeling. Ron Goldman Department of Computer Science Rice University

3D Representation and Solid Modeling

Collision Detection based on Spatial Partitioning

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

CS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation

CPSC / Sonny Chan - University of Calgary. Collision Detection II

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Algorithms for GIS:! Quadtrees

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

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

Drawing the Visible Objects

9. Three Dimensional Object Representations

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

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

3D Modeling: Solid Models

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305

CS535 Fall Department of Computer Science Purdue University

Hidden Surface Elimination: BSP trees

Lecture 11: Ray tracing (cont.)

Ray Tracing: Intersection

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

A Model to Evaluate Ray Tracing Hierarchies

Introduction to 2D and 3D Computer Graphics. Realistic Rendering. -- Solids Modeling --

3D Object Representation

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics II

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

CEng 477 Introduction to Computer Graphics Fall 2007

Spatial Data Management

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

9. Visible-Surface Detection Methods

Accelerated Raytracing

Speeding up your game

Ray Intersection Acceleration

Polygonal Meshes. 3D Object Representations. 3D Object Representations. 3D Polygonal Mesh. 3D Polygonal Mesh. Geometry background

8. Hidden Surface Elimination

Advanced Ray Tracing

Spatial Data Structures for Computer Graphics

Today. CS-184: Computer Graphics. Lecture #10: Clipping and Hidden Surfaces. Clipping. Hidden Surface Removal

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

11 - Spatial Data Structures

Second degree equations - quadratics. nonparametric: x 2 + y 2 + z 2 = r 2

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome!

Intersection Acceleration

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Geometric Algorithms. Geometric search: overview. 1D Range Search. 1D Range Search Implementations

Spatial Data Management

Scalar Algorithms: Contouring

Computer Graphics Ray Casting. Matthias Teschner

Geometric Structures 2. Quadtree, k-d stromy

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

CPSC GLOBAL ILLUMINATION

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling

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

Row Tracing with Hierarchical Occlusion Maps

Spatial Data Structures and Acceleration Algorithms

improving raytracing speed

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Sung-Eui Yoon ( 윤성의 )

Transcription:

Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine) SUNY Stoney Brook 1

Motivation 1 Some acquisition methods generate solids Example: CAT scan Stanford University Motivation 2 Some applications require solids Example: CAD/CAM Intergraph Corporation 2

Motivation 3 Some algorithms require solids Example: ray tracing with refraction Addy Ngan and Zaijin Guan COS 426, 1998 Princeton University Solid Modeling Representations Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry 3

Solid Modeling Representations What makes a good solid representation? Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display CSG Voxels FvDFH Solid Modeling Representations Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry 4

Voxels Partition space into uniform grid Grid cells are called a voxels (like pixels) Store properties of solid object with each voxel Occupancy Color Density Temperature etc. FvDFH Figure 12.20 Voxel Acquisition Scanning devices MRI CAT Simulation FEM Stanford University SUNY Stoney Brook 5

Voxel Storage O(n 3 ) storage for nxnxn grid 1 billion voxels for 1000x1000x1000 Voxel Boolean Operations Compare objects voxel by voxel Trivial = = 6

Voxel Display Isosurface rendering Render surfaces bounding volumetric regions of constant value (e.g., density) Isosurface Visualization Princeton University Voxel Display Slicing Draw 2D image resulting from intersecting voxels with a plane Visible Human (National Library of Medicine) 7

Voxel Display Ray casting Integrate density along rays through pixels Engine Block Stanford University Voxels Advantages Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations Disadvantages Approximate Not affine invariant Large storage requirements Expensive display 8

! Solid Modeling Representations Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry Quadtrees & Octrees Refine resolution of voxels hierarchically More concise and efficient for non-uniform objects Uniform Voxels Quadtree FvDFH Figure 12.21 9

" # $ Quadtree Boolean Operations A B A B A B FvDFH Figure 12.24 Quadtree Display Extend voxel methods Slicing Isosurface extraction Ray casting Finding neighbor cell requires traversal of hierarchy (O(1)) FvDFH Figure 12.25 10

% Solid Modeling Representations Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry Binary Space Partitions (BSPs) Recursive partition of space by planes Mark leaf cells as inside or outside object a a f e d b Object g c 1 a 6 f 3 5 e d 7 c 4 2 b Binary Spatial Partition 4 d 5 c e b 3 f 6 2 7 1 Binary Tree Naylor 11

& ' ( ) BSP Fundamentals Single geometric operation Partition a convex region by a hyperplane Single combinatorial operation Two child nodes added as leaf nodes Homogeneous region R Partitioned region R- R+ h Initial Tree R New tree R- R - + R+ Naylor BSP is a Search Structure Exploit hierarchy of convex regions Regions decrease in size along any tree path Regions converge in the limit to the surface on IN on on 1st level Approximation out on on in on IN on in out in out on on 2nd level Approximation Naylor 12

* +, -. BSP Acquisition Must construct a good binary search structure Efficiency comes from logarithmic tree depth out in out in IN in out Bad Good Naylor BSP Boolean Operations Divide and conquer Each node V corresponds to a convex region containing all geometry in the subtree rooted at V No intersection with bounding volume of V means no intersection with subtree rooted at V Do detail work only in regions required Boolean operations grow with O( log n) if good tree Naylor 13

/ BSP Display Visibility ordering Determine on which side of plane the viewer lies» near-subtree -> polygons on split -> far-subtree o2 A Partitioning Tree B o4 A o1 C B C Viewer o3 o1 o2 o3 o4 3rd 4th 1st 2nd Viewer Naylor Solid Modeling Representations Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry 14

Constructive Solid Geometry (CSG) Represent solid object as hierarchy of boolean operations Union Intersection Difference 0 1 2 FvDFH Figure 12.27 CSG Acquisition Interactive modeling programs 3 CAD/CAM H&B Figure 9.9 15

4 5 6 CSG Boolean Operations Create a new CSG node joining subtrees Union Intersection Difference FvDFH Figure 12.27 CSG Display & Analysis Ray casting Union Circle Box 16

Summary Voxels Octree BSP CSG Accurate No No Some Some Concise No No No Yes Affine invariant No No Yes Yes Easy acquisition Some Some No Some Guaranteed validity Yes Yes Yes No Efficient boolean operations Yes Yes Yes Yes Efficient display No No Yes No 17