In the name of God Computer Graphics. Introduction Modeling techniques modeling techniques managements Some renderings.

Slides:



Advertisements
Similar presentations
Concept of Modeling Model -- The representation of an object or a system Modeling -- The creation and manipulation of an object or a system representation.
Advertisements

1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
HCI 530 : Seminar (HCI) Damian Schofield.
GATE D Object Representations (GATE-540) Dr.Çağatay ÜNDEĞER Instructor Middle East Technical University, GameTechnologies & General Manager SimBT.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Chapter 3 2D AND 3D SPATIAL DATA REPRESENTATIONS 김 정 준.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-4 Computer Graphics- CAD Software Industrial Engineering Program King Saud University.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology 3D Engines and Scene Graphs Spring 2012.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Volumetric and Blobby Objects Lecture 8 (Modelling)
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
Objectives Review some advanced topics, including Review some advanced topics, including Chapter 8: Implementation Chapter 8: Implementation Chapter 9:
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation.
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.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
COMPUTER AIDED DESIGN -(CAD)-3
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Wednesday, February 23, 2000 William H. Hsu Department.
11/11/04© University of Wisconsin, CS559 Fall 2004 Last Time Shading Interpolation Texture mapping –Barycentric coordinates for triangles.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
Disediakan oleh Suriati bte Sadimon GMM, FSKSM, UTM, 2004 SOLID MODELLING.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
4/13/04© University of Wisconsin, CS559 Spring 2004 Last Time Modeling intro Polygonal modeling –Ways of representing polygonal meshes –Indexing schemes.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Solid Modelling Graphics Systems / Computer.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
Geometric Modeling. Volumetric o Collection device obtains regular grid of measurement values Examples: CT, MRI, PET, Ultrasound o Values are interpreted/visualized.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Visual Computing Geometric Modelling 1 INFO410 & INFO350 S2 2015
3D Object Representations
11/23/04© University of Wisconsin, CS559 Fall 2004 Last Time Modeling considerations Polygonal modeling techniques Homework 6.
Three-Dimensional Object Representation
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
More Object Representations
11/16/04© University of Wisconsin, CS559 Fall 2004 Last Time Texture Anti-Aliasing Texture boundaries Modeling introduction.
11/12/02(c) University of Wisconsin, CS559 Last Time Texturing Details Homework 5.
Solid Modeling Dr. Scott Schaefer.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Lesson Plan: Drafting and Design J6-2. What is 3D solid modeling? How do 3D solid modeling programs work?
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Introduction to Parametric Curve and Surface Modeling.
CS552: Computer Graphics Lecture 28: Solid Modeling.
Constructive Solid Geometry CSG (Geometri Padat Konstruktif)
Computer graphics 3D solid modeling.
POLYGON MESH Advance Computer Graphics
SOLID MODELLING.
Lecture 33: Shape Modeling Li Zhang Spring 2008
Introduction to Graphics Modeling
3D Object Representations
Lecture 27: Solid Modeling
© University of Wisconsin, CS559 Spring 2004
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Hierarchical Modeling & Constructive Solid Geometry
(c) 2002 University of Wisconsin
Overview of Modeling 김성남.
Presentation transcript:

In the name of God Computer Graphics

Introduction Modeling techniques modeling techniques managements Some renderings

Last Time Intro to modeling Issues in evaluating modeling techniques: –How well does it represent objects? –What types of objects can it represent? –How easy is it to render? –How compact is it? –How easy is it to create/modify? –How easy is it to perform geometric computations? Polygonal modeling –A multitude of ways to represent polygonal models and associated data

Other Object Representations Parametric instancing Hierarchical modeling Constructive Solid Geometry Octrees Blobs and Metaballs and other such things Production rules + Polygonal modeling

Modeling managements Modeling format is based on application –Provide software that knows how to draw the object given the parameters, or knows how to produce a polygonal mesh –Managing the model depends on the rendering style –Can be an exact representation

Parametric Instancing Many primitives are conveniently described by a label and a few parameters –Cylinder: Radius, length, does it have end-caps, … –Other examples

Rendering Instances provide a routine that takes the parameters and produces a polygonal representation –Conveniently brings parametric instancing into the rendering –May include texture maps, normal vectors, colors, etc –OpenGL utility library (GLu) defines routines for cubes, cylinders, disks, and other common shapes –Renderman does similar things, so does POVray, … The procedure may be dynamic –For example, adjust the polygon resolution according to distance from the viewer

Hierarchical Modeling A hierarchical model unites several parametric instances into one object –For example: a desk is made up of many cubes –Other examples Generally represented as a tree, with transformations and instances at any node Rendered by traversing the tree, applying the transformations, and rendering the instances Particularly useful for animation –Human is a hierarchy of body, head, upper arm, lower arm, etc… –Animate by changing the transformations at the nodes

