Lecture notes: Object modeling

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

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

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

9. Three Dimensional Object Representations

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

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

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

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

SOME 024: Computer Aided Design. E. Rozos

3D Modeling: Surfaces

Chapter 4-3D Modeling

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Contours & Implicit Modelling 4

Contours & Implicit Modelling 1

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

Geometric Modeling. Introduction

3D Modeling & Sketchup

Triangle Rasterization

Solid Modeling. Ron Goldman Department of Computer Science Rice University

Advanced 3D-Data Structures

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

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

Visualization. CSCI 420 Computer Graphics Lecture 26

Volume Illumination and Segmentation

Introduction to Geometry. Computer Graphics CMU /15-662

SEOUL NATIONAL UNIVERSITY

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

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

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Clipping. CSC 7443: Scientific Information Visualization

Scalar Algorithms: Contouring

3D Modeling: Solid Models

MODELING AND HIERARCHY

Level of Details in Computer Rendering

Geometric Representations. Stelian Coros

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

Motion Planning. O Rourke, Chapter 8

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

Convex Polygon Generation

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

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

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

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

Data Representation in Visualisation

3D Representation and Solid Modeling

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

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

Surface and Solid Geometry. 3D Polygons

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

Isosurface Rendering. CSC 7443: Scientific Information Visualization

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Spatial Data Structures

Data Visualization (DSC 530/CIS )

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

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

Digital Image Processing Fundamentals

CSC Computer Graphics

Overview of 3D Object Representations

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

Overview of 3D Object Representations

Visualization Computer Graphics I Lecture 20

Lecture 4b. Surface. Lecture 3 1

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

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

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

Practical Linear Algebra: A Geometry Toolbox

Geometric and Solid Modeling. Problems

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Spatial Data Structures

Implicit Surfaces & Solid Representations COS 426

Graphics (Output) Primitives. Chapters 3 & 4

Topics and things to know about them:

CIS 467/602-01: Data Visualization

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

4.4 3D Shape Interpolation - changing one 3D object into another

CIS 4930/ SCIENTIFICVISUALIZATION

Constructive Solid Geometry and Procedural Modeling. Stelian Coros

3D Modeling techniques

A Constrained Delaunay Triangle Mesh Method for Three-Dimensional Unstructured Boundary Point Cloud

Spatial Data Structures

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Introduction to Solid Modeling

Simplicial Complexes: Second Lecture

Translations. Geometric Image Transformations. Two-Dimensional Geometric Transforms. Groups and Composition

Polygonization of Implicit Surfaces

Geometric Modeling Systems

Boolean Component. Chapter 1. Boolean Operations

Processing 3D Surface Data

Scalar Field Visualization I

3D Object Representation

Shrinkwrap developments for computational electromagnetics in ICE NITe

Computer Aided Design. Solid models and B-REP

Chapter 5. Projections and Rendering

Surface Mesh Generation

EE631 Cooperating Autonomous Mobile Robots

Transcription:

Lecture notes: Object modeling One of the classic problems in computer vision is to construct a model of an object from an image of the object. An object model has the following general principles: Compact representation The data necessary to describe the model should be much smaller (orders of magnitude) less than the original image data. For a model created from image data, the model encodes a large but finite point set (the pixels), but for a model created from human imagination, the model encodes an essentially infinite point set. Retains important features The model should convey the interesting features of the object such as its shape and color. The relative importance of features depends upon the task for which the model will be used. Visualization tasks can require very detailed models, while navigation tasks can use coarse models to avoid obstacles. Conductive to answering questions The model should allow for the calculation of properties about the object, such as its size and position. Again, this can be task dependent. Consider for example the Arabic and Roman number models. We can model the number fifty-four as 54 in Arabic and LIV in Roman. Both are useful for providing a compact representation of fifty-four things, but one is much easier to use for subtraction and addition. What is LIX + CVII? It is easier to calculate if we write it as 59 + 107. Just as with numbers, there are several different types of modeling systems for objects. These notes cover 6 different methods. (1) Mesh. A mesh model represents an object using a large number of triangles. Each triangle represents a small piece of a surface. Triangles can each be given a different color or texture. The triangles are all planar and so can be easily rotated, translated, and rendered using ray tracing. A model is easily fit to range image data by making a triangle for every 3 neighboring pixels. Multiple views (images) are relatively easy to combine. The union of 3D point clouds from each image is found, and then a nearestneighbor method is used to connect points and make triangles. Meshes are good for visualization but poor for answering geometric questions. They do not generally provide information on the number of surfaces of an object or relations between object parts. Although they can be more compact than original range data, they are not nearly as compact as some other models. Figures 1 and 2 show some example meshes.

