Volume and Solid Modeling

Slides:



Advertisements
Similar presentations
COMP 175 | COMPUTER GRAPHICS Remco Chang1/6103b – Shapes Lecture 03b: Shapes COMP 175: Computer Graphics February 3, 2015.
Advertisements

Extended Gaussian Images
Computational Topology for Computer Graphics Klein bottle.
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 13, 2014 IMPLICIT REPRESENTATIONS IMPLICIT FUNCTIONS IMPLICIT SURFACES MARCHING CUBES.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
1cs533d-term Notes  Assignment 1 due today.
Computer Graphics - Class 14
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
1 Last lecture  Path planning for a moving Visibility graph Cell decomposition Potential field  Geometric preliminaries Implementing geometric primitives.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Ray Casting Ray-Surface Intersections Barycentric Coordinates Reflection and Transmission [Shirley, Ch.9] Ray Tracing Handouts Ray Casting Ray-Surface.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Scientific Visualization Data Modelling for Scientific Visualization CS 5630 / 6630 August 28, 2007.
Feature Sensitive Surface Extraction from Volume Data Leif P. Kobbelt Mario Botsch Ulrich Schwanecke Hans-Peter Seidel Computer Graphics Group, RWTH-Aachen.
12/06/00 Dinesh Manocha, COMP258 Solid Modeling CSG (Constructive Solid Geometry) Representations: A set theoretic Boolean expression of primitive solid.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Announcements Project 1 artifact voting Project 2 out today (help session at end of class)
Marching Cubes A High Resolution 3D Surface Construction Algorithm.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
CSE 681 Ray Tracing Implicit Surfaces. CSE 681 Overview Similar to CSG –Combine primitive objects to form complex object Primitives are “density fields”
Hidden Surface Removal
Announcements Midterm due Friday, beginning of lecture Guest lecture on Friday: Antonio Criminisi, Microsoft Research.
Computer Graphics Lecture 13 Curves and Surfaces I.
GEOMETRY.
Isosurfaces Also known as Metaballs, blobs, soft objects, implicit surfaces, …
Volumetric and Blobby Objects Lecture 8 (Modelling)
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
2003CS Hons RW778 Graphics1 Chapter 6: Polygonal Meshes 6.2 Introduction 6.2 Introduction –Polygonal mesh: collection of polygons (faces) –List of polygons,
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
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.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Geometric Objects and Transformation
Vector Calculus CHAPTER 9.10~9.17. Ch9.10~9.17_2 Contents  9.10 Double Integrals 9.10 Double Integrals  9.11 Double Integrals in Polar Coordinates 9.11.
3D Object Representations
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Minimum Distance between curved surfaces Li Yajuan Oct.25,2006.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Shapes Digital Image Synthesis Yung-Yu Chuang 10/05/2006 with slides by Pat Hanrahan.
3D Object Representations graphics scenes contain solid geometric objects trees, flowers, clouds, rocks, water representations surface ↔interior models.
Three-Dimensional Object Representation
Constructive Solid Geometry Ray Tracing CSG Models
In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS 318 Intro to Computer Graphics John C. Hart
Solid Modeling Dr. Scott Schaefer.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
Constructive Solid Geometry CSG (Geometri Padat Konstruktif)
Computer graphics 3D solid modeling.
Also known as Metaballs, blobs, soft objects, implicit surfaces …
Chapter 12 Math 181.
Ray Tracing Forward Ray Tracing
Engineering Geometry Engineering geometry is the basic geometric elements and forms used in engineering design. Engineering and technical graphics are.
3D Object Representations
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Presentation transcript:

Volume and Solid Modeling CS418 Computer Graphics John C. Hart

Implicit Surfaces Real function f (x,y,z) Classifies points in space 1 f > 0 (0,0) Real function f (x,y,z) Classifies points in space Image synthesis (sometimes) inside f > 0 outside f < 0 on the surface f = 0 CAGD: inside f < 0, outside f > 0 Surface f-1(0): Manifold if zero is a regular value of f Circle example f(x,y) = x2 + y2 – 1 f < 0 f > 0 f = 0 f < 0 f > 0 f = 0 z = f(x,y)

Why Use Implicits? v. polygons smoother compact, fewer higher-level primitives harder to display in real time v. parametric patches easier to blend no topology problems lower degree harder to parameterize easier to ray trace well defined interior

Surface Normals Surface normal usually gradient of function 1 f=0 (0,0) Surface normal usually gradient of function f(x,y,z) = (df/dx, df/dy, df/dz) Gradient not necessarily unit length Gradient points in direction of increasing f Outward when f < 0 denotes interior Inward when f > 0 denotes interior Circle example f(x) = x2 + y2 – 1 x = (x,y) z = f(x,y)

