1 Computer Graphics Chapter 7 3D Object Modeling.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

ICS 415 Computer Graphics Bézier Splines (Chapter 8)
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.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
HCI 530 : Seminar (HCI) Damian Schofield.
11-1 Space Figures and Cross Sections
Computer Graphics - Class 14
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Course Website: Computer Graphics 11: 3D Object Representations – Octrees & Fractals.
Polygonal Meshes 3D Object Representation -Tyler Abrams.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Dr. Abdulrahman M. Al-Ahmari Industrial Engineering.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Industrial Engineering Program King Saud University.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 21 CURVE FITTING Chapter 18 Function Interpolation and Approximation.
MS. WILLIAMS Anatomy of a 3D Model. 3D Model 3D Models are one of the essential building blocks of 3D computer graphics. Without them there would be no.
9-4 Geometry in Three Dimensions  Simple Closed Surfaces  Regular Polyhedra  Cylinders and Cones.
Copyright 2013, 2010, 2007, Pearson, Education, Inc. Section 9.4 Volume and Surface Area.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curve Modeling Bézier Curves
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
2003CS Hons RW778 Graphics1 Chapter 6: Polygonal Meshes 6.2 Introduction 6.2 Introduction –Polygonal mesh: collection of polygons (faces) –List of polygons,
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Modeling Shapes with Polygonal Meshes. 3D Modeling Polygonal meshes capture the shape of complex 3D objects in simple data structures.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
V. Space Curves Types of curves Explicit Implicit Parametric.
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.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
12. Polyhedra
Chapter 11.1 Notes Common Core – G.GMD.4 Identify the shapes of two-dimensional cross-sections of three-dimensional objects, and identify three-dimensional.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Geometric Objects and Transformation
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Vector Graphics Digital Multimedia Chap 이병희
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
3D Object Representations
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation of Curves and Surfaces Graphics.
Chapter Area, Pythagorean Theorem, and Volume 14 Copyright © 2013, 2010, and 2007, Pearson Education, Inc.
12.1 Exploring Solids.
In the name of God Computer Graphics Bastanfard. Curve Function(2) Other method is approximate it using a poly-line. Just locate a set of points along.
Three-Dimensional Object Representation
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Introduction to Curves
Section 12-1 Exploring Solids. Polyhedron Three dimensional closed figure formed by joining three or more polygons at their side. Plural: polyhedra.
Solid Modeling Prof. Lizhuang Ma Shanghai Jiao Tong University.
1 대상물체의 형상화를 위해 사용되는 기술  인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric.
UNIT 11: 3D AutoCAD Objectives: How to print or plot a drawing How to setup a layout using title blocks and viewports Create and manage new layouts Be.
3D Object Representations. Introduction Line and circle and polygon algorithms- represented simple and smooth object. Some Natural object are neither.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Introduction to Parametric Curve and Surface Modeling.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Name the polygon by the number of sides.
Goal 1: Using Properties of Polyhedra Goal 2: Using Euler’s Theorem
Polyhedra and Prisms.
Surfaces and Curves.
Curve & Surface.
POLYGON MESH Advance Computer Graphics
Three Dimensional Object Representation
3D Object Representations
Planarity and Euler’s Formula
Procedural Animation Lecture 3: Types of 3D models
Symmetry and three-dimensional geometry
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Three-Dimensional Object Representation
11.5 Explore Solids Mrs. vazquez Geometry.
14 Chapter Area, Pythagorean Theorem, and Volume
Overview of Modeling 김성남.
Presentation transcript:

1 Computer Graphics Chapter 7 3D Object Modeling

2 3D Object Representation A surface can be analytically generated using its function involving the coordinates. A surface can be analytically generated using its function involving the coordinates. An object can be represented in terms of its vertices, edges and polygons. (Wire Frame, Polygonal Mesh etc.) An object can be represented in terms of its vertices, edges and polygons. (Wire Frame, Polygonal Mesh etc.) Curves and surfaces can also be designed using splines by specifying a set of few control points. Curves and surfaces can also be designed using splines by specifying a set of few control points. y = f(x,z) x y z...

