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

Similar documents
Chapter 12 Solid Modeling. Disadvantages of wireframe representations

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

1. Introduction to Constructive Solid Geometry (CSG)

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

Geometric Modeling. Introduction

Lesson 5 Solid Modeling - Constructive Solid Geometry

Lecture notes: Object modeling

Autodesk Conceptual Design Curriculum 2011 Student Workbook Unit 2: Parametric Exploration Lesson 1: Parametric Modeling

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

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

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

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

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

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

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

SEOUL NATIONAL UNIVERSITY

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

Geometric Modeling Systems

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]

Modeling 3D Objects: Part 2

SOME 024: Computer Aided Design. E. Rozos

9. Three Dimensional Object Representations

Data Types. Every program uses data, either explicitly or implicitly to arrive at a result.

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

Chapter 9 3D Modeling

Introduction to Solid Modeling

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

Geometric Modeling. Creating 3D solid geometry in a computer! MAE 455 Computer-Aided Design and Drafting

Geometric and Solid Modeling. Problems

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

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

Lesson 2 Constructive Solid Geometry Concept. Parametric Modeling with I-DEAS 2-1

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

Creating a 2D Geometry Model

Solid Modeling. Ron Goldman Department of Computer Science Rice University

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

Boolean Component. Chapter 1. Boolean Operations

Geometric Modeling Lecture Series. Prof. G. Wang Department of Mechanical and Industrial Engineering University of Manitoba

Autodesk Inventor 2019 and Engineering Graphics

Lecture 4b. Surface. Lecture 3 1

Engineering Drawing II

Spatial Data Structures

Lecture-12: Closed Sets

Spatial Data Structures

Extension as the background of substance a formal approach

Solid Modeling: Part 1

Spatial Data Structures

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

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

A Flavor of Topology. Shireen Elhabian and Aly A. Farag University of Louisville January 2010

Mathematics Curriculum

Computer Aided Engineering Applications

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

274 Curves on Surfaces, Lecture 5

Computer Aided Design. Solid models and B-REP

PARAMETRIC MODELING FOR MECHANICAL COMPONENTS 1

VALLIAMMAI ENGINEERING COLLEGE

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

DEVELOPING A THREE-DIMENSIONAL TOPOLOGICAL DATA MODEL

Design Intent of Geometric Models

1 Classification of Shell Forms

Building a Geometry Vocabulary

3D Modeling: Solid Models

Geometric Modeling Topics

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

Surface and Solid Geometry. 3D Polygons

3D Object Representation. Michael Kazhdan ( /657)

Moore Catholic High School Math Department

Cell Decomposition for Building Model Generation at Different Scales

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

Dgp _ lecture 2. Curves

Organizing Spatial Data

Intersection Acceleration

6 Mathematics Curriculum

3. MODELING A THREE-PIPE INTERSECTION (3-D)

Overview of 3D Object Representations

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Other Voronoi/Delaunay Structures

Lecturer 2: Spatial Concepts and Data Models

Design Intent of Geometric Models

5 Mathematics Curriculum. Module Overview... i. Topic A: Concepts of Volume... 5.A.1

layers in a raster model

Computer Graphics Ray Casting. Matthias Teschner

Engineering designs today are frequently

Hierarchical Solid Boolean Modeling

Course Number: Course Title: Geometry

Lecture 11: Ray tracing (cont.)

NEXT-GENERATION SWEEP TOOL: A METHOD FOR GENERATING ALL-HEX MESHES ON TWO-AND-ONE-HALF DIMENSIONAL GEOMTRIES

Computational Geometry

Geometric Modeling for Rapid Prototyping and Tool Fabrication

Reasoning Boolean Operation for Modeling, Simulation and Fabrication of Heterogeneous Objects. Abstract

Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs

SOLIDWORKS 2016 and Engineering Graphics

Implicit Surfaces & Solid Representations COS 426

L1-Spatial Concepts L1 - Spatial Concepts

Reconstruction of 3D Interacting Solids of Revolution from 2D Orthographic Views

Shading Languages. Seminar Computer Graphics. Markus Kummerer

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

A set with only one member is called a SINGLETON. A set with no members is called the EMPTY SET or 2 N

Geometric Representations. Stelian Coros

Transcription:

Solid models Solid models developed to address limitations of wireframe modeling. Attempt was to create systems which create only complete representations. Modelers would support direct creation of 3D geometry Solids as point set Real world solid objects may be thought of as a set of points in Euclidean 3D space which conform to our concept of solid. Solid modelers encode this infinite point set in a format compatible with computer storage. Based upon this concept, we can divide modeling representation schemes into 3 general classes. Solid representation schemes 1) constructive models point set represented as a combination of more basic primitive point sets each primitive point set is an instance of a defined primitive solid first efforts were called primitive instancing later developed into: Constructive Solid Geometry (CSG) Solid representation schemes (cont d) 2) spatial enumeration models In this scheme solids are decomposed into cells each with a simple topological structure and often with a simple geometric structure. For example, define solid point set in terms of collection of non-overlapping blocks Solid representation schemes (cont d) 3) boundary models (B-Rep) point set defined in terms of its boundaries boundary models have a hierarchical format volume defined by set of faces faces defined by a set of finite curves Review of Set Theory Definitions of: Sets Set properties and operations Properties of set operations 1

