TIEA311 Tietokonegrafiikan perusteet kevät 2018

Size: px
Start display at page:

Download "TIEA311 Tietokonegrafiikan perusteet kevät 2018"

Transcription

1 TIEA311 Tietokonegrafiikan perusteet kevät 2018 ( Principles of Computer Graphics Spring 2018) Copyright and Fair Use Notice: The lecture videos of this course are made available for registered students only. Please, do not redistribute them for other purposes. Use of auxiliary copyrighted material (academic papers, industrial standards, web pages, videos, and other materials) as a part of this lecture is intended to happen under academic fair use to illustrate key points of the subject matter. The lecturer may be contacted for take-down requests or other copyright concerns ( paavo.j.nieminen@jyu.fi).

2 TIEA311 Tietokonegrafiikan perusteet kevät 2018 ( Principles of Computer Graphics Spring 2018) Adapted from: Wojciech Matusik, and Frédo Durand: Computer Graphics. Fall Massachusetts Institute of Technology: MIT OpenCourseWare, License: Creative Commons BY-NC-SA Original license terms apply. Re-arrangement and new content copyright by Paavo Nieminen and Jarno Kansanaho Frontpage of the local course version, held during Spring 2018 at the Faculty of Information technology, University of Jyväskylä: nieminen/tgp18/