Hierarchical Model Example Draw body left arm x arm l Rotate about shoulder Draw upper arm Translate (l,0,0) Rotate about origin of lower arm Draw lower arm Important Point: Every node has its own local coordinate system. This makes specifying transformations easier.

Regularized Boolean Set Operations Hierarchical modeling is not good enough if objects in the hierarchy intersect (cut each other) –Transparency will allow internal surfaces that should not exist –Computing properties like mass may count the same volume twice Solution is to define regularized set operations: –Every object must be a closed volume (mathematically closed) –Define mathematical set operations (union, intersection, difference, complement) to the sets of points within the volume

Constructive Solid Geometry (CSG) Based on a tree structure, like hierarchical modeling, but: –The internal nodes are set operations: union, intersection or difference (sometimes complement) –The edges of the tree have transformations associated with them –The leaves contain only geometry Allows complex shapes with only a few primitives –Common primitives are cylinders, cubes, etc, or quadric surfaces Motivated by computer aided design and manufacture –A common format in CAD products

CSG Example  cylinder scale translate scale translate

Rendering CSG Normals and texture coordinates typically come from underlying primitives (not a big deal with CAD) Some rendering algorithms can render CSG directly –Raytracing –Scan-line with an A-buffer –Can do 2D with tesselators in OpenGL For OpenGL and other polygon renderers, must convert CSG to polygonal representation –Must remove redundant faces, and chop faces up Basic algorithm: Split polygons until they are inside, outside, or on boundary. Then choose appropriate set for final answer. –Generally difficult, messy and slow –Numerical imprecision is the major problem

CSG Summary Advantages: –Good for describing many things –Better if the primitive set is rich Early systems used quadratic surfaces –Easy to understand Disadvantages: –Not a good match for polygon renderers –Some objects may be very hard to describe, if at all Geometric computations are sometimes easy, sometimes hard A volume representation (hence solid in the name) –Boundary (surface representation) can also work

Spatial Enumeration Basic idea: Describe something by the space it occupies –For example, break the volume of interest into lots of tiny cubes, and say which cubes are inside the object –Works well for things like medical data The process itself, like MRI or CAT scans, enumerates the volume Data is associated with each voxel (volume element) Problem to overcome: –For anything other than small volumes or low resolutions, the number of voxels explodes –Note that the number of voxels grows with the cube of linear dimension

Octrees (and Quadtrees) Build a tree where successive levels represent better resolution (smaller voxels) Large uniform spaces result in shallow trees Quadtree is for 2D (four children for each node) Octree is for 3D (eight children for each node)

Quadtree Example top lefttop rightbot leftbot right Octree principle is the same, but there are 8 children

Rendering Octrees Volume rendering renders octrees and associated data directly –A special area of graphics, visualization Can convert to polygons by a few methods: –Just take faces of voxels that are on the boundary –Find iso-surfaces within the volume and render those –Typically do some interpolation (smoothing) to get rid of the artifacts from the voxelization Typically render with colors that indicate something about the data, but other methods exist

Spatial Data Structures Octrees are an example of a spatial data structure –A data structure specifically designed for storing information of a spatial nature In graphics, octrees are frequently used to store information about where polygons, or other primitives, are located in a scene –Speeds up many computations by making it fast to determine when something is relevant or not

Blobs and Metaballs Define the location of some points For each point, define a function on the distance to a given point, (x,y,z) Sum these functions up, and use them as an implicit function More generally, use Gaussian functions of distance, or other forms –Various results are called blobs or metaballs

Example with Blobs Rendered with POVray. Not everything is a blob, but the characters are.

Rendering Implicit Surfaces Some methods can render then directly –Raytracing - find intersections with Newton’s method For polygonal renderer, must convert to polygons Advantages: –Good for organic looking shapes eg human body –Reasonable interfaces for design Disadvantages: –Difficult to render and control when animating –Being replaced with subdivision surfaces, it appears

Production Rules Model by giving a set of rules to follow to generate it Works best for things like plants: –Start with a stem –Replace it with stem + branches –Replace some part with more stem + branches, and so on Essentially, generate a string that describes the object by replacing sub-strings with new sub-strings Render by generating geometry –Parametric instances of branch, leaf, flower, etc –Or polygons, or blobs, or … Can work for whole gardens and forests

L-Systems Prusinkiewicz, Hammel, Mech

More L-Systems Prusinkiewicz, Hammel, Mech

Yet More L-systems Prusinkiewicz, Hammel, Mech