Introduction to Solid Modeling

Similar documents
Computer Aided Engineering Design Prof. Anupam Saxena Department of Mechanical Engineering Indian Institute of Technology, Kanpur.

SOME 024: Computer Aided Design. E. Rozos

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

CS3621 Midterm Solution (Fall 2005) 150 points

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

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

Geometric Modeling. Introduction

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Solid Modeling. Ron Goldman Department of Computer Science Rice University

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

Computer Aided Design. Solid models and B-REP

1. Introduction to Constructive Solid Geometry (CSG)

Topology and Boundary Representation. The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model s topology:

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

Grade VIII. Mathematics Geometry Notes. #GrowWithGreen

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

We have set up our axioms to deal with the geometry of space but have not yet developed these ideas much. Let s redress that imbalance.

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

Lesson 5 Solid Modeling - Constructive Solid Geometry

Zipper Unfoldings of Polyhedral Complexes

SOLID MODELLING. PARAMETRICALLY WE CAN DEFINE SOLID AS- X=x(u,v,w) Y=y(u,v,w) Z=z(u,v,w) Tricubic solid- u,v,w Є [0,1]

Polygonization of Implicit Surfaces

Lecture 4b. Surface. Lecture 3 1

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

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

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

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

Multiply using the grid method.

Representation of Curves and Surfaces in B-Rep Solid Modelers

3/3/2014. Sharif University of Technology. Session # 5. Instructor. Class time. Course evaluation. Department of Industrial Engineering

Computer Aided Engineering Applications

2/12/2015. Sharif University of Technology. Session # 4. Instructor. Class time. Course evaluation. Department of Industrial Engineering

Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions

Curvature Berkeley Math Circle January 08, 2013

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

Polygon Meshes and Implicit Surfaces

Week 7 Convex Hulls in 3D

Polygon Meshes and Implicit Surfaces

Design Intent of Geometric Models

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

Lecture notes: Object modeling

Geometry Vocabulary. acute angle-an angle measuring less than 90 degrees

2. Give an example of a non-constant function f(x, y) such that the average value of f over is 0.

Polygons and Convexity

Geometry Definition in the ADINA User Interface (AUI) Daniel Jose Payen, Ph.D. March 7, 2016

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set

6 Mathematics Curriculum

Dominating Sets in Triangulations on Surfaces

Convex Hulls (3D) O Rourke, Chapter 4

Geometric and Solid Modeling. Problems

CLASSIFICATION OF SURFACES

The Principle of Duality in Data Structures and Euler Operators of Solid Modelers

7 th Grade Accelerated Learning Targets Final 5/5/14

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

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Lesson 9. Three-Dimensional Geometry

Section 9.4. Volume and Surface Area. Copyright 2013, 2010, 2007, Pearson, Education, Inc.

Chapter 4-3D Modeling

Class Generated Review Sheet for Math 213 Final

Surface and Solid Geometry. 3D Polygons

Example: The following is an example of a polyhedron. Fill the blanks with the appropriate answer. Vertices:

Vertex Configurations and Their Relationship on Orthogonal Pseudo-Polyhedra Jefri Marzal, Hong Xie, and Chun Che Fung

Euler s Theorem. Brett Chenoweth. February 26, 2013

Geometry Vocabulary. Name Class

13 - Meshes. Acknowledgement: Enrico Puppo. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

Mathematics Curriculum

The radius for a regular polygon is the same as the radius of the circumscribed circle.

Math League SCASD. Meet #5. Self-study Packet. Problem Categories for this Meet (in addition to topics of earlier meets):

Computer Graphics. This Week. Meshes. Meshes. What is a Polygon Mesh? Meshes. Modelling Shapes with Polygon Meshes.

Vocabulary. Term Page Definition Clarifying Example. cone. cube. cylinder. edge of a threedimensional. figure. face of a polyhedron.

Geometry Practice. 1. Angles located next to one another sharing a common side are called angles.

GAUSS-BONNET FOR DISCRETE SURFACES

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

SEVENTH EDITION and EXPANDED SEVENTH EDITION

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

(1) Page #2 26 Even. (2) Page 596 #1 14. (3) Page #15 25 ; FF #26 and 28. (4) Page 603 #1 18. (5) Page #19 26

Design Intent of Geometric Models

CS Object Representation. Aditi Majumder, CS 112 Slide 1

Chapter 4 Concepts from Geometry

AN INTERACTIVE MESH GENERATION ENVIRONMENT FOR GEOMETRY-BASED SIMULATIONS. PROGRESS UPDATE.

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Skills Practice Skills Practice for Lesson 2.1