3 Simple Example with s { numobjects 3 { numobjects 3 Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { numobjects 2 { Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { Box { <BOX PARAMS> } Sphere { <SPHERE PARAMS> } Sphere { <SPHERE PARAMS> } } } Plane { <PLANE PARAMS> } } Text format is fictitious, better to use XML in real applications Durand 32

4 Simple Example with s { numobjects 3 { numobjects 3 Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { numobjects 2 { Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { Box { <BOX PARAMS> } Sphere { <SPHERE PARAMS> } Sphere { <SPHERE PARAMS> } } } Plane { <PLANE PARAMS> } } Here we have only simple shapes, but easy to add a Mesh node whose parameters specify an.obj to load (say) Durand 34

5 Adding Attributes (Material, etc.) 35 { numobjects 3 Material { <BLUE> } { numobjects 3 Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { numobjects 2 Material { <BROWN> } { Box { <BOX PARAMS> } Box { <BOX PARAMS> } Box { <BOX PARAMS> } } { Material { <GREEN> } Box { <BOX PARAMS> } Material { <RED> } Sphere { <SPHERE PARAMS> } Material { <ORANGE> } Sphere { <SPHERE PARAMS> } } } Material { <BLACK> } Plane { <PLANE PARAMS> } }

6 Adding Transformations 36

7 Questions? 37

8 Scene Graph Traversal 38 Depth first recursion Visit node, then visit subtrees (top to bottom, left to right) When visiting a geometry node: Draw it! How to handle transformations? Remember, transformations are always specified in coordinate system of the parent

9 Scene Graph Traversal 39 How to handle transformations? Traversal algorithm keeps a transformation state S (a 4x4 matrix) from world coordinates Initialized to identity in the beginning Geometry nodes always drawn using current S When visiting a transformation node T: multiply current state S with T, then visit child nodes Has the effect that nodes below will have new transformation When all children have been visited, undo the effect of T!

10 Traversal Example 43 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit)

11 Traversal Example 44 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = I

12 Traversal Example 45 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1

13 Traversal Example 46 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1

14 Traversal Example 47 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 T2

15 Traversal Example 48 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 T2

16 Traversal Example 49 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 T2

17 Traversal Example 50 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1

18 Traversal Example 51 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 R1

19 Traversal Example 52 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 R1

20 Traversal Example 53 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1 R1

21 Traversal Example 54 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1

22 Traversal Example 55 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1

23 Traversal Example 56 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = I

24 Traversal Example 57 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = R2

25 Traversal Example 58 Root Translate T1 Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = R2

26 Traversal Example Root Translate T1 Rotate R2 (table, fruits) Translate T2 Rotate R1 (chair, legs)... (tabletop, legs) (basket, fruit) S = R2 59

27 Traversal Example Translate T1 Root At each node, the current object-to-world transformation is the matrix product of all transformations found on the way from the node to the root. Rotate R2 (table, fruits) (chair, legs) Translate T2 Rotate R1 (tabletop, legs) (basket, fruit) S = T1R1 60

28 Traversal State 61 The state is updated during traversal Transformations But also other properties (color, etc.) Apply when entering node, undo when leaving How to implement? Bad idea to undo transformation by inverse matrix (Why?)

29 Traversal State 62 The state is updated during traversal Transformations But also other properties (color, etc.) Apply when entering node, undo when leaving How to implement? Bad idea to undo transformation by inverse matrix Why I? T*T-1 = I does not necessarily hold in floating point even when T is an invertible matrix you accumulate error Why II? T might be singular, e.g., could flatten a 3D object onto a plane no way to undo, inverse doesn t exist!

30 Traversal State 63 The state is updated during traversal Transformations But also other properties (color, etc.) Apply when entering node, undo when leaving How to implement? Bad idea to undo transformation by inverse matrix Why I? T*T-1 = I does not necessarily hold in floating point even when T is an invertible matrix you accumulate error Why II? T might be singular, e.g., could flatten a 3D object onto a plane no way to undo, inverse doesn t exist! Can you think of a data structure suited for this?

31 Traversal State Stack The state is updated during traversal Transformations But also other properties (color, etc.) Apply when entering node, undo when leaving How to implement? Bad idea to undo transformation by inverse matrix Why I? T*T-1 = I does not necessarily hold in floating point even when T is an invertible matrix you accumulate error Why II? T might be singular, e.g., could flatten a 3D object onto a plane no way to undo, inverse doesn t exist! Solution: Keep state variables in a stack Push current state when entering node, update current state Pop stack when leaving state-changing node See what the stack looks like in the previous example! 64

32 Questions? 65

33 Plan 66 Hierarchical Modeling, Scene Graph OpenGL matrix stack Hierarchical modeling and animation of characters Forward and inverse kinematics

34 Hierarchical Modeling in OpenGL 67 The OpenGL Matrix Stack implements what we just did! Commands to change current transformation gltranslate, glscale, etc. Current transformation is part of the OpenGL state, i.e., all following draw calls will undergo the new transformation Remember, a transform affects the whole subtree Functions to maintain a matrix stack glpushmatrix, glpopmatrix Separate stacks for modelview (object-to-view) and projection matrices

35 When You Encounter a Transform Node 68 Push the current transform using glpushmatrix() Multiply current transform by node s transformation Use glmultmatrix(), gltranslate(), glrotate(), glscale(), etc. Traverse the subtree Issue draw calls for geometry nodes Use glpopmatrix() when done. Simple as that!

36 More Specifically An OpenGL transformation call corresponds to a matrix T The call multiplies current modelview matrix C by T from the right, i.e. C = C * T. This also works for projection, but you often set it up only once. This means that the transformation for the subsequent vertices will be p = C * T * p Vertices are column vectors on the right in OpenGL This implements hierarchical transformation directly!

37 More Specifically An OpenGL transformation call corresponds to a matrix T The call multiplies current modelview matrix C by T from the right, i.e. C = C * T. This also works for projection, but you often set it up only once. This means that the transformation for the subsequent vertices will be p = C * T * p Vertices are column vectors on the right in OpenGL This implements hierarchical transformation directly! At the beginning of the frame, initialize the current matrix by the viewing transform that maps from world space to view space. For instance, glloadidentity() followed by glulookat()

38 TIEA311 - Code! Let us revisit the Assignment 0 example that draws a teapot. Can we use the theory just presented to make a controlled scene of a couple of more teapots in their own object coordinates wrt. the world and the camera? Does real OpenGL code look the way it was just promised? [live, on-screen, if Visual Studio is working also in today s lecture room]

39 Questions? 71 Further reading on OpenGL Matrix Stack and hierarchical model/view transforms It can be a little confusing if you don t think the previous through, but it s really quite simple in the end. I know very capable people who after 15 years of experience still resort to brute force (trying all the combinations) for getting their transformations right, but it s such a waste :)

40 Plan 72 Hierarchical Modeling, Scene Graph OpenGL matrix stack Hierarchical modeling and animation of characters Forward and inverse kinematics

41 Animation 73 Hierarchical structure is essential for animation Eyes move with head Hands move with arms Feet move with legs Without such structure the model falls apart.

42 Articulated Models 74 Articulated models are rigid parts connected by joints each joint has some angular degrees of freedom Articulated models can be animated by specifying the joint angles as functions of time.

43 Joints and bones 75 Describes the positions of the body parts as a function of joint angles. Body parts are usually called bones Each joint is characterized by its degrees of freedom (dof) Usually rotation for articulated bodies 1 DOF: knee 2 DOF: wrist 3 DOF: arm

44 Skeleton Hierarchy 76 Each bone position/orientation described relative to the parent in the hierarchy: hips... left-leg r-thigh For the root, the parameters include a position as well Joints are specified by angles. z y vs x r-calf r-foot

45 Draw by Traversing a Tree 77 hips... left-leg r-thigh r-calf r-foot Assumes drawing procedures for thigh, calf, and foot use joint positions as the origin for a drawing coordinate frame glloadidentity(); glpushmatrix(); gltranslatef( ); glrotate( ); drawhips(); glpushmatrix(); gltranslate( ); glrotate( ); drawthigh(); gltranslate( ); glrotate( ); drawcalf(); gltranslate( ); glrotate( ); drawfoot(); glpopmatrix(); left-leg

46 Forward Kinematics 78 vs How to determine the world-space position for point vs?

47 Forward Kinematics 79 Transformation matrix S for a point vs is a matrix composition of all joint transformations between the point and the root of the hierarchy. S is a function of all the joint angles between here and root. vs

48 Forward Kinematics 80 Transformation matrix S for a point vs is a matrix composition of all joint transformations between the point and the root of the hierarchy. S is a function of all the joint angles between here and root. Note that the angles have a non-linear effect. vs This product is S

49 Forward Kinematics Transformation matrix S for a point vs is a matrix composition of all joint transformations between the point and the root of the hierarchy. S is a function of all the joint angles between here and root. Note that the angles have a non-linear effect. vs This product is S parameter vector p Durand 81

50 Questions? 82

51 TIEA311 - Fast-forward just a bit Worry not, if you get an yli hilseen feeling about the following few things. On this course, we leave them on a nice to know level. That is, while learning basics, it is nice to know where the rabbit hole could lead to! Note to self: apply great speed with the next slide button on lecture.

52 Inverse Kinematics 83 Context: an animator wants to pose a character Specifying every single angle is tedious and not intuitive Simpler interface: directly manipulate position of e.g. hands and feet That is, specify vw, infer joint transformations vs

53 Inverse Kinematics 84 Forward Kinematics Given the skeleton parameters p (position of the root and the joint angles) and the position of the point in local coordinates vs, what is the position of the point in the world coordinates vw? Not too hard, just apply transform accumulated from the root. vs

54 Inverse Kinematics Forward Kinematics Given the skeleton parameters p (position of the root and the joint angles) and the position of the point in local coordinates vs, what is the position of the point in the world coordinates vw? Not too hard, just apply transform accumulated from the root. Inverse Kinematics Given the current position of the point and the desired new position in world coordinates, what are the skeleton parameters p that take the point to the desired position? vs ṽw 85

55 Inverse Kinematics Given the position of the point in local coordinates vs and the desired position in world coordinates, what are the skeleton parameters p? ṽw skeleton parameter vector p Requires solving for p, given vs and Non-linear and 86

56 It s Underconstrained 87 Count degrees of freedom: We specify one 3D point (3 equations) We usually need more than 3 angles p usually has tens of dimensions vs Simple geometric example (in 3D): specify hand position, need elbow & shoulder The set of possible elbow location is a circle in 3D

57 How to tackle these problems? 88 Deal with non-linearity: Iterative solution (steepest descent) Compute Jacobian matrix of world position w.r.t. angles Jacobian: If the parameters p change by tiny amounts, what is the resulting change in the world position vws? Then invert Jacobian. This says if vws changes by a tiny amount, what is the change in the parameters p? But wait! The Jacobian is non-invertible (3xN) Deal with ill-posedness: Pseudo-inverse Solution that displaces things the least See Deal with ill-posedness: Prior on good pose (more advanced) Additional potential issues: bounds on joint angles, etc. Do not want elbows to bend past 90 degrees, etc.

58 Example: Style-Based IK 89 Video Prior on good pose Link to paper: Grochow, Martin, Hertzmann, Popovic: Style-Based Inverse Kinematics, ACM SIGGRAPH 2004

59 Mesh-Based Inverse Kinematics 90 Video Doesn t even need a hierarchy or skeleton: Figure proper transformations out based on a few example deformations! Link to paper: Sumner, Zwicker, Gotsman, Popovic: Mesh-Based Inverse Kinematics, ACM SIGGRAPH 2005

60 TIEA311 - Was that cool or was that cool? Hyperlinks were broken in PDF translation but these were easily found in YouTube based on the titles: (original style IK) (later research from the same group, project page: ) Important note: You must also learn to find (and, the difficult part: understand) full text research articles, available from within the university IP address space, because the institute is paying a lot of tax payers money to let YOU do that. Would be a shame not to start using this privilege today!

61 TIEA311 - Was that cool or was that cool? Interested in this stuff? Words of advice: Learn about mathematics, statistics, optimization, and numerics. (programming comes for free at IT Faculty) Just a few keywords from the video narrative: local optimum, global optimum, probability density function, [machine] learning Cool stuff happens at the bleeding edge of science... Your first step can not be a sudden appearance at the top of this mountain (or any mountain)! At the Faculty, we support every step you choose to make towards being a graphics algorithm pro (e.g., BSc, MSc theses). Today, I offer the first piece of support by repeating the main words of advice: Get serious about your math, and keep applying it to graphics, if that makes you tick!

6.837 Computer Graphics Hierarchical Modeling Wojciech Matusik, MIT EECS Some slides from BarbCutler & Jaakko Lehtinen

6.837 Computer Graphics Hierarchical Modeling Wojciech Matusik, MIT EECS Some slides from BarbCutler & Jaakko Lehtinen 6.837 Computer Graphics Hierarchical Modeling Wojciech Matusik, MIT EECS Some slides from BarbCutler & Jaakko Lehtinen Image courtesy of BrokenSphere on Wikimedia Commons. License: CC-BY-SA. This content

More information

TIEA311 Tietokonegrafiikan perusteet kevät 2017

TIEA311 Tietokonegrafiikan perusteet kevät 2017 TIEA311 Tietokonegrafiikan perusteet kevät 2017 ( Principles of Computer Graphics Spring 2017) Copyright and Fair Use Notice: The lecture videos of this course are made available for registered students

More information

Modeling Objects. Modeling. Symbol-Instance Table. Instance Transformation. Each appearance of the object in the model is an instance

Modeling Objects. Modeling. Symbol-Instance Table. Instance Transformation. Each appearance of the object in the model is an instance Modeling Objects Modeling Hierarchical Transformations Hierarchical Models Scene Graphs A prototype has a default size, position, and orientation You need to perform modeling transformations to position

More information

TIEA311 Tietokonegrafiikan perusteet kevät 2018

TIEA311 Tietokonegrafiikan perusteet kevät 2018 TIEA311 Tietokonegrafiikan perusteet kevät 2018 ( Principles of Computer Graphics Spring 2018) Copyright and Fair Use Notice: The lecture videos of this course are made available for registered students

More information

Articulated Characters

Articulated Characters Articulated Characters Skeleton A skeleton is a framework of rigid body bones connected by articulated joints Used as an (invisible?) armature to position and orient geometry (usually surface triangles)

More information

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

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional: Reading Required: Angel, sections 9.1 9.6, 9.8 Optional: Hierarchical Modeling OpenGL rogramming Guide, the Red Book, chapter 3 cse457-07-hierarchical 1 cse457-07-hierarchical 2 Symbols and instances Most

More information

Transforms 1 Christian Miller CS Fall 2011

Transforms 1 Christian Miller CS Fall 2011 Transforms 1 Christian Miller CS 354 - Fall 2011 Transformations What happens if you multiply a square matrix and a vector together? You get a different vector with the same number of coordinates These

More information

Hierarchical Modeling. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Hierarchical Modeling. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Hierarchical Modeling University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Angel, sections 9.1-9.6 [reader pp. 169-185] OpenGL Programming Guide, chapter 3 Focus especially

More information

Computer Graphics Hands-on

Computer Graphics Hands-on Computer Graphics Hands-on Two-Dimensional OpenGL Transformations Objectives To get hands-on experience manipulating the OpenGL current transformation (MODELVIEW) matrix to achieve desired effects To gain

More information

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Computer Animation Fundamentals Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics Lecture 21 6.837 Fall 2001 Conventional Animation Draw each frame of the animation great control

More information

Describe the Orthographic and Perspective projections. How do we combine together transform matrices?

Describe the Orthographic and Perspective projections. How do we combine together transform matrices? Aims and objectives By the end of the lecture you will be able to Work with multiple transform matrices Describe the viewing process in OpenGL Design and build a camera control APIs Describe the Orthographic

More information

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

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object. CENG 732 Computer Animation Spring 2006-2007 Week 4 Shape Deformation Animating Articulated Structures: Forward Kinematics/Inverse Kinematics This week Shape Deformation FFD: Free Form Deformation Hierarchical

More information

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG KINEMATICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Direct and inverse kinematics in animation Fast numerical methods for inverse kinematics by Bill Baxter My Adventures with Inverse Kinematics

More information

SM2231 :: 3D Animation I :: Basic. Rigging

SM2231 :: 3D Animation I :: Basic. Rigging SM2231 :: 3D Animation I :: Basic Rigging Object arrangements Hierarchical Hierarchical Separate parts arranged in a hierarchy can be animated without a skeleton Flat Flat Flat hierarchy is usually preferred,

More information

Two possible ways to specify transformations. Each part of the object is transformed independently relative to the origin

Two possible ways to specify transformations. Each part of the object is transformed independently relative to the origin Transformations Two possible ways to specify transformations Each part of the object is transformed independently relative to the origin - Not convenient! z y Translate the base by (5,0,0); Translate the

More information

Where We Are: Static Models

Where We Are: Static Models Where We Are: Static Models Our models are static sets of polygons We can only move them via transformations translate, scale, rotate, or any other 4x4 matrix This does not allow us to simulate very realistic

More information

Animation Lecture 10 Slide Fall 2003

Animation Lecture 10 Slide Fall 2003 Animation Lecture 10 Slide 1 6.837 Fall 2003 Conventional Animation Draw each frame of the animation great control tedious Reduce burden with cel animation layer keyframe inbetween cel panoramas (Disney

More information

CS 428: Fall Introduction to. Transformations in OpenGL + hierarchical modeling. Andrew Nealen, Rutgers, /21/2009 1

CS 428: Fall Introduction to. Transformations in OpenGL + hierarchical modeling. Andrew Nealen, Rutgers, /21/2009 1 CS 428: Fall 2009 Introduction to Computer Graphics Transformations in OpenGL + hierarchical modeling 9/21/2009 1 Review of affine transformations Use projective geometry staple of CG Euclidean (x,z) (x,y,z)

More information

Outline. Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s)

Outline. Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s) Modeler Help Outline Introduction Surface of Revolution Hierarchical Modeling Blinn-Phong Shader Custom Shader(s) Objects in the Scene Controls of the object selected in the Scene. Currently the Scene

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. Transformation

More information

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics Velocity Interpolation Original image from Foster & Metaxas, 1996 In 2D: For each axis, find the 4 closest face velocity samples: Self-intersecting

More information

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based

More information

CS354 Computer Graphics Character Animation and Skinning

CS354 Computer Graphics Character Animation and Skinning Slide Credit: Don Fussell CS354 Computer Graphics Character Animation and Skinning Qixing Huang April 9th 2018 Instance Transformation Start with a prototype object (a symbol) Each appearance of the object

More information

Using GLU/GLUT Objects

Using GLU/GLUT Objects Using GLU/GLUT Objects GLU/GLUT provides very simple object primitives glutwirecone glutwirecube glucylinder glutwireteapot GLU/GLUT Objects Each glu/glut object has its default size, position, and orientation

More information

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based Animation Forward and

More information

CS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints

CS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints CS-184: Computer Graphics Lecture #18: Forward and Prof. James O Brien University of California, Berkeley V2008-F-18-1.0 1 Today Forward kinematics Inverse kinematics Pin joints Ball joints Prismatic joints

More information

Interactive Computer Graphics

Interactive Computer Graphics Interactive Computer Graphics Lecture 18 Kinematics and Animation Interactive Graphics Lecture 18: Slide 1 Animation of 3D models In the early days physical models were altered frame by frame to create

More information

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

Lecture 18 of 41. Scene Graphs: Rendering Lab 3b: Shader Scene Graphs: Rendering Lab 3b: Shader William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public mirror web site: http://www.kddresearch.org/courses/cis636

More information

COMP 175 COMPUTER GRAPHICS. Lecture 07: Scene Graph. COMP 175: Computer Graphics March 10, Remco Chang 07 Scene Graph

COMP 175 COMPUTER GRAPHICS. Lecture 07: Scene Graph. COMP 175: Computer Graphics March 10, Remco Chang 07 Scene Graph Lecture 07: Scene Graph COMP 175: Computer Graphics March 10, 2015 1/47 Refresher: OpenGL Matrix Transformation Pipeline Input: list of 3D coordinates (x, y, z) GL_MODELVIEW Model transform View transform

More information

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions

More information

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape

More information

TIEA311 Tietokonegrafiikan perusteet kevät 2018

TIEA311 Tietokonegrafiikan perusteet kevät 2018 TIEA311 Tietokonegrafiikan perusteet kevät 2018 ( Principles of Computer Graphics Spring 2018) Copyright and Fair Use Notice: The lecture videos of this course are made available for registered students

More information

Hierarchical Modeling II. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Hierarchical Modeling II. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Hierarchical Modeling II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Build a tree-structured model of a humanoid figure

More information

Kinematics and Orientations

Kinematics and Orientations Kinematics and Orientations Hierarchies Forward Kinematics Transformations (review) Euler angles Quaternions Yaw and evaluation function for assignment 2 Building a character Just translate, rotate, and

More information

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based

More information

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics On Friday (3/1), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension

More information

animation projects in digital art animation 2009 fabio pellacini 1

animation projects in digital art animation 2009 fabio pellacini 1 animation projects in digital art animation 2009 fabio pellacini 1 animation shape specification as a function of time projects in digital art animation 2009 fabio pellacini 2 how animation works? flip

More information

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision

COMP3421. Week 2 - Transformations in 2D and Vector Geometry Revision COMP3421 Week 2 - Transformations in 2D and Vector Geometry Revision Exercise 1. Write code to draw (an approximation) of the surface of a circle at centre 0,0 with radius 1 using triangle fans. 2. At

More information

Advanced Graphics and Animation

Advanced Graphics and Animation Advanced Graphics and Animation Character Marco Gillies and Dan Jones Goldsmiths Aims and objectives By the end of the lecture you will be able to describe How 3D characters are animated Skeletal animation

More information

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018 Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018 Welman, 1993 Inverse Kinematics and Geometric Constraints for Articulated Figure Manipulation, Chris

More information

HIERARCHICAL TRANSFORMATIONS A Practical Introduction

HIERARCHICAL TRANSFORMATIONS A Practical Introduction HIERARCHICAL TRANSFORMATIONS A Practical Introduction Christopher Peters HPCViz, KTH Royal Institute of Technology, Sweden chpeters@kth.se https://www.kth.se/profile/chpeters/ Transformations Many objects

More information

Hierarchical Modeling

Hierarchical Modeling Hierarchical Modeling Geometric Primitives Remember that most graphics APIs have only a few geometric primitives Spheres, cubes, triangles, etc These primitives are instanced in order to apply transforms

More information

Modeling with Transformations

Modeling with Transformations Modeling with Transformations Prerequisites This module requires some understanding of 3D geometry, particularly a sense of how objects can be moved around in 3-space. The student should also have some

More information

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics Announcements: Quiz On Tuesday (3/10), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension

More information

Hierarchical Modelling

Hierarchical Modelling Gregor Miller gregor{at}ece.ubc.ca Hierarchical Modelling Limitations of linear modelling Articulated models Tree and DAG models Traversal Strategies Instance Transformation Start with a prototype object

More information

MODELING AND HIERARCHY

MODELING AND HIERARCHY 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

More information

Term Project Final Report for CPSC526 Statistical Models of Poses Using Inverse Kinematics

Term Project Final Report for CPSC526 Statistical Models of Poses Using Inverse Kinematics Term Project Final Report for CPSC526 Statistical Models of Poses Using Inverse Kinematics Department of Computer Science The University of British Columbia duanx@cs.ubc.ca, lili1987@cs.ubc.ca Abstract

More information

Hierarchical Modeling and Scene Graphs

Hierarchical Modeling and Scene Graphs Hierarchical Modeling and Scene Graphs Adapted from material prepared by Ed Angel Spring 2009 Objectives Examine the limitations of linear modeling Symbols and instances Introduce hierarchical models Articulated

More information

HIERARCHICAL TRANSFORMATIONS A Practical Introduction

HIERARCHICAL TRANSFORMATIONS A Practical Introduction HIERARCHICAL TRANSFORMATIONS A Practical Introduction HPCViz, KTH Royal Institute of Technology, Sweden https://www.kth.se/profile/chpeters/ Transformations Many objects are composed of hierarchies Transformations

More information

Hierarchy I. Guoying Zhao 1 / 40

Hierarchy I. Guoying Zhao 1 / 40 Computer Graphics Hierarchy I Guoying Zhao 1 / 40 Hierarchical Modeling I Guoying Zhao 2 / 40 Objectives Examine the limitations of linear modeling Symbols and instances Introduce hierarchical models Articulated

More information

Scene Graphs. CS4620/5620: Lecture 7. Announcements. HW 1 out. PA 1 will be out on Wed

Scene Graphs. CS4620/5620: Lecture 7. Announcements. HW 1 out. PA 1 will be out on Wed CS4620/5620: Lecture 7 Scene Graphs 1 Announcements HW 1 out PA 1 will be out on Wed Next week practicum will have an office hour type session on Open GL 2 Example Can represent drawing with flat list

More information

Hierarchical Modeling and scene graphs

Hierarchical Modeling and scene graphs Hierarchical Modeling and scene graphs Overview Examine the limitations of linear modeling Introduce hierarchical models Introduce Tree and DAG models Build a tree-structured model of a humanoid figure

More information

Maya Lesson 8 Notes - Animated Adjustable Desk Lamp

Maya Lesson 8 Notes - Animated Adjustable Desk Lamp Maya Lesson 8 Notes - Animated Adjustable Desk Lamp To Model the Lamp: 1. Research: Google images - adjustable desk lamp. 2. Print several images of lamps for ideas to model. 3. Make a sketch of the lamp

More information

HIERARCHICAL TRANSFORMATIONS A Practical Introduction

HIERARCHICAL TRANSFORMATIONS A Practical Introduction HIERARCHICAL TRANSFORMATIONS A Practical Introduction Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se https://www.kth.se/profile/chpeters/ Before we begin... Lab work

More information

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library.

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library. CS4202: Test Name: 1. Write the letter corresponding to the library name next to the statement or statements that describe library. (4 points) A. GLUT contains routines that use lower level OpenGL commands

More information

Due: Thursday, February 6 th, 11:59 pm TA: Mason Remy

Due: Thursday, February 6 th, 11:59 pm TA: Mason Remy Due: Thursday, February 6 th, 11:59 pm TA: Mason Remy Checking out, building, and using the sample solution Part 1: Surface of Revolution Part 2: Hierarchical Modeling Part 3: Blinn-Phong Shader Part 4:

More information

CMSC 425: Lecture 10 Skeletal Animation and Skinning

CMSC 425: Lecture 10 Skeletal Animation and Skinning CMSC 425: Lecture 10 Skeletal Animation and Skinning Reading: Chapt 11 of Gregory, Game Engine Architecture. Recap: Last time we introduced the principal elements of skeletal models and discussed forward

More information

Affine Transformations in 3D

Affine Transformations in 3D Affine Transformations in 3D 1 Affine Transformations in 3D 1 Affine Transformations in 3D General form 2 Translation Elementary 3D Affine Transformations 3 Scaling Around the Origin 4 Along x-axis Shear

More information

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector Inverse Kinematics Given a desired position (p) & orientation (R) of the end-effector q ( q, q, q ) 1 2 n Find the joint variables which can bring the robot the desired configuration z y x 1 The Inverse

More information

Keyframing an IK Skeleton Maya 2012

Keyframing an IK Skeleton Maya 2012 2002-2012 Michael O'Rourke Keyframing an IK Skeleton Maya 2012 (This tutorial assumes you have done the Creating an Inverse Kinematic Skeleton tutorial in this set) Concepts Once you have built an Inverse

More information

Computer Graphics Geometric Transformations

Computer Graphics Geometric Transformations Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations

More information

Hierarchical Modeling and Scene Graphs

Hierarchical Modeling and Scene Graphs Hierarchical Modeling and Scene Graphs Adapted from material prepared by Ed Angel Spring 2009 Objectives Examine the limitations of linear modeling Symbols and instances Introduce hierarchical models Articulated

More information

Hierarchical Modeling

Hierarchical Modeling Hierarchical Modeling Modeling with Transformations You ve learned everything you need to know to make a root out of cues. Just translate, rotate, and scale each cue to get the right size, shape, position,

More information

2D/3D Geometric Transformations and Scene Graphs

2D/3D Geometric Transformations and Scene Graphs 2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background

More information

Hierarchical Models. Roadmap. Importance of shadows. Importance of shadows. Importance of shadows. Importance of shadows

Hierarchical Models. Roadmap. Importance of shadows. Importance of shadows. Importance of shadows. Importance of shadows CSCI 420 Computer Graphics Lecture 8 Hierarchical Models Projections and Shadows Hierarchical Models [Angel Ch. 8] Roadmap Last lecture: Viewing and projection Today: Shadows via projections Hierarchical

More information

Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013

Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013 Spring 2013, CS 112 Programming Assignment 2 Submission Due: April 26, 2013 PROJECT GOAL: Write a restricted OpenGL library. The goal of the project is to compute all the transformation matrices with your

More information

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate

More information

we now have a good understanding of 3d representations, rigid body transforms, camera projections, and the fixed function steps in graphics

we now have a good understanding of 3d representations, rigid body transforms, camera projections, and the fixed function steps in graphics big picture goals we now have a good understanding of 3d representations, rigid body transforms, camera projections, and the fixed function steps in graphics now we are going to add higher level structure

More information

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

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17] 6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]

