Solid Modeling Dr. Scott Schaefer.

Slides:



Advertisements
Similar presentations
CSG and Raytracing CPSC 407.
Advertisements

3D modeling. Modeling and visualization Reality model Picture modeling Visualization.
CSE 381 – Advanced Game Programming Scene Management
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 13, 2014 IMPLICIT REPRESENTATIONS IMPLICIT FUNCTIONS IMPLICIT SURFACES MARCHING CUBES.
Overlay of Two Subdivisions
Interactive Boolean Operations on Surfel-Bounded Solids Bart AdamsPhilip Dutré Katholieke Universiteit Leuven.
Atomic Volumes for Mesh Completion Joshua Podolak Szymon Rusinkiewicz Princeton University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Christian Lauterbach COMP 770, 2/11/2009
IE 590 J Cecil NMSU 1 IE 590 Integrated Manufacturing Systems Lecture 4 CAD & Geometric Modeling.
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Chapter 3 2D AND 3D SPATIAL DATA REPRESENTATIONS 김 정 준.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
CSE 681 Ray Tracing Implicit Surfaces. CSE 681 Overview Similar to CSG –Combine primitive objects to form complex object Primitives are “density fields”
BSP Trees, Quadtrees & Octrees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, January 28, 2004.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Volumetric and Blobby Objects Lecture 8 (Modelling)
Managing Your Objects Paul Taylor 2009 Assignment Due Fri 5/6/2009.
3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
COMPUTER AIDED DESIGN -(CAD)-3
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Solid Modelling Graphics Systems / Computer.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Implementing Scene Graphs, CSG Trees Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Monday, January 26, 2004.
HomeWork 2 Solution Chen Zhanqing.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Copyright Planchard 2012 Boolean Operation Stephen H. Simmons TDR 200.
Representation and modeling of 3D objects (basic concepts) FMFI UK Katedra počítačovej grafiky a spracovania obrazu Marek.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
3D Object Representations
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Procedural Models How to easily generate complex data?
Three-Dimensional Object Representation
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Constructive Solid Geometry Ray Tracing CSG Models
Geometrically Bounded Wireframe AIC (Part 510) Grouping of curves relevant for 3-dimensional wireframe modeling without topological constructs Elementary.
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
Maths & Technologies for Games Spatial Partitioning 2
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
IT / API 1 CERN 1-Feb-16 GBLIB: classes to deal with geometrical data Evgueni Tcherniaev IT / API CLHEP workshop, January.
Solid Modeling Prof. Lizhuang Ma Shanghai Jiao Tong University.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Constructive Solid Geometry CSG (Geometri Padat Konstruktif)
Computer graphics 3D solid modeling.
POLYGON MESH Advance Computer Graphics
3D Object Representations
Boundary Representations and Topology
Surfaces Dr. Scott Schaefer.
Overview of Modeling 김성남.
Overlay of Two Subdivisions
Prof. Lizhuang Ma Shanghai Jiao Tong University
Presentation transcript:

Solid Modeling Dr. Scott Schaefer

Solid Modeling Representations Constructive Solid Geometry Octrees Boundary Representations Implicit Representations

Constructive Solid Geometry Combine simple primitives together using set operations Union, subtraction, intersection Intuitive operations for building more complex shapes

Constructive Solid Geometry Combine simple primitives together using set operations Union, subtraction, intersection Intuitive operations for building more complex shapes Image taken from “Feature-Sensitive Subdivision and Isosurface Reconstruction”

Constructive Solid Geometry Typically represented as binary tree Leaves store solids (sphere, cylinder, …) Interior nodes are operations (union, subtraction, …) or transformations union subtraction rotation cylinder sphere cylinder

Ray Tracing CSG Trees Assume we have a ray R and a CSG tree T If T is a solid, compute all intersections of R with T return parameter values and normals If T is a transformation apply inverse transformation to R and recur apply inverse transpose of transformation to normals return parameter values Otherwise T is a boolean operation recur on two children to obtain two sets of intervals apply operation in T to intervals return parameter values. Display closest intersection point

