Solid Modeling Ref. Mantyla. Introduction Aim of modeling: The search of a media of communication.

Slides:



Advertisements
Similar presentations
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Advertisements

Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Gopi -ICS280F02 - Slide 1 Characteristics of an Object.
Discrete Geometry Tutorial 2 1
3D Compression, SM’02 1Jarek Rossignac, GVU Center, Georgia Tech1: T-meshes Triangle meshes Jarek Rossignac GVU Center and College of Computing Georgia.
Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
DEFINING OBJECTS - 3D REPRESENTATIONS Surface representations Polygon tables 3D curves and curved surfaces Sweep representations Constructive solid geometry.
IE 590 J Cecil NMSU 1 IE 590 Integrated Manufacturing Systems Lecture 4 CAD & Geometric Modeling.
Graph Drawing Introduction 2005/2006. Graph Drawing: Introduction2 Contents Applications of graph drawing Planar graphs: some theory Different types of.
History: CNC: ~1950 Mainframe Computers: ~1960’s BREP: 1970 (Baumgart) CSG: 1974 (Ian Braid) Solid Modeling.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Polygonal Mesh – Data Structure and Smoothing
Polygonal Meshes 3D Object Representation -Tyler Abrams.
12/06/00 Dinesh Manocha, COMP258 Solid Modeling CSG (Constructive Solid Geometry) Representations: A set theoretic Boolean expression of primitive solid.
Representation Issues in Data Exchange for RP-LM Sara McMains U.C. Berkeley.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 4: 3D Convex Hulls Monday, 2/23/04.
Introduction to Boolean Operations on Free-form Solids CS284, Fall 2004 Seung Wook Kim.
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
CS CS 175 – Week 4 Triangle Mesh Smoothing Discrete Differential Geometry.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Polygon Meshes and other modeling tools Object representation Polygon meshes Normals Scene graphs.
Mesh Representation, part I
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
COMPUTER AIDED DESIGN -(CAD)-3
Kevin Trott, x266 PAR Government Systems Corporation Geocomp4 Conference 27 July D Topology for Terrain Reasoning.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Solid Modelling Graphics Systems / Computer.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
12. Polyhedra
ME6104: CAD. Module 32. ME6104: CAD. Module 32. Systems Realization Laboratory Module 32 CAD-RP Transition ME 6104.
David Breen, William Regli and Maxim Peysakhov
Representation and modeling of 3D objects (basic concepts) FMFI UK Katedra počítačovej grafiky a spracovania obrazu Marek.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
Geometric Modeling How to design a graphical model? How to create a digital description of a real-world object? Design Digitize.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Mesh data structure & file format
CS418 Computer Graphics John C. Hart
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
Geometrically Bounded Wireframe AIC (Part 510) Grouping of curves relevant for 3-dimensional wireframe modeling without topological constructs Elementary.
Solid Modeling Prof. Lizhuang Ma Shanghai Jiao Tong University.
David Breen, William Regli and Maxim Peysakhov
COMPSCI 102 Introduction to Discrete Mathematics.
Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Intelligent Engineering Systems Lecture 2. Description.
Solid Modeling Dr. Scott Schaefer.
3D Object Representations. Introduction Line and circle and polygon algorithms- represented simple and smooth object. Some Natural object are neither.
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.
Computer graphics 3D solid modeling.
Introduction to Polygons
POLYGON MESH Advance Computer Graphics
SOLID MODELLING.
Geographical Information Systems
Visible-Surface Detection Methods
Modeliranje kompleksnih modelov
3D Object Representations
Boundary Representations and Topology
Computer Aided Engineering Design
Graphs Chapter 11 Objectives Upon completion you will be able to:
Meshes.
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Overview of Modeling 김성남.
Modeliranje kompleksnih modelov
Prof. Lizhuang Ma Shanghai Jiao Tong University
Presentation transcript:

Solid Modeling Ref. Mantyla

Introduction Aim of modeling: The search of a media of communication

Introduction (cont) Geometric modeling Which parts of the objects are visible to the viewer? Colors?

Introduction Solid modeling

Geometric Modeling Surface Modeling Solid Modeling CSGVoxelsB-rep Winged EdgeHalfedge OpenMesh {Alias Designer} Taxonomy

Issues of Solid Modeling (information) Completeness Integrity Complexity, Geometric Coverage –What does the object look like? –What is the weight, surface area, of the object –Will the object hit the other object on its path?

Representation Schemes Wireframe Surface Modeling Solid Modeling

A representation scheme is a relation s:M  R. The domain of s is denoted by D and the image of D under s by V. If any valid representation models exactly one solid under s, s is called unambiguous or informationally complete. A representation scheme s is termed unique if all solids have exactly one representation A solid representation is a finite collection of symbols (of a finite alphabet) that designate a solid of M. The representation techniques of a given solid modeler define the representation space R of the modeler. Those representations that actually can be constructed by the solid modeler according to its syntax rules are termed admissible.