Figure 1: A mesh model of a car part.

Figure 2: A mesh model of a telephone handset.

Figure 3: A voxel grid model of a donut. (2) Voxel grid. A voxel grid represents an object using a 3D grid of cells. Each cell is called a volume element (voxel) and models a small cube of space. Voxels can each be given a different color or texture. The triangles are all composed of simple planes and so can be easily rotated, translated, and rendered using ray tracing. A model is easily fit to range image data by marking a voxel as full if a range data point lies within it, and empty it no range data points lie within it. Multiple views (images) are easy to combine. A new view of additional 3D data can simply be projected into the voxel space. Voxel grids are okay for visualization but not quite as good as meshes because they tend to yield a rasterization jagged effect unless the density is very high. They can answer some geometric questions such as volume, but do not provide explicit surface primitives. Although they can be more compact than original range data, they are not nearly as compact as some other models. Figure 3 shows an example voxel grid.

Figure 4: An example boundary representation (brep) model. The surface adjacency graph (SAG) represents the topology of the surfaces (how they are connected), and the nodes represent the geometry (the equations of the surfaces). (3) Boundary representation (b-rep). A boundary model represents an object using a set of surface equations and a topology. The surface equations describe planes of curved surfaces. The topology describes the connections of the surfaces. Surfaces can each be given a different color or texture, or a functional pattern that varies across the surface. Surface equations can be easily rotated, translated, and rendered using ray tracing, but the ray tracing typically devolves curved surfaces into planar elements for simpler computations and consistency. A model is difficult to fit to range image data because the data must be segmented into surfaces. Finding the topology is equivalent to finding edges which is also not trivial. Multiple views (images) are difficult to combine. A new view of another angle of the object must be matched against the existing topology of the model. B-reps are poor for visualization because they tend to have little detail. They are far more compact than meshes and voxel grids. They tend to be good for some geometric questions because surface, edge and volume computations are all simple. They are also useful for questions involving surface and part relationships, e.g. topology. Figure 4 shows an example b-rep model. Figure 5 highlights some of the similarities and differences between mesh and b-rep models. While the b-rep car model looks poor, it can more easily be used to answer questions about pieces of the car.

Figure 5: Continuum of b-rep to mesh modeling.

Figure 6: Invalid b-rep model. Figure 6 shows an example of an invalid b-rep. Invalidity means that although the surface primitives are valid and the topology is valid, their combination describes an object that cannot be physically realized. Many mesh models are invalid. This is not a problem if the model will only be used for visualization. B-reps however are generally used for answering geometric/physical questions, so that model validity is critical. Rules for b-rep validity are well established. For a polyhedron b-rep to be valid, it must satisfy the following criteria: 1. Each face must have at least 3 edges. 2. Each edge must have precisely 2 vertices. 3. Each edge must belong to precisely two faces. 4. Each vertex in a face must belong to precisely two of the face s edges. 5. Each vertex must be unique. 6. All vertices belonging to a face must solve the same plane equation. 7. Edges must be either disjoint or intersect at a common vertex. 8. Faces must be either disjoint or intersect at a common edge or vertex. Meshes can be manipulated or constructed to force validity. This is necessary for example for models that will have physics applied to them, such as in video games. The next three modeling types are all known as parts models, because they use primitives to represent different parts of objects.

Figure 7: Constructive solid geometry model. (4) Constructive solid geometry. A CSG model uses a set of primitives and combinatorial rules to represent an object. Figure 7 shows an example. This modeling scheme can be useful when working with objects composed of similar parts, but has not proven as generally practical as a mesh model. Figure 8: Spline model. (5) Spline model. A spline model uses a contour through 3D space along with a cross-sectional function to describe a volume. It provides a very compact way to represent complex curved surfaces. However, there is no easy way to render it so it is typically converted to a mesh for visualization. There is also no easy way to represent holes, topology, or combinations of parts.

(6) Superquadrics and Hyperquadrics. A superquadric or hyperquadric model uses a set of volumetric primitives of tunable shape. Each primitive represents a different part of an object. The shape of each primitive can be controlled by adjusting parameters that enclose the volume. At the course website, a document giving details on these models provides details. Figure 9: Superquadric (top) and hyperquadric (bottom) model.