1 Appendix to notes 2, on Hyperbolic geometry:

Course Number: Course Title: Geometry

Answer Key: Three-Dimensional Cross Sections

11.4 Three-Dimensional Figures

acute angle An angle with a measure less than that of a right angle. Houghton Mifflin Co. 2 Grade 5 Unit 6

Convex decomposition of Polyhedra for AVAL

Geometric Modeling Systems

The Game of Criss-Cross

Geometric Modeling. Creating 3D solid geometry in a computer! Partial History of Geometric Modeling

CORRELATION TO GEORGIA QUALITY CORE CURRICULUM FOR GEOMETRY (GRADES 9-12)

) for all p. This means however, that the map ϕ 0 descends to the quotient

Geometry Vocabulary Math Fundamentals Reference Sheet Page 1

GEOMETRY OF PLANAR SURFACES AND EXCEPTIONAL FILLINGS

Anoka Hennepin K-12 Curriculum plan

Math 210 Manifold III, Spring 2018 Euler Characteristics of Surfaces Hirotaka Tamanoi

9. Three Dimensional Object Representations

3D Modeling: Solid Models

CLASSIFICATION OF SURFACES

Transcription:

Introduction to Solid Modeling Hongxin Zhang and Jieqing Feng 2007-01-15 State Key Lab of CAD&CG Zhejiang University

Contents Solid Representations: An Introduction Wireframe Models Boundary Representations Manifolds The Winged-Edge Data Structure The Euler-Poincaré Formula Euler Operators Constructive Solid Geometry Interior, Exterior and Closure Regularized Boolean Operators CSG Design Examples 01/15/2007 State Key Lab of CAD&CG 2

Solid Representations Solid Model: geometric object with interior, such as cube, piston engine Solid representation: describe the geometry and characteristics completely What is a good solid representation? 01/15/2007 State Key Lab of CAD&CG 3

Requirements for Solid Representation Domain Unambiguity Uniqueness Accuracy Validness Closure Compactness and Efficiency 01/15/2007 State Key Lab of CAD&CG 4

Requirements for Solid Representation Domain While no representation can describe all possible solids, a representation should be able to represent a useful set of geometric objects. Unambiguity When you see a representation of a solid, you will know what is being represented without any doubt. An unambiguous representation is usually referred to as a complete one. 01/15/2007 State Key Lab of CAD&CG 5

Requirements for Solid Representation Uniqueness That is, there is only one way to represent a particular solid. If a representation is unique, then it is easy to determine if two solids are identical since one can just compare their representations. Accuracy A representation is said accurate if no approximation is required. 01/15/2007 State Key Lab of CAD&CG 6

Requirements for Solid Representation Validness This means a representation should not create any invalid or impossible solids. More precisely, a representation will not represent an object that does not correspond to a solid. Closure Solids will be transformed and used with other operations such as union and intersection. "Closure" means that transforming a valid solid always yields a valid solid 01/15/2007 State Key Lab of CAD&CG 7

Requirements for Solid Representation Compactness and Efficiency A good representation should be compact enough for saving space and allow for efficient algorithms to determine desired physical characteristics 01/15/2007 State Key Lab of CAD&CG 8

About Solid Representations Designing representations for solids is a difficult job The requirements may be contradictory with each other Compromises are often necessary Three classical representations Wireframes Boundary Representations (B-Rep) Constructive Solid Geometry (CSG) 01/15/2007 State Key Lab of CAD&CG 9

Wireframe Models Wireframe model consists of two tables Vertex table: vertices and their coordinate values Edge table: two incident vertices of edges A wireframe model does not have face information 01/15/2007 State Key Lab of CAD&CG 10

Example of Wireframe Model Vertex Table Vertex # x y z 1 1 1 1 Edge # 1 2 Edge Table Start Vertex 1 2 End Vertex 2 3 2 1-1 1 3-1 -1 1 4-1 1 1 3 4 5 6 3 4 5 6 4 1 6 7 5 1 1-1 7 7 8 6 1-1 -1 7-1 -1-1 8 9 10 8 1 2 5 5 6 8-1 1-1 11 3 7 12 4 8 01/15/2007 State Key Lab of CAD&CG 11

Example of Wireframe Model Wireframe model described by previous tables Wireframe model with curve edges 01/15/2007 State Key Lab of CAD&CG 12

Wireframe Models Are Ambiguous Examples: 16 vertices and 32 edges All interpretations are right! 01/15/2007 State Key Lab of CAD&CG 13