Plane Plane bounds half-space Specify plane with point p and normal N x N Plane bounds half-space Specify plane with point p and normal N Points in plane x are perp. to normal N f is distance if ||N|| = 1 f > 0 p x f < 0 f(x) = (x-p)N

Quadrics f (x,y,z) = Ax2 + 2Bxy + 2Cxz + 2Dx + Ey2 + 2Fyz + 2Gy + Hz2 + 2Iz + J Sphere: f(x,y,z) = x2 + y2 + z2 – 1 Cylinder: f(x,y,z) = x2 + y2 – 1 Cone: f(x,y,z) = x2 + y2 - z2 Paraboloid: Ax2 + Ey2 – 2Iz = 0 z x y z x y

Homogeneous Quadrics Homogeneous coordinates [x y z w] f(x) = xT Q x Homogeneous coordinates [x y z w] Divide by w to find actual coords: [x/w y/w z/w 1] Transforming quadrics x Q xT = 0, x’ = xT find Q’ s.t. x’Q’x’T = 0 x = x’T* since x homo. x’T* Q (x’T*)T = 0 x’(T* Q T*T) x’T = 0 Q’ = T* Q T*T

Torus Product of two implicit circles Surface of rotation (x – R)2 + z2 – r2 = 0 (x + R)2 + z2 – r2 = 0 ((x – R)2 + z2 – r2)((x + R)2 + z2 – r2) (x2 – Rx + R2 + z2 – r2) (x2 + Rx + R2 + z2 – r2) x4+2x2z2+z4 – 2x2r2–2z2r2+r4 + 2x2R2+2z2R2–2r2R2+R4 (x2 + z2 – r2 – R2)2 + 4z2R2 – 4r2R2 Surface of rotation replace x2 with x2 + y2 f(x,y,z) = (x2 + y2 + z2 – r2 – R2)2 + 4R2(z2 – r2)

CSG Assume f < 0 inside CSG ops by min/max ops Union: min f,g Intersection: max f,g Complement: -f Subtraction: max f,-g Problem: C1 discontinuity Can we smooth the blend crease? f < 0 g < 0 f < 0 g < 0

Blobs Blinn TOG 1(3) 1982 Gaussian e Sum of Gaussians ri2(x,y,z) = (x-xi)2 + (y-yi)2 + (z-zi)2 f(x) = -T + S e -x2 -ri2(x)

Soft Objects Wyvill, McPheeters & Wyvill VC 86 1 C(r) Wyvill, McPheeters & Wyvill VC 86 Exponential: too expensive, non-local Approximate exp(-r2) with polynomial C() such that C(0) = 1, C(R) = 0, C’(0) = 0, C’(R) = 0 C(r2) = -(4/9)r6/R6 + (17/9)r4 /R4 – (22/9)r2 /R2 + 1 C(r) = 2r3 /R3 – 3r2 /R2 + 1 C(r) = (1 – r2/R2)3 (G2 continuity) Metaballs: piecewise pair of quadratics r R=1

Marching Cubes Read volume in two slices at a time For each cubic cell Compute index using bitmask of vertices Output polygon(s) stored at index translated to cell position End for Remove last slice, add new slice, repeat

Marching Cube Cases 256 in all 15 modulo symmetry

Marching Tet Cases 16 in all 3 modulo symmetry + - + - + + + + + - + -

Orientation + -  - + + - Consistency allows polygons to be drawn with correct orientation Supports backface culling + - + - - + + - + -

Problem: Ambiguity or Some cell corner value configurations yield more than one consistent polygon Only for cubes, not tetrahedra (why?) In 3-D can yield holes in surface! How can we resolve these ambiguities? Examples from Lewiner et al., Efficient Implementation of Marching Cubes’ Cases with Topological Guarantees. J. Graphics, GPU & Game Tools 8(2), 2003, pp. 1-15.

Problem: Ambiguity + - + - - + - + Some cell corner value configurations yield more than one consistent polygon Only for cubes, not tetrahedra (why?) In 3-D can yield holes in surface! How can we resolve these ambiguities? Topological Inference Sample a point in the center of the ambiguous face If data is discretely sampled, bilinearly interpolate samples 9 -1 1 -9 -1 9 -9 1 p(s,t) = (1-s)(1-t) a + s (1-t) b + (1-s) t c + s t d

Problem: Ambiguity Some cell corner value configurations yield more than one consistent polygon Only for cubes, not tetrahedra (why?) In 3-D can yield holes in surface! How can we resolve these ambiguities? Topological Inference Sample a point in the center of the ambiguous face If data is discretely sampled, bilinearly interpolate samples Preferred Polarity Encode preference into table  cubes  tets MC edges across neighboring faces must share direction to avoid cracks/holes + - + - - + - +