MODELING AND HIERARCHY

Similar documents
CS 352: Computer Graphics. Hierarchical Graphics, Modeling, And Animation

CHAPTER 1 Graphics Systems and Models 3

Animation & Rendering

CS354 Computer Graphics Character Animation and Skinning

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

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Spatial Data Structures

Images from 3D Creative Magazine. 3D Modelling Systems

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

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

Hierarchical Modeling and scene graphs

Advanced 3D-Data Structures

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

Spatial Data Structures

Sculpting 3D Models. Glossary

Computer Graphics I Lecture 11

9. Three Dimensional Object Representations

Spatial Data Structures

Modeling Technology Group

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

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

Modeling. Anuj Agrawal Dan Bibyk Joe Pompeani Hans Winterhalter

3D Modeling techniques

3D Modeling: Solid Models

Modeling 3D Objects: Part 2

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

Autodesk Maya 2018 BASICS GUIDE

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

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

Surface and Solid Geometry. 3D Polygons

Ray Tracing Acceleration. CS 4620 Lecture 20

Animation II: Soft Object Animation. Watt and Watt Ch.17

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

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

Animation. Motion over time

Chapter 13 - Modifiers

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

CS535 Fall Department of Computer Science Purdue University

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Implicit Surfaces & Solid Representations COS 426

Character Modeling IAT 343 Lab 6. Lanz Singbeil

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Game Programming. Bing-Yu Chen National Taiwan University

animation projects in digital art animation 2009 fabio pellacini 1

Ray Tracing: Intersection

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

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

Review. Stephen J. Guy

Geometric Modeling. Introduction

Computer Graphics. Bing-Yu Chen National Taiwan University

Course Title: Computer Graphics Course no: CSC209

Solid Modeling. Ron Goldman Department of Computer Science Rice University

VIII. Visibility algorithms (II)

Character Animation COS 426

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects

Hierarchical Modeling and Scene Graphs

Ray Tracing Acceleration Data Structures

Object representation

Hierarchical Modeling. CS 432 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Intersection Acceleration

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO F ^ k.^

3D Design with 123D Design

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

Actions and Graphs in Blender - Week 8

Overview of 3D Object Representations

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Chapter 4-3D Modeling

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Spatial Data Structures

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

The 3D rendering pipeline (our version for this class)

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Course Review. Computer Animation and Visualisation. Taku Komura

CS770/870 Spring 2017 Animation Basics

CS770/870 Spring 2017 Animation Basics

Advanced Graphics and Animation

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Lecture notes: Object modeling

Spatial Data Structures

Introduction to Computer Graphics

Speeding up your game

Key 3D Modeling Terms Beginners Need To Master

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:

CS 465 Program 4: Modeller

Engineering Real- Time Applications with Wild Magic

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

3D Modeling. Visualization Chapter 4. Exercises

COMP 175: Computer Graphics April 11, 2018

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips

VALLIAMMAI ENGINEERING COLLEGE

CS451Real-time Rendering Pipeline

Topics and things to know about them:

Animation COM3404. Richard Everson. School of Engineering, Computer Science and Mathematics University of Exeter

Transcription:

MODELING AND HIERARCHY

Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical models that are used in all areas of science and engineering. These models use equations to model the physical phenomena that we wish to study. In computer science, we use abstract data types to model organizations of objects; in computer graphics, we model our worlds with geometric objects.

Symbols And Instances Our first concern is how we can store a model that may include many sophisticated objects. There are two immediate issues: (1)how we define an object more complex than the ones we have dealt with until now. (2)how we represent a collection of these objects

Modeling Modeling primitives Polygon Sphere, ellipsoid, torus, superquadric surfaces of revolutions, smoothed polygons Particles Skin & bones Approaches to modeling complex shapes Tools such as extrude, revolve, loft, split, stitch, blend Constructive solid geometry (CSG) Hierarchy; kinematic joints

Modeling Primitives: polygons, subdivision surfaces, NURBS, particles, fluids, bones, procedural Tools: Construction, bending, twisting, shear, sweeping, stitching, blending, etc. Surfacing: bump mapping, cloth, skin, hair, fur, muscle Animation: inverse kinematics, pose blending, motion capture, keyframe animation, editable motion trails Rendering: interactive and photo-realistic, compositing, stereoscopic

Primitives Most common primitive is the polygon Number of polygons: tradeoff between render time and model accuracy Chapter 10-6

Spline Curves Linear spline Cardinal spline B-spline Bezier curve NURBS (nonuniform rational b- spline) Chapter 10-8

Mesh

Mesh deformations

Sweep Sweep a shape over a path to form a generalized cylinder

Revolution Revolve a shape around an axis to create an object with rotational symmetry

Extrusion Extrude: grow a 2D shape in the third dimension Shape is created with a (1D) b-spline curves Hole was created by subtracting a cylinder Chapter 10-13