More information

animation computer graphics animation 2009 fabio pellacini 1

animation computer graphics animation 2009 fabio pellacini 1 animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time computer graphics animation 2009 fabio pellacini 2 animation representation many ways to

More information

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

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides Rigging / Skinning based on Taku Komura, Jehee Lee and Charles B.Own's slides Skeletal Animation Victoria 2 CSE 872 Dr. Charles B. Owen Advanced Computer Graphics Skinning http://www.youtube.com/watch?

More information

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Kinematics CS 448D: Character Animation Prof. Vladlen Koltun Stanford University Kinematics Kinematics: The science of pure motion, considered without reference to the matter of objects moved, or to the

More information

Game Programming. Bing-Yu Chen National Taiwan University

Game Programming. Bing-Yu Chen National Taiwan University Game Programming Bing-Yu Chen National Taiwan University Character Motion Hierarchical Modeling Character Animation Motion Editing 1 Hierarchical Modeling Connected primitives 2 3D Example: A robot arm

More information

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc.

Overview. Animation is a big topic We will concentrate on character animation as is used in many games today. humans, animals, monsters, robots, etc. ANIMATION Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character is represented

More information

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala Animations Hakan Bilen University of Edinburgh Computer Graphics Fall 2017 Some slides are courtesy of Steve Marschner and Kavita Bala Animation Artistic process What are animators trying to do? What tools

