3D Modeling: Solid Models

Similar documents
3D Representation and Solid Modeling

3D Modeling: Surfaces

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

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

Solid Modeling. Ron Goldman Department of Computer Science Rice University

Implicit Surfaces & Solid Representations COS 426

9. Three Dimensional Object Representations

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

Spatial Data Structures

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

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

Modeling 3D Objects: Part 2

XPM 2D Transformations Week 2, Lecture 3

MODELING AND HIERARCHY

Physically-Based Modeling and Animation. University of Missouri at Columbia

Spatial Data Structures

SOME 024: Computer Aided Design. E. Rozos

XPM 2D Transformations Week 2, Lecture 3

Intro to Curves Week 4, Lecture 7

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

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Spatial Data Structures

Object representation

Geometric Modeling. Introduction

Advanced 3D-Data Structures

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

Solid Modeling Lecture Series. Prof. Gary Wang Department of Mechanical and Manufacturing Engineering The University of Manitoba

Overview of 3D Object Representations

3D Transformations World Window to Viewport Transformation Week 2, Lecture 4

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

3D Object Representation. Michael Kazhdan ( /657)

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

Ray Tracing Acceleration Data Structures

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Lecture notes: Object modeling

CHAPTER 1 Graphics Systems and Models 3

Geometric and Solid Modeling. Problems

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

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

Geometric Modeling Systems

Geometric Representations. Stelian Coros

VALLIAMMAI ENGINEERING COLLEGE

Overview of 3D Object Representations

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

Collision and Proximity Queries

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation

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

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation

Transformations Week 9, Lecture 18

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Ray Tracing: Intersection

Spatial Data Structures

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

Spatial Data Structures

Intro to Curves Week 1, Lecture 2

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

Lecture 4b. Surface. Lecture 3 1

Introduction to Computer Graphics

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

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

Geometric Modeling Topics

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

CPSC GLOBAL ILLUMINATION

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

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Computer Aided Design. Solid models and B-REP

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

An Introduction to Geometric Modeling using Polygonal Meshes

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Level of Details in Computer Rendering

Geometry. Chapter 5. Types of Curves and Surfaces

Introduction to Geometry. Computer Graphics CMU /15-662

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

Chapter 4-3D Modeling

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

3D Modeling Parametric Curves & Surfaces

Shape Modeling with Point-Sampled Geometry

Acceleration Data Structures

Development of Reverse Engineering System for Machine Engineering Using 3D Bit-map Data. Tatsuro Yashiki* and Tarou Takagi*

Computer Aided Engineering Applications

Isosurface Rendering. CSC 7443: Scientific Information Visualization

B-Splines and NURBS Week 5, Lecture 9

COMP 175: Computer Graphics April 11, 2018

3D Modeling techniques

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Curves and Surfaces Computer Graphics I Lecture 10

Lecture 11: Ray tracing (cont.)

Solids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d)

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Transcription:

CS 430/536 Computer Graphics I 3D Modeling: Solid Models Week 9, Lecture 18 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University http://gicl.cs.drexel.edu 1

Overview 3D solid model representations Implicit models Super/quadrics Blobbies Swept objects Boundary representations Spatial enumerations Distance fields Quadtrees/octrees Stochastic models 2

Implicit Solid Modeling Computer Algebra meets CAD Idea: Represents solid as the set of points where an implicit global function takes on certain value F(x,y,z) < val Primitive solids are combined using CSG Composition operations are implemented by functionals which provide an implicit function for the resulting solid From M.Ganter, D. Storti, G. Turkiyyah @ 3 UW

Quadratic Surfaces Sphere x 2 + y 2 + z 2 = r 2 Ellipsoid Torus È Í r - Í Î Ê x ˆ Á Ë General form r x 2 Ê x ˆ Á Ë r x Ê + y ˆ Á Ë r y 2 2 Ê + y ˆ Á Ë r y Ê + z ˆ Á Ë r z 2 2 2 =1 Ê + z ˆ Á Ë r z 2 =1 a x 2 + b y 2 + c z 2 + 2 f yz + 2g xz + 2h xy + 2p x + 2q y + 2r z + d = 0 4

Superellipsoid Surfaces Generalization of ellipsoid s 2 Control parameters s 1 and s 2 È 2 / s Ê x ˆ 2 Ê Á + y ˆ Í Í Ë r Á x Ë r Î y 2 / s 2 s 2 / s 1 + z 2 / s Ê ˆ 1 Á =1 r Ë z s 1 If s 1 = s 2 =1 then regular ellipsoid Has an implicit and parametric form! 5

CSG with Superquadrics 6

CSG with Superellipsoids 7

Blobby Objects Do not maintain shape, topology Water drops Molecules Force fields But can maintain other properties, like volume 8

Gaussian Bumps Model object as a sum of Gaussian bumps/blobs f (x, y,z) = Âb k e -a 2 kr k - T = 0 k Where r k 2 = x k 2 + y k 2 + z k 2 and T is a threshold. 9

Metaballs (Blinn Blobbies) 10

Ray-traced Metaballs 11

Implicit Modeling System U. of Calgary Combine primitives Points, lines, planes, polygons, cylinders, ellipsoids Calculate field around primitives View Iso-surface of implicit function 12

Implicit Modeling System U. of Calgary Can apply blends and warps 13