Subdivision Surfaces Can set level of polygon subdivision

Particles Chapter 10-17

Algorithmic Primitives Algorithms for trees, mountains, grass, fur, lightning, fire, Chapter 10-18

Collada Collaborative Design Activity: interchange file format for 3D applications Managed by Khronos Group (same as WebGL) XML-based Supported by a wide variety of applications including 3ds Max, Maya, Blender, Lightwave, Unity, Unreal Three.js support is there but buggy Version 1.4: skinning, morphing, animation Version 1.5: kinematics, asset geolocation, level of detail Chapter 9-19

Hierarchical models When animation is desired, objects may have parts that move with respect to each other Object represented as hierarchy Often there are joints with motion constraints E.g. represent wheels of car as sub-objects with rotational motion (car moves 2 pi r per rotation) Done with parenting Interactive Computer Graphics Chapter 10-20

DAG models Could use tree to represent object Actually, a DAG (directed acyclic graph) is better: can re-use objects Note that each arrow needs a separate modeling transform In object-oriented graphics, also need motion constraints with each arrow

Example: Robot Traverse DAG using DFS (or BFS) Push and pop matrices along the way (e.g. left-child right-sibling) The figer shows a boxlike representation of a humanoid that might be used for a robot model or in a virtual reality application

Trees And Traversal If we take the torso as the root element, we can represent this figure with the tree shown in Figure below.

Use Of Tree Data Structures Our second approach is to use a standard tree data structure to represent our hierarchy and then to render it with a traversal algorithm that is independent of the model. We use a left-child, right-sibling structure.

Animation The models that we developed for our two examples the robot arm and the figure are articulated: The models consist of rigid parts connected by joints. We can make such models change their positions in time animate them by altering the values of a small set of parameters. Hierarchical models allow us to model the compound motions incorporating the physical relationships among the parts of the model. What we have not discussed is how to alter the parameters over time so as to achieve the desired motion.

Animation Suppose you want the robot to pick up a can of oil to drink. How? You could set the joint positions at each moment in the animation (kinematics)

Inverse Kinematics You can t just invert the joint transformations Joint settings aren t even necessarily unique for a hand position! Inverse kinematics: figure out from the hand position where the joints should be set.

Using Inverse Kinematics Specify joint constraints and priorities Move end effector (or object pose) Let the system figure out joint positions Lightwave

Keyframe Animation In traditional key frame animation the animator draws several important frames, and helpers do the inbetweening or tweening Computer animation is also key-frame based At key frames, animator positions objects and lights, sets parameters, etc. The system interpolates parameter values linearly or along a curve To get from one object pose to the next, ionverse kinematics determine joint motions Chapter 10-29

Motion Capture More realistic motion sequences can be generated by Motion Capture Attach joint position indicators to real actors Record live action

Algorithms for Visibility Question: How can you do hidden-surface removal without a Z-buffer, or speed it up with a Z-buffer? Is there some data structure that could be computed in advance that would help?

BSP Trees We can use trees to describe the world object space and encapsulate the spatial relationships among groups of objects. These relationships can lead to fast methods of visibility testing to determine which objects might be seen by a camera, thus avoiding processing all objects with tests such as the z- buffer algorithm. These techniques have become very important in real-time animations for computer games

BSP-tree The painter s algorithm for hidden surface removal works by drawing all faces, from back to front How to get a listing of the faces in back-to-front order? Put them into a binary tree and traverse the tree (but in what order?)

BSP Tree Figures Right is front of polygon; left is back In and Out nodes show regions of space inside or outside the object

BSP-tree Summary Returns polygons not necessarily in sorted order, but in an order that is correct for back-to-front rendering Widely used when Z-buffer hardware may not be available (e.g. game engines) Guarantees back-to-front rendering for alpha blending Works well (linear-time traversals) in the number of split polygons [And we hope the number of polygons doesn t grow too much through splitting]

Handling Large Spatial Data Sets Example application: image-based rendering Suppose you have many digital images of a scene, with depth information for pixels How to find efficiently the points that are in front? Other applications: Speeding up ray-tracing with many objects Rendering contours of 3D volumetric data such as MRI scans Chapter 10-37

Quadtree Quadtree: divide space into four quadrants. Mark as Empty, Full, or Partially full. Recursively subdivide partially full regions Saves much time, space over 2D pixel data!

Quadtree Structure Interactive Computer Graphics Chapter 10-39

Octrees Generalize to cutting up a cube into 8 sub-cubes, each of which may be E, F, or P (and subdivided) Much more efficient than a 3D array of cells for 3D volumetric data Chapter 10-40

Quadtree Algorithms How would you render a quadtree shape? find the intersection of a ray with a quadtree shape? Take the union of two quadtrees? Intersection? Find the neighbors of a cell?

Applications of Octrees Contour finding in MRI data 3D scanning and rendering Efficient ray tracing Intersection, collision testing