Constructive Solid Geometry Mel Slater

Slides:



Advertisements
Similar presentations
CSG and Raytracing CPSC 407.
Advertisements

Constructive Solid Geometry
3D modeling. Modeling and visualization Reality model Picture modeling Visualization.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
9/5/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Plane Sweep Algorithms and Segment Intersection Carola Wenk.
1 of 25 Assignment Orthographic Wireframe Elevation Orthographic Wireframe Plan Orthographic Wireframe End-Elevation Perspective View.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Constructive Methods in Modelling Lecture 7 (Modelling)
DEFINING OBJECTS - 3D REPRESENTATIONS Surface representations Polygon tables 3D curves and curved surfaces Sweep representations Constructive solid geometry.
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실.
Christian Lauterbach COMP 770, 2/11/2009
Chapter 11: Advanced Rendering Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Ray Tracing Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of.
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
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.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
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.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Ray Tracing 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
09/16/02 Dinesh Manocha, COMP258 Surfaces Locally a 2D manifold: i.e. approximating a plane in the ngbd. of each point. A 2-parameter family of points.
Solve Systems of Equations & Graph Inequalities
Pupils notes for Circle Lessons.  The equation of a circle with centre ( a, b ) and radius r is We usually leave the equation in this form without multiplying.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Virtual reality. Tasks 3D digital model from planes 3D digital model of existing objects Office work Field observations Solid modeling Photogrammetry.
SDC PUBLICATIONS © 2012 Chapter 8 Constructive Solid Geometry Concepts Learning Objectives:  Understand Constructive Solid Geometry Concepts  Create.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
The Vector Product. Remember that the scalar product is a number, not a vector Using the vector product to multiply two vectors, will leave the answer.
Parametric Surfaces and their Area Part II. Parametric Surfaces – Tangent Plane The line u = u 0 is mapped to the gridline C 2 =r(u 0,v) Consider the.
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.
3D Object Representations
Minimum Distance between curved surfaces Li Yajuan Oct.25,2006.
Ray Tracing. 2 Introduction OpenGL is based on a pipeline model in which primitives are rendered one at time ­No shadows (except by tricks or multiple.
1 CS 430/585 Computer Graphics I 3D Modeling: Subdivision Surfaces & Solid Modeling Week 9, Lecture 17 David Breen, William Regli and Maxim Peysakhov Geometric.
CS 480/680 Computer Graphics Compositing and Blending Dr. Frederick C Harris, Jr.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall D Object Representations Greg Humphreys University of Virginia CS 445, Fall 2003.
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
Geometrically Bounded Wireframe AIC (Part 510) Grouping of curves relevant for 3-dimensional wireframe modeling without topological constructs Elementary.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Solid Modeling Dr. Scott Schaefer.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Constructive Solid Geometry CSG (Geometri Padat Konstruktif)
Computer graphics 3D solid modeling.
Equations Quadratic in form factorable equations
Introduction to Computer Graphics with WebGL
Ray Tracing Ed Angel Professor Emeritus of Computer Science
3D Modeling Basics Three basic types of 3D CAD models:
CMPS 3130/6130 Computational Geometry Spring 2017
3D Object Representations
3D Object Representation
Introduction to Computer Graphics with WebGL
Surfaces Dr. Scott Schaefer.
Lecture 27: Solid Modeling
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Which of the equations below is an equation of a cone?
Chapter 3 Constructive Solid Geometry Concepts
3D Object Representation
Overview of Modeling 김성남.
Equations Quadratic in form factorable equations
Presentation transcript:

Constructive Solid Geometry Mel Slater

Introduction Quadric Surfaces Ray Intersections with Quadrics Set Operations Ray Classification

Quadric Surfaces Consider a sphere And also a cylinder: These are special cases of a general class of object called quadrics.

Quadric Surfaces Let Q be a 4*4 matrix Let p = (x,y,z,1) s(x,y,z) = p T Qp = 0. The quadric is the boundary and the interior of the surface defined by the equation, and hence consists of p T Qp  0.

Quadric Surfaces Note that the highest power of any coordinate is 2 (hence quadric). Note that the a,…,j are given constants Special cases a,…,j of define different types of surface. Multiplying out we get:

Plane Sphere Cylinder Special Cases

Cone Paraboloid

More Properties Given a quadric the normal at point p is given by 2p T Q. If all the points p on a quadric are transformed, eg, q = pM then the result is also a quadric –where M is a transformation matrix.

Ray Intersection The beauty of the quadric representation is that the unified representation requires only one ray-intersection algorithm. Let p(t) = p + tv, t  0 –Be the parametric equation of the ray that starts at p in direction p. Substitute p(t) into p T Qp = 0 and solve the quadratic equation for t. This will give –Complex results if no intersection –Two equal values of t if tangent –Two real values – the entry and exit points otherwise. –(What happens in the case of a plane?)

Set Operations The quadrics represent solid objects –Unlike boundary representations for mesh and B-Spline approaches We can use set operations such as union, intersection and difference to combine such solids together.

Regularising Operation Given a point p we define the ‘open ball’. A boundary point in any point-set S is a point p such that for any  >0 B(p,  ) will contain points in S and also in not-S. S is an open set if it does not contain its boundary. Closure(S) = S  boundary(S)

Regularising Operation Interior(S) = S – boundary(S) Regularisation(S) = closure(interior(S)) For any set operation it is the regularisation of the result that is required. A op* B = regularisation(A op B) –where op is any operator such as union, difference, intersection

Example Intersection results in illegal set (a)Is the set, which is closed in (b) with interior in (c) and regularisation in (d)

CSG Operations We can define set operations such as , ,  (not) and difference -. We can make formulae expressing more complex objects as combinations of simpler objects, eg –A  B – C –((A  B)  C)-D Each can be expressed as a binary operator tree.

((A  B)  C)-D A B C D   - Each expression can be represented as a binary operator tree.

CSG Data Structure typedef struct _csgtree –Operator op; –Quadric primitive; –struct _csgtree *right; –struct _csgtree *left; } CSGTreePtr; Each leaf node represents a primitive (usually a quadric primitive). ‘op’ can also be ‘leaf’ rather than a combination operator.

Intersecting a Ray Pseudo code for ray-tree intersection

Intersecting a Ray The result will be a sequence of intersection points along the ray, represented by the parametric values –t 0, t 1, t 2, …,t n –where there are n intersections Each individual intersection with a solid will result (typically) in two values.

Combine Function Shows how the result of the left and right solids combine together. Note that the set operations therefore occur at a 2D level.

Examples www-2.cs.cmu.edu/afs/cs/misc/rayshade/ all_mach/omega/doc/Examples/jpg/csg.jpg ccvweb.csres.utexas.edu/ccv/projects/VisualEyes/ visualization/domainpara/algebraic2/parameterization/ gallery/Reconstruction/Csg/

Summary Unified representation for quadric surfaces provides a simplicity and elegance for a wide class of shapes. CSG provides a simple methodology for combinations via set operations of solids CSG does not require quadrics, it can work other types of solid representation.