Sweep Representations An alternative way to represent a 3D object Idea Given a primitive (e.g. polygon,sphere ) And a sweep (e.g. vector, curve ) Define solid as space swept out by primitive 14 Foley/VanDam, 1990/1994

Sweep Representations Issues: How to generate resulting surface? What about selfintersections? How to define intersection? 15 Foley/VanDam, 1990/1994

Approximate Representations Idea: discretize the world! Surface Models Mesh, facet and polygon representations Volume Models spatial enumeration voxelization 16

Examples From exact to facets. 17 Pics/Math courtesy of Dave Mount @ UMD-CP

Boundary Representation Solid Modeling The de facto standard for CAD since ~1987 BReps integrated into CAGD surfaces + analytic surfaces + boolean modeling Models are defined by their boundaries Topological and geometric integrity constraints are enforced for the boundaries Faces meet at shared edges, vertices are shared, etc. 18

Let s Start Simple: Polyhedral Solid Modeling Definition Solid bounded by polygons whose edges are each a member of an even number of polygons A 2-manifold: edges members of 2 polygons 19

Properties of 2-Manifolds For any point on the boundary, its neighborhood is a topological 2D disk If not a 2-manifold, neighborhood not a disk 20 Foley/VanDam, 1990/1994

Euler s Formula For simple polyhedra (no holes): #Vertices - #Edges + #Faces = 2 21 Foley/VanDam, 1990/1994

Euler s Formula (Generalized) #Vertices - #Edges + #Faces - #Holes_in_faces = 2 (#Components Genus) Genus is the # holes through the object Euler Operators have been the basis of several modeling systems (Mantyla et al.) 22 Foley/VanDam, 1990/1994

Euler Operators Loop L H, Shell S C 23

Steps to Creating a Polyhedral Representation Solid Modeler Points, Lines/Edges, Polygons Modeling Generalization of 3D clipping to nonconvex polyhedra, enables implementation of booleans 24

State of the Art: BRep Solid Modeling but much more than polyhedra Two main (commercial) alternatives All NURBS, all the time Pro/E, SDRC, Analytic surfaces + parametric surfaces + NURBS +. all stitched together at edges Parasolid, ACIS, 25

Issues in Boundary Representation Solid Modeling Very complex data structures NURBS-based winged-edges, etc Complex algorithms manipulation, booleans, collision detection Robustness Integrity Translation Features Constraints and Parametrics 26

Other Issues: Non-Manifold Solids There are cases where you may need to model entities that are not entirely 3D 27 Pics/Math courtesy of Dave Mount @ UMD-CP

Cell Decomposition Set of primitive cells Parameterized Often curved Compose complex objects by gluing cells together Used in finiteelement analysis 28 Foley/VanDam, 1990/1994

Brute force A grid Pixels Spatial Occupancy Enumeration Picture elements Voxels Volume elements Quadtrees 2D adaptive representation Octrees 3D adaptive representation Extension of quadtrees 29

Brute Force Spatial Occupancy Enumeration Impose a 2D/3D grid Like graph paper or sugar cubes Identify occupied cells Problems High fidelity requires many cells Modified Partial occupancy 30 Foley/VanDam, 1990/1994

Distance Volume Store signed distance to surface at each voxel Narrow-band representation Iso-surface at value 0 approximates the original surface. 31

Offset Surfaces from Distance Volumes 32

Quadtree Hierarchically represent spatial occupancy Tree with four regions NE, NW, SE, SW dark if occupied 33 Foley/VanDam, 1990/1994

Quadtree Data Structure F = full P = partially full E = empty 34 Foley/VanDam, 1990/1994

Octree 8 octants 3D space Left, Right, Up, Down, Front, Back 35 Foley/VanDam, 1990/1994

Boolean Operations on Octrees S T S» T S «T 36 Foley/VanDam, 1990/1994

Adaptive Distance Fields Quadtrees/Octrees that store distances 37

Applications for Spatial Occupancy Enumeration Many different applications GIS Medical Engineering Simulation Volume Rendering Video Gaming Approximating real-world data. 38

Issues with Spatial Occupancy Approximate Enumeration Kind of like faceting a surface, discretizing 3D space Operationally, the combinatorics (as opposed to the numerics) can be challenging Not as good for applications wanting exact computation (e.g. tool path programming) 39

Binary Space Partition Trees (BSP Trees) Recursively divide space into subspaces Arbitrary orientation and position of planes Homogeneous regions are leafs called in/out cells 40 Foley/VanDam, 1990/1994

Statistical Representations Store density (material vs. void) Statistical description of geometry Goal describe the porosity without storing the geometry information 41 Generated by Termite Agents Simulation.

Stochastic Geometry Need some way of converting a solid into some representative statistical form From each material voxel, calculate the distance to the nearest voxel that is not material Repeat for void voxels Store distributions: one for empty space one for material density value Distance vs. Probability 42

Application: Biological Models Bone tissue MRI data Other biological data Solid modeling MRI scan of left shoulder Bone matrix from scanned data 43

Application: Surface Texture 44

Application: Surface Texture 45

Programming Assignment 5 Extend XPM to 60 different RGB colors Read 3 models and assign each a color Implement Z-buffer rendering Implement front & back cutting planes Only render parts of models between planes Implement linear depth-cueing Color = base_color*(z-far)/(near-far) Re-use and extend 2D polygon filling 46

End 47