Application of Wireframe Models Preview the complex solid models Shading is time-consuming provide a general feeling of the final result 01/15/2007 State Key Lab of CAD&CG 14

Boundary Representations Boundary Representation, or B-rep Extension to the wireframe model by adding face information A solid is bounded by its surface and has its interior and exterior 01/15/2007 State Key Lab of CAD&CG 15

Boundary Representations Two types of information in B-rep Topological information: relationships among vertices, edges and faces orientation of edges and faces Geometric information: equations of the edges and faces 01/15/2007 State Key Lab of CAD&CG 16

Boundary Representations Orientation of face is important Count Clockwise: normal points to the exterior of model Faces Orientable Non-orientable 01/15/2007 State Key Lab of CAD&CG 17

Manifolds (Review) Manifold Solid Modeling The surface of a solid is 2-D manifold 2-D manifold For each point x on the surface, there exists an open ball with center x and sufficiently small radius, so that the intersection of this ball and the surface can be continuously deformed to an open disk Open ball: x 2 + y 2 + z 2 < r 2 Non-manifold Solid Modeling 01/15/2007 State Key Lab of CAD&CG 18

Example of 2-D manifold 2-D manifold 2-D non-manifold 01/15/2007 State Key Lab of CAD&CG 19

The Winged-Edge Data Structure The winged-edge data structure uses edges to keep track all information in the solid model 01/15/2007 State Key Lab of CAD&CG 20

The Winged-Edge Data Structure In the following example, assuming No hole in the face (can be extended later) Edges and faces are line segments and polygons (extended to curves and surfaces) Description Vertices upper cases (A, B, C) Edges lower cases (a, b, c) Faces digits (1, 2, 3) 01/15/2007 State Key Lab of CAD&CG 21

The Winged-Edge Data Structure Edge: a Two incident vertices: X and Y Two incident faces: 2(left) and 1 (right) in case a=xy Face: 1 Three ordered edges: a, c, b Edge: a In face 1: X Y In face 2: Y X What information is important? 01/15/2007 State Key Lab of CAD&CG 22

The Winged-Edge Data Structure Vertices of this edge Its left and right faces The predecessor and successor of this edge when traversing its left face, and The predecessor and successor of this edge when traversing its right face 01/15/2007 State Key Lab of CAD&CG 23

Edge Table Edge name Start vertex and end vertex Left face and right face The predecessor and successor edges when traversing its left face the predecessor and successor edges when traversing its right face 01/15/2007 State Key Lab of CAD&CG 24

Edge Table Edge Vertices Faces Left Traverse Right Traverse Name Start End Left Right Pred Succ Pred Succ a X Y 1 2 b d e c Winged edge a: b, c, d, e are the wings of edge a! 01/15/2007 State Key Lab of CAD&CG 25

Complete Edge Tables Edge Vertices Faces Left Traverse Right Traverse Name Start End Left Right Pred Succ Pred Succ a A D 3 1 e f b c b A B 1 4 c a f d c B D 1 2 a b d e d B C 2 4 e c b f e C D 2 3 c d f a f A C 4 3 d b a e 01/15/2007 State Key Lab of CAD&CG 26

Other Tables Vertex table: an edge incidents to this vertex Face Table: an face contains this edge Vertex Name Incident Edge Face Name Incident Edge A B C D a b d e 1 a 2 c 3 a 4 b These tables are not unique! 01/15/2007 State Key Lab of CAD&CG 27

The Adjacency Relation The Adjacency Relation From edge vertex, face, edge? From face vertex, edge, face? From vertex edge, face, vertex? The Winged Edge data structure can accomplish these queries efficiently! 01/15/2007 State Key Lab of CAD&CG 28

Face with Holes Two solutions 1. Introducing loops: reverse direction of face edge order 2. Introducing auxiliary edges: Identify the auxiliary edges: its left and right faces are same loops 01/15/2007 State Key Lab of CAD&CG 29

The Euler-Poincaré Formula Euler-Poincaré Formula can be used for check the validness of a solid A more elaborate formula: for potholes and penetrated holes V -E + F -(L -F) -2(S -G) = 0 01/15/2007 State Key Lab of CAD&CG 30

V-E+F-(L-F)-2(S-G)=0 V: the number of vertices E: the number of edges F: the number of faces G: the number of penetrated holes (genus) S: the number of shells A shell is bounded by a 2-manifold surface, which can have its own genus value The solid itself is counted as a shell L: the number of all outer and inner loops 01/15/2007 State Key Lab of CAD&CG 31