Sets A set is a well-defined collection of elements. Objects belonging to a set are its elements Sets may be finite or infinite (# of elements) We will be dealing with sets of points (points in 3D space) Set Properties A set containing all the elements under consideration is the universal set. Two sets which contain the same elements are equal sets. A = B If all the elements of set B are contained in set A, then set B is a subset of set A A d B Basic operations Complement Union Intersection Subtraction Set Operations Complement Given: E is the universal set A set A such that A d E The complement of A (written A c ) is the set of all elements of E not in A Union Given two defined sets A and B A union B (written A U B) is the set of all elements in set A or Set B (logical or ) Union A = {a,b,c} B={c,d,e,f} A U B = {a,b,c,d,e,f} Notice there is no repetition of common elements. union operations are commutative and associative A UB = B UA (A UB) UC = A U(B UC) 2

Intersection A intersection B (written A 1 B) is the set of all elements in both set A and Set B. (logical and ) Intersection Intersection operations are commutative and associative: A 1 B = B 1 A (A 1 B) 1 C = A 1 (B 1 C) Subtraction (Difference) the elements in a source set not also in a second set. (logical not ) Subtraction Sets must share common elements else produces error (null set) Subtraction is not associative or commutative BE Careful: ( A U A ) A = 0 But A U ( A A ) = A CSG modeling objects are represented as a combination of simpler solid objects referred to as primitives. Copies or instances of these primitive shapes are created and positioned. a complete solid model is constructed by combining these instances using set specific, logic operations (Booleans). Boolean Operations operations which are used to combine primitives (geometric objects) may be used to combine: valid primitive instances solids resulting from previous Boolean operations with each other or other instances 3

Boolean Operations Set operations union, intersection and subtraction are the Booleans Booleans for our use are regularized Must produce as output objects having the same dimensionality as the input Boolean Operations are intuitive to user are easy to use and understand provide for the rapid manipulation of large amounts of data Boolean Operations Set membership Critical to the use of Boolean operations is the ability to perform set membership tests. Set membership: Does a given location in 3D space lie within the bounds of one of the two sets upon which the operation is performed. Typical CSG Primitive Set Geometric Objects Must be closed sets (finite) Must have a defined boundary and defined interior subsets (must be true for CSG primitives and the objects used in other modeling techniques) CSG Primitives Half space Primitives themselves defined by combining lower-level entities primitives are the Boolean combination of unbounded geometric entities known as half-spaces Half-space definitions separate 3D space into infinite regions ( solid and void) +Z Y 1 +Y Example: Divides 3D space into all points greater then or equal to Y 1, and all points less than Y 1 +X 4

CSG Primitives Primitive definition through half-spaces allows for set membership evaluation Any point within modelspace can be defined as existing: within a solid in the void (outside the solid) or on the border in between. e.g. determine if point is a member of primitive point set Box Primitive defined by bounding half-spaces. User defined input is corner location (origin) and Width, Height and Depth values (W, H, D) Cylinder Primitive. User inputs are location (origin), Radius and Height. Half-space are all points greater then or equal to zero and less than or equal to H, along with all points(x 2 +Y 2 ) less than or equal to R 2 CSG Data Structure Data structure does not define model shape explicitly but rather implies the geometric shape through a procedural description. example: object is not defined as a set of edges & faces but by the instruction: union primitive 1 with primitive 2 This procedural data is stored in a data structure referred to as a CSG tree. CSG Models are not unique. Same object with different databases More than one procedure (and hence database) can be used to arrive at the same geometry. Therefore, CSG representation not unique (expressive) The following illustrates this concept in a simple 2D example + = - = 5

CSG Tree Model data for CSG model can be represented by a tree structure CSG tree provides a procedural description of the model in a binary tree format. The outer leaf nodes of tree represent the primitives. The interior nodes represent the Boolean operations performed. The following shows a graphical representation of the tree structure CSG Representation CSG representation is unevaluated Faces, edges, vertices not defined in explicit (mathematical) form CSG models are always valid since built from solid elements CSG Models are complete and unambiguous CSG data structure/storage Display data not actively stored The edges, faces, and vertices of the model are implied rather being explicitly defined in the data structure. Vertices, edges, etc. are defined as needed Boundary evaluation for display: The unevaluated format of CSG representation does not store a display model a boundary evaluation must be performed to determine the edges of the model in order for a model display to be created CSG Models Domain and expressive power Domain is limited by the primitives available primitives limited by half-spaces used to define them. typically planar, quadratic, toroidal also implicit combinations of these may approximate sculptured surfaces 6

CSG Models Validity provided primitives themselves are valid, combinations of primitives will be valid Uniqueness tree will unambiguously model a solid trees are not unique descriptions not necessarily a bad thing, but realize it is true CSG Modeling CSG is powerful, with high level commands CSG models created with a minimum of steps CSG modeling techniques lead to a concise database. Complete history of model is retained, and can be altered at any point. Who uses CSG? Who Uses CSG Most of the model systems currently popoular in industry do not use strict CSG model definitions. However, many of these systems do use similar constructions techniques. Many provide the user with a library of basic 3D shapes. Many systems provide the user with Boolean type commands for combining solids. This is because Booleans: are easy to implement tend to be intuitive relate well to fabrication Who uses CSG? The Army Research Lab does use a CSG system called: BRL-CAD http://ftp.arl.mil/brlcad/ Here is a simple CSG Java Applet http://www.nbb.cornell.edu/neurobio/land/ OldStudentProjects/cs490-96to97/indira/ csg/doc.html Some Links Here are a couple of interesting links there are many more if you search constructive solid geometry http://astronomy.swin.edu.au/pbourke/ geometry/fittoy/ http://www.iem.pw.edu.pl/~sawickib/ artykul1/ 7