Inside/Outside Test for CSG Trees Given a point p and a tree T, determine if p is inside/outside the solid defined by T If T is a solid Determine if p is inside T and return If T is a transformation Apply the inverse transformation to p and recur Otherwise T is a boolean operation Recur to determine inside/outside of left/right children If T is Union If either child is inside, return inside, else outside If T is Intersection If both children are inside, return inside, else outside If T is Subtraction If p is inside left child and outside right child, return inside, else outside

Application: Computing Volume Monte Carlo method Put bounding box around object Pick n random points inside the box Determine if each point is inside/outside the CSG Tree Volume

Octrees Models space as a tree with 8 children Nodes can be 3 types Interior Nodes Solid Empty

Octrees Models space as a tree with 8 children Nodes can be 3 types Interior Nodes Solid Empty

Building Octrees If cube completely inside, return solid node If cube completely outside, return empty node Otherwise recur until maximum depth reached

Octrees Advantages Storage space proportional to surface area Inside/Outside trivial Volume trivial CSG relatively simple Can approximate any shape Disadvantages Blocky appearance

Octrees Advantages Storage space proportional to surface area Inside/Outside trivial Volume trivial CSG relatively simple Can approximate any shape Disadvantages Blocky appearance

Boundary Representations Stores the boundary of a solid Geometry: vertex locations Topology: connectivity information Vertices Edges Faces

Boundary Representations Constant time adjacency information For each vertex, Find edges/faces touching vertex For each edge, Find vertices/faces touching edge For each face, Find vertices/edges touching face

Half Edge Data Structure face

Half Edge Data Structure HalfEdge next, prev, flip; Face face; Vertex origin; Edge edge; } Face { HalfEdge edge; // part of this face } face Vertex { HalfEdge edge; // points away } Edge { HalfEdge he; }

Half Edge Data Structure Given a face, find all vertices touching that face Given a vertex, find all edge-adjacent vertices Given a face, find all adjacent faces face

Building a Topological Data Structure Must connect adjacent edges/faces/vertices Edges are critical in most data structures Use a hash table indexed by two vertices face

Boundary Representations Advantages Explicitly stores neighbor information Easy to render Easy to calculate volume Nice looking surface Disadvantages CSG very difficult Inside/Outside test hard

Implicit Representations of Shape Shape described by solution to f(x)=c

Implicit Representations of Shape Shape described by solution to f(x)=c

Implicit Representations of Shape Shape described by solution to f(x)=c -

Implicit Representations of Shape Shape described by solution to f(x)=c + + - + + + + + +

Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

- Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + + - + + + + + +

Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union

Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union

- - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + - + - - + +

- - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + - + - - + +

- - - - - - - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union + + - - + + - + + - - - - + + - + + - - + +

- - - - - - - - - - - - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union + - - - - + - + - - - - - - - - - - + + +

- - - - - - - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union Intersection + + - - + + - + + - - - - + + - + + - - + +

- - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union Intersection + + - - + +

- - - - - - - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction + + - - + + - + + - - - - + + - + + - - + +

- - - - - - - - - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction - - + - + + + - + - - + + + + - + - - - + +

- - - Advantages No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations Union Intersection Subtraction + - + + - - + +

Disadvantages Hard to render - no polygons Creating polygons amounts to root finding Arbitrary shapes hard to represent as a function

Non-Analytic Implicit Functions Sample functions over grids

Non-Analytic Implicit Functions Sample functions over grids

Data Sources

Data Sources

Data Sources

Data Sources

Data Sources

Data Sources

2D Polygon Generation

2D Polygon Generation

2D Polygon Generation

2D Polygon Generation

2D Polygon Generation

3D Polygon Generation

3D Polygon Generation

Fun Examples

Fun Examples

Fun Examples

Fun Examples