3 Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron is a special case of a polygon mesh that satisfies the following properties: A polyhedron is a special case of a polygon mesh that satisfies the following properties: Every edge is shared by exactly two faces. Every edge is shared by exactly two faces. At least three edges meet at each vertex. At least three edges meet at each vertex. Faces do not interpenetrate. Faces at most touch along a common edge. Faces do not interpenetrate. Faces at most touch along a common edge. Euler’s formula : If F, E, V represent the number of faces, vertices and edges of a polyhedron, then Euler’s formula : If F, E, V represent the number of faces, vertices and edges of a polyhedron, then V + F  E = 2. V + F  E = 2.

4 3D Object Representation The data for polygonal meshes can be represented in two ways. The data for polygonal meshes can be represented in two ways. Method 1: Method 1: Vertex List Vertex List Normal List Normal List Face List (Polygon List) Face List (Polygon List) Method 2: Method 2: Vertex List Vertex List Edge List Edge List Face List (Polygon List) Face List (Polygon List)

Vertices and Faces - E.g. Cube Face Index Vertex Index

6 Data representation using vertex, face and normal lists:

7 Data representation using vertex, face and edge lists:

8 Normal Vectors (OpenGL)

9 Regular Polyhedra (Platonic Solids) If all the faces of a polyhedron are identical, and each is a regular polygon, then the object is called a platonic solid. If all the faces of a polyhedron are identical, and each is a regular polygon, then the object is called a platonic solid. Only five such objects exist. Only five such objects exist.

10 Wire-Frame Models If the object is defined only by a set of nodes (vertices), and a set of lines connecting the nodes, then the resulting object representation is called a wire-frame model. If the object is defined only by a set of nodes (vertices), and a set of lines connecting the nodes, then the resulting object representation is called a wire-frame model. Very suitable for engineering applications. Very suitable for engineering applications. Simplest 3D Model - easy to construct. Simplest 3D Model - easy to construct. Easy to clip and manipulate. Easy to clip and manipulate. Not suitable for building realistic models. Not suitable for building realistic models.

11 Wire Frame Models - OpenGL

12 Wire Frame Model - The Teapot

13 Polygonal Mesh Three-dimensional surfaces and solids can be approximated by a set of polygonal and line elements. Such surfaces are called polygonal meshes. Three-dimensional surfaces and solids can be approximated by a set of polygonal and line elements. Such surfaces are called polygonal meshes. The set of polygons or faces, together form the “skin” of the object. The set of polygons or faces, together form the “skin” of the object. This method can be used to represent a broad class of solids/surfaces in graphics. This method can be used to represent a broad class of solids/surfaces in graphics. A polygonal mesh can be rendered using hidden surface removal algorithms. A polygonal mesh can be rendered using hidden surface removal algorithms.

14 Polygonal Mesh - Example

15 Solid Modeling Polygonal meshes can be used in solid modeling. Polygonal meshes can be used in solid modeling. An object is considered solid if the polygons fit together to enclose a space. An object is considered solid if the polygons fit together to enclose a space. In solid models, it is necessary to incorporate directional information on each face by using the normal vector to the plane of the face, and it is used in the shading process. In solid models, it is necessary to incorporate directional information on each face by using the normal vector to the plane of the face, and it is used in the shading process.

16 Solid Modeling - Example

17 Solid Modeling - OpenGL

18 Z X Y y = f(x, z) Surface Modeling Many surfaces can be represented by an explicit function of two independent variables, such as y = f(x, z).

19 Surface Modeling - Example

20 Sweep Representations Sweep representations are useful for both surface modeling and solid modeling. Sweep representations are useful for both surface modeling and solid modeling. A large class of shapes (both surfaces and solid models) can be formed by sweeping or extruding a 2D shape through space. A large class of shapes (both surfaces and solid models) can be formed by sweeping or extruding a 2D shape through space. Sweep representations are useful for constructing 3-D objects that posses translational or rotational symmetries. Sweep representations are useful for constructing 3-D objects that posses translational or rotational symmetries.

21 Extruded Shapes - Examples A polyhedron obtained by sweeping (extruding) a polygon along a straight line is called a prism.