More information

OpenGL: Setup 3D World

OpenGL: Setup 3D World CT4510: Computer Graphics OpenGL: Setup 3D World BOCHANG MOON Prerequisite for 3D World Understanding on basic mathematical background, transformations, and spaces Pixels, raster image, ector, matrix,

More information

Animation. CS 465 Lecture 22

Animation. CS 465 Lecture 22 Animation CS 465 Lecture 22 Animation Industry production process leading up to animation What animation is How animation works (very generally) Artistic process of animation Further topics in how it works

More information

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I

More information

Computer Graphics (CS 543) Lecture 6a: Hierarchical 3D Models. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 543) Lecture 6a: Hierarchical 3D Models. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 543) Lecture 6a: Hierarchical 3D Models Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Instance Transformation Start with unique object (a symbol)

More information

Inverse Kinematics Programming Assignment

Inverse Kinematics Programming Assignment Inverse Kinematics Programming Assignment CS 448D: Character Animation Due: Wednesday, April 29 th 11:59PM 1 Logistics In this programming assignment, you will implement a simple inverse kinematics solver

More information

A 12-DOF Analytic Inverse Kinematics Solver for Human Motion Control

A 12-DOF Analytic Inverse Kinematics Solver for Human Motion Control Journal of Information & Computational Science 1: 1 (2004) 137 141 Available at http://www.joics.com A 12-DOF Analytic Inverse Kinematics Solver for Human Motion Control Xiaomao Wu, Lizhuang Ma, Zhihua

More information

Reading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex

Reading. Topics in Articulated Animation. Character Representation. Animation. q i. t 1 t 2. Articulated models: Character Models are rich, complex Shoemake, Quaternions Tutorial Reading Topics in Articulated Animation 2 Articulated models: rigid parts connected by joints Animation They can be animated by specifying the joint angles (or other display

More information

Graphics pipeline and transformations. Composition of transformations

Graphics pipeline and transformations. Composition of transformations Graphics pipeline and transformations Composition of transformations Order matters! ( rotation * translation translation * rotation) Composition of transformations = matrix multiplication: if T is a rotation

More information

Translation. 3D Transformations. Rotation about z axis. Scaling. CS 4620 Lecture 8. 3 Cornell CS4620 Fall 2009!Lecture 8

Translation. 3D Transformations. Rotation about z axis. Scaling. CS 4620 Lecture 8. 3 Cornell CS4620 Fall 2009!Lecture 8 Translation 3D Transformations CS 4620 Lecture 8 1 2 Scaling Rotation about z axis 3 4 Rotation about x axis Rotation about y axis 5 6 Transformations in OpenGL Stack-based manipulation of model-view transformation,

More information

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011

CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 CIS 636 Interactive Computer Graphics CIS 736 Computer Graphics Spring 2011 Lab 1a of 7 OpenGL Setup and Basics Fri 28 Jan 2011 Part 1a (#1 5) due: Thu 03 Feb 2011 (before midnight) The purpose of this

More information

Rendering Pipeline and Coordinates Transforms

Rendering Pipeline and Coordinates Transforms Rendering Pipeline and Coordinates Transforms Alessandro Martinelli alessandro.martinelli@unipv.it 16 October 2013 Rendering Pipeline (3): Coordinates Transforms Rendering Architecture First Rendering

More information

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics CS 775: Advanced Computer Graphics Lecture 3 : Kinematics Traditional Cell Animation, hand drawn, 2D Lead Animator for keyframes http://animation.about.com/od/flashanimationtutorials/ss/flash31detanim2.htm

More information

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1

4 Kinematic Linkages. Chapter 4. Kinematic Linkages. Department of Computer Science and Engineering 4-1 Kinematic Linkages 4-1 Introduction In describing an object s motion, it is often useful to relate it to another object. Consider, for eample a coordinate system centered at our sun in which the moon s

More information

Kinematics & Motion Capture

Kinematics & Motion Capture Lecture 27: Kinematics & Motion Capture Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2017 Forward Kinematics (Slides with James O Brien) Forward Kinematics Articulated skeleton Topology

More information

CSC 470 Computer Graphics

CSC 470 Computer Graphics CSC 470 Computer Graphics Transformations of Objects CSC 470 Computer Graphics, Dr.N. Georgieva, CSI/CUNY 1 Transformations of objects - 2D CSC 470 Computer Graphics, Dr.N. Georgieva, CSI/CUNY 2 Using

More information

BONE CONTROLLER ASSET VERSION 0.1 REV 1

BONE CONTROLLER ASSET VERSION 0.1 REV 1 Foreword Thank you for purchasing the Bone Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2 Prev Menu Next Back p. 2 About this document This document explains how to use Life Forms Studio with LightWave 5.5-6.5. It also contains short examples of how to use LightWave and Life Forms together.

More information

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation Computer Animation Aitor Rovira March 2010 Human body animation Based on slides by Marco Gillies Human Body Animation Skeletal Animation Skeletal Animation (FK, IK) Motion Capture Motion Editing (retargeting,

More information

Lecture 08: Hierarchical Modeling with Scene Graphs

Lecture 08: Hierarchical Modeling with Scene Graphs Lecture 08: Hierarchical Modeling with Scene Graphs CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA November 2, 2010 Symbols and Instances Objects as Symbols Model world as a collection

More information

Graphics and Visualization

Graphics and Visualization International University Bremen Spring Semester 2006 Recap Representing graphic objects by homogenous points and vectors Using affine transforms to modify objects Using projections to display objects

More information

The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes

The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes The Viewing Pipeline adaptation of Paul Bunn & Kerryn Hugo s notes What is it? The viewing pipeline is the procession of operations that are applied to the OpenGL matrices, in order to create a 2D representation

More information

Computer Animation. Rick Parent

Computer Animation. Rick Parent Algorithms and Techniques Kinematic Linkages Hierarchical Modeling Relative motion Parent-child relationship Simplifies motion specification Constrains motion Reduces dimensionality Modeling & animating

More information

Animation by Adaptation Tutorial 1: Animation Basics

Animation by Adaptation Tutorial 1: Animation Basics Animation by Adaptation Tutorial 1: Animation Basics Michael Gleicher Graphics Group Department of Computer Sciences University of Wisconsin Madison http://www.cs.wisc.edu/graphics Outline Talk #1: Basics

More information