Solid Modeling CSG –Constructive solid geometry Volumetric model B-rep –Boundary representation

Information Completeness Able to resolve point inclusion test unambiguously Given a point and a solid; return In/Out/On

Constructive Solid Geometry Point inclusion test for CSG 1.Classify against leaf primitives 2.Propagate the result in the true

Point Inclusion Test for CSG 1.Classify against leaf primitives 2.Propagate the result in the tree IN out IN out

Volumetric Representation solid otherwise

Octree

Boundary Model Face, Edge, Vertex v e f

Validity of Boundary Model Elements of the model should not self-intersect should not intersect each other unless at their boundary. Self-intersecting non-manifold (next page)

Definition of Manifold For every point on the boundary, its neighborhood on the boundary is homeomorphic (topologically equivalent) to an open disc. disc

Topologically Equivalent

Examples of Non-Manifold Models

Plane Models Mobius strip Torus Cylinder Edge identification

Plane Model Each edge (of a polygon) is assigned an orientation from one endpoint to the other Every edge is identified with exactly to one other edge For each collection of identified vertices, the polygons identified at that collection can be arranged in a cycle such that each consecutive pair of polygons in a cycle is identified at an edge adjacent to a vertex from the collection.

Orientable Solids A plane model is orientable if the directions of its polygons can be chosen so that for each pair of identifed edges, one edge occcus in its positive orientation, and the other one in its negative orientation

Euler-Poincaré Formula (ref)ref V: the number of vertices E: the number of edges F: the number of faces G: the number of holes that penetrate the solid, usually referred to as genus in topology S: the number of shells. A shell is an internal void of a solid. A shell is bounded by a 2-manifold surface. Note that the solid itself is counted as a shell. Therefore, the value for S is at least 1. L: the number of loops, all outer and inner loops of faces are counted.

Examples Box w/ through hole: V-E+F-(L-F)-2(S-G) = (12-10)-2(1-1)=0 V-E+F-(L-F)-2(S-G) = (7-7)-2(1-0)=0 Invalid solid yet still yields ZERO! Box: V-E+F-(L-F)-2(S-G) = (6-6)-2(1-0)=0 Open Box: V-E+F-(L-F)-2(S-G) = (5-5)-2(0-0)=1 Box w/ blind hole: V-E+F-(L-F)-2(S-G) = (12-11)-2(1-0)=0

Count Genus Correctly G = 3? G = 2! G = ?

Euler Operators MVFS MEV MEF KEMR (Ring: loop)

Global Operators

Example: Euler Operators

Winged-Edge Data Structure Commonly used to describe polygon models Quick traversal between faces, edges, vertices Linked structure of the network Assume there is no holes in each face

Winged-Edge Data Structure vertices of this edge its left and right faces the predecessor and successor when traversing its left face the predecessor and successor when traversing its right face.

Winged-Edge Data Structure EdgeVerticesFacesLeft TraverseRight Traverse NameStartEndLeftRightPredSuccPredSucc aXY12dbce Edge Table

Winged-Edge Data Structure EdgeVerticesFacesLeft TraverseRight Traverse NameStartEndLeftRightPredSuccPredSucc aAD31fecb bAB14acdf cBD12baed dBC24cefb eCD23dcaf fAC43bdea

Winged-Edge Data Structure Vertex NameIncident Edge Aa Bb Cd Dc the vertex table and the face table Face NameIncident Edge 1a 2c 3a 4b

Winged Edge Data Structure (Baumgart 1975)Baumgart 1975

Winged-Edge Data Structure For a face with inner loops are ordered clockwise. Adding an auxiliary edge between each inner loop and the outer loop

Halfedge Data Structure Modification of winged edge Since every edge is used twice, devise “halfedge” for this use Can have loop to account for multiply connected face (face with multiple boundaries) Can handle –Manifold models –Face with boundary OpenMesh: a specialized halfedge implementation (for triangular meshes)

Half-Edge Data Structure Doubly connected edge list

Object File Format(OFF) Storing a description a 2D or 3D object Simple extension can handle 4D objects –4D: (x,y,z,w) OFF File Characteristics –ASCII (there is also a binary version) –Color optional –3D –No compression

Object File Format(OFF)

Polygon File Format Stanford Triangle Format Store 3-d data from 3D scanners Properties can be stored including –color and transparency –surface normals –texture coordinates –data confidence values

Stanford 3D Scanning Repository (url)url Cyberware 3D Scanners (url)url Large models also avaiable at GeogiaTechGeogiaTech

Polygon File Format PLY structure –Header –Vertex List –Face List –(lists of other elements)

Polygon File Format