22 Surface of Revolution A surface of revolution is obtained by revolving a curve (known as the base curve or profile curve) about an axis. A surface of revolution is obtained by revolving a curve (known as the base curve or profile curve) about an axis. In other words, a surface of revolution is generated by a rotational sweep of a 2D curve. In other words, a surface of revolution is generated by a rotational sweep of a 2D curve. The symmetry of the surface of revolution makes it a very useful object in presentation graphics. The symmetry of the surface of revolution makes it a very useful object in presentation graphics.

23 Z X Y y = f(x) r y y (x, z) y = f(r) x Surface of Revolution

24 The three-dimensional surface obtained by revolving the curve y = f(x) about the y-axis is obtained by replacing x with sqrt(x*x + z*z). The surface of revolution is thus given by Surface of Revolution

25 Surface of Revolution

26 Quad trees Quad trees are generated by successively dividing a 2-D region(usually a square) into quadrants. Each node in the quadtree has 4 data elements, one for each of the quadrants in the region. If all the pixels within a quadrant have the same color (a homogeneous quadrant), the corresponding data element in the node stores that color. For a heterogeneous region of space, the successive divisions into quadrants continues until all quadrants are homogeneous.

27 Octrees An octree encoding scheme divide regions of 3-D space(usually a cube) in to octants and stores 8 data elements in each node of the tree. An octree encoding scheme divide regions of 3-D space(usually a cube) in to octants and stores 8 data elements in each node of the tree. Individual elements of a 3-D space are called volume elements or voxels. Individual elements of a 3-D space are called volume elements or voxels. When all voxels in an octant are of the same type, this type value is stored in the corresponding data element of the node. Any heterogeneous octant is subdivided into octants and the corresponding data element in the node points to the next node in the octree. When all voxels in an octant are of the same type, this type value is stored in the corresponding data element of the node. Any heterogeneous octant is subdivided into octants and the corresponding data element in the node points to the next node in the octree.

28 Octrees

29 Bezier Curves The Bezier curve only approximates the control points and doesn’t actually pass through all of them.

30 Inputs: n control points (x i, y i ), i = 0, 1,2, …n-1 m = n  1 Bezier Curves

31 Inputs: n control points (x i, y i ), i = 0, 1,2, …m Bezier Curves

32 Properties of Bezier Curve Bezier curve is a polynomial of degree one less than the number of control points Bezier curve is a polynomial of degree one less than the number of control points p0p0 p2p2 p1p1 p0p0 p2p2 p1p1 p3p3 Quadratic CurveCubic Curve

33 Properties of Bezier Curve (cont.) Bezier curve always passes through the first and last points; i.e. Bezier curve always passes through the first and last points; i.e. and and,

34 Properties of Bezier Curve (cont) The slop at the beginning of the curve is along the line joining the first two control points, and the slope at the end of the curve is along the line joining the last two points. The slop at the beginning of the curve is along the line joining the first two control points, and the slope at the end of the curve is along the line joining the last two points. p0p0 p2p2 p1p1 p0p0 p2p2 p1p1

35 Properties of Bezier Curve (cont) Bezier blending functions are all positive and the sum is always 1. Bezier blending functions are all positive and the sum is always 1. This means that the curve is the weighted sum of the control points. This means that the curve is the weighted sum of the control points.

36 Design Technique using Bezier Curves: A closed Bezier curve can be generated by specifying the first and last control points at the same location A closed Bezier curve can be generated by specifying the first and last control points at the same location p4p4 p 0 =p 5 p1p1 p2p2 p3p3

37 Design Technique (Cont) A Bezier curve can be made to pass closer to a given coordinate position by assigning multiple control points to that position. A Bezier curve can be made to pass closer to a given coordinate position by assigning multiple control points to that position. p0p0 p 1 = p 2 p3p3 p4p4

38 Bezier curve can be form by piecing of several Bezier section with lower degree. Bezier curve can be form by piecing of several Bezier section with lower degree. p0p0 p1p1 p 2 = p’ 0 p’ 2 p’ 3 p’ 1

39 (Not Important!) Bezier Surfaces

40 A set of 16 control points The Bezier Patch Bezier Patch

41 Utah Teapot Defined Using Control Points Bezier Patch

42 Utah Teapot Generated Using Bezier Patches Bezier Patch