Examples (1) A cube: eight vertices (V = 8), 12 edges (E = 12) and six faces (F = 6), no holes and one shell (S=1); L = F (each face has only one outer loop) V-E+F-(L-F)-2(S-G) = 8-12+6-(6-6)-2(1-0) = 0 01/15/2007 State Key Lab of CAD&CG 32

Examples (2) 16 vertices, 24 edges, 11 faces, no holes, 1 shell and 12 loops (11 faces + one inner loop on the top face) V-E+F-(L-F)-2(S-G) = 16-24+11-(12-11)-2(1-0) =0 01/15/2007 State Key Lab of CAD&CG 33

Examples (3) 16 vertices, 24 edges, 10 faces, 1 hole (i.e., genus is 1), 1 shell and 12 loops (10 faces + 2 inner loops on top and bottom faces) V-E+F-(L-F)-2(S-G) = 16-24+10-(12-10)-2(1-1) =0 01/15/2007 State Key Lab of CAD&CG 34

Examples (4) The following solid has a penetrating hole and an internal cubic chamber as shown by the right cut-away figure. It has 24 vertices, 12*3 (cubes) = 36 edges, 6*3 (cubes) - 2 (top and bottom openings) = 16 faces, 1 hole (i.e., genus is 1), 2 shells and 18 loops (16 faces + 2 inner loops on top and bottom faces) V-E+F-(L-F)-2(S-G) = 24-36+16-(18-16)-2(2-1) =0 01/15/2007 State Key Lab of CAD&CG 35

Examples (4) The following solid has two penetrating holes and no internal chamber as shown by the right cut-away figure. It has 24 vertices, 36 edges, 14 faces, 2 hole (i.e., genus is 2), 1 shells and 18 loops (14 faces + 4) V-E+F-(L-F)-2(S-G) =24-36+14-(18-14)-2(1-2) =0 01/15/2007 State Key Lab of CAD&CG 36

The Euler-Poincaré Formula Topological information and geometric information should be consistent Checking validness of solid by Euler-Poincaré formula If the value of Euler-Poincaré formula is non-zero, the representation is definitely not a valid solid the value of the Euler-Poincaré formula being zero does not guarantee the representation would yield a valid solid 10 vertices, 15 edges, 7 faces, 1 shell and no hole V-E+F-(L-F)-2(S-G) = 10-15+7-(7-7)-2(1-0)=0 01/15/2007 State Key Lab of CAD&CG 37

Count Genus Correctly The Euler-Poincaré Formula describes the topological property amount vertices, edges, faces, loops, shells and genus Any topological transformation applied to the model will not alter this relationship 01/15/2007 State Key Lab of CAD&CG 38

Sphere Punched by Three Tunnels The Genus is 2 01/15/2007 State Key Lab of CAD&CG 39

Euler Operators Euler Operators: modification of solid model while keeping the Euler-Poincaré formula tenable V-E+F-(L-F)-2(S-G)=0 There are two groups of such operators the Make group: M the Kill group: K 01/15/2007 State Key Lab of CAD&CG 40

Euler Operators Euler operators are written as: Mxyz: x,y,z are vertex, edge, face, loop, shell and genus, e.g., MEV adding an edge and a vertex Kxyz: similar Euler operators form a complete set of modeling primitives for manifold solids (Mantyla) Every topologically valid polyhedron can be constructed from an initial polyhedron by a finite sequence of Euler operations 01/15/2007 State Key Lab of CAD&CG 41

The Make Group of Euler Operators Adding some elements into the existing model creating a new one: V-E+F-(L-F)-2(S-G)=0 Operator Name Meaning V E F L S G MEV Make an edge and a vertex +1 +1 MFE Make a face and an edge +1 +1 +1 MSFV Make a shell, a face and a vertex +1 +1 +1 +1 MSG Make a shell and a hole +1 +1 MEKL Make an edge and kill a loop +1-1 Note: adding a face produces a loop, the outer loop of that face 01/15/2007 State Key Lab of CAD&CG 42

Example: construct a tetrahedron Operator Name Meaning V E F L S G Result MSFV Make a shell, a face and a vertex +1 +1 +1 +1 MEV Make an edge and a vertex +1 +1 MEV Make an edge and a vertex +1 +1 MEV Make an edge and a vertex +1 +1 MFE Make a face and an edge +1 +1 +1 MFE Make a face and an edge +1 +1 +1 MFE Make a face and an edge +1 +1 +1 01/15/2007 State Key Lab of CAD&CG 43

Example: MEKL MEKL: make an edge and kill a loop 01/15/2007 State Key Lab of CAD&CG 44

The Kill Group of Euler Operators The Kill group just performs the opposite of what the Make group does Operator Name Meaning V E F L S G KEV Kill an edge and a vertex -1-1 KFE Kill a face and an edge -1-1 -1 KSFV Kill a shell, a face and a vertex -1-1 -1-1 KSG Kill a shell and a hole -1-1 KEML Kill an edge and make a loop -1 +1 01/15/2007 State Key Lab of CAD&CG 45

Constructive Solid Geometry Solids representation: Constructive Solid Geometry, or CSG for short A CSG solid is constructed from a few primitives with Boolean operators CSG solid Representation Design methodology, Design process 01/15/2007 State Key Lab of CAD&CG 46

CSG Primitives Standard CSG primitives: block (cube), triangular prism, sphere, cylinder, cone, torus Instantiated primitives via transformation: scaling, translation, rotation Block: center (0,0,0), size (2,2,2) instantiated block: center(3,2,3), size(5,3,3) translate(scale(block, < 2.5, 1.5, 1.5 >), < 3, 2, 3 >) 01/15/2007 State Key Lab of CAD&CG 47

Boolean Operators Set operations between sets A and B Union: all points from either A or B Intersection: all points in both A and B Difference: all points in A but not in B Example: A and B are two orthogonal cylinders A-B B-A 01/15/2007 State Key Lab of CAD&CG 48

Boolean Operators Bracket Model Example scaling blocks and cylinder (scaled block) union (scaled block) or (block) difference (scaled block) (union blocks) difference (scaled cylinder) or (difference blocks) difference (scaled cylinder) 01/15/2007 State Key Lab of CAD&CG 49

CSG Expressions use +, ^ and - for (regularized) set union, intersection and difference CSG Tree CSG Expression CSG representations are not unique 01/15/2007 State Key Lab of CAD&CG 50

Interior, Exterior and Closure A solid is a 3D object, so does its interior and exterior, its boundary is a 2D surface Example sphere: x 2 +y 2 +z 2 =1 Interior: x 2 +y 2 +z 2 <1 Closure of interior: x 2 +y 2 +z 2 1 Exterior: x 2 +y 2 +z 2 >1 01/15/2007 State Key Lab of CAD&CG 51

Formal Definitions: interior int(s): A point P is an interior point of a solid S if there exists a radius r such that the open ball with center P and radius r is contained in the solid S. The set of all interior points of solid S is the interior of S, written as int(s) 01/15/2007 State Key Lab of CAD&CG 52

Formal Definitions: exterior ext(s): A point Q is an exterior point of a solid S if there exists a radius r such that the open ball with center Q and radius r does not intersect the solid S. The set of all exterior points of solid S is the exterior of S, written as ext(s) 01/15/2007 State Key Lab of CAD&CG 53

Formal Definitions: closure b(s): Those points that are not in the interior nor in the exterior of a solid S constitutes the boundary of solid S, written as b(s). closure(s): The closure of a solid S is defined to be the union of S's interior and boundary, written as closure(s) 01/15/2007 State Key Lab of CAD&CG 54

Formal Definitions: some notes The union of interior, exterior and boundary of a solid is the whole space. The closure of solid S contains all points that are not in the exterior of S 01/15/2007 State Key Lab of CAD&CG 55

Examples A C B A: interior point B: exterior point C: boundary point 01/15/2007 State Key Lab of CAD&CG 56

Regularized Boolean Operators The Boolean operation of two solids is always still solid? intersection 01/15/2007 State Key Lab of CAD&CG 57

Regularized Boolean Operators Let +, ^ and - be regularized set union, intersection and difference A+B = closure(int(set union of A and B) A^B = closure(int(set intersection of A and B) A-B = closure(int(set difference of A and B) 01/15/2007 State Key Lab of CAD&CG 58

CSG Design Examples 01/15/2007 State Key Lab of CAD&CG 59

Download courses http://www.cad.zju.edu.cn/home/jqfeng/gm/gm08.zip 01/15/2007 State Key Lab of CAD&CG 60

About project and report Deadline: 2007.03.01 Compressed all files, which should include 1) Descriptions of your work: name, student number, master or Ph.D student, grade, programming environment, report topic, etc. 2) Source codes and report 3) File format: GM_ChineseName_StudentNum.rar Send email to: zhx at cad. zju. edu. cn Sincerely welcome comments on GM course to {jqfeng, zhx} at cad. zju. edu. cn 01/15/2007 State Key Lab of CAD&CG 61

01/15/2007 State Key Lab of CAD&CG 62