SE 313 – Computer Graphics Lecture 6: Transformations Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with TODO)

Slides:



Advertisements
Similar presentations
Links and Joints.
Advertisements

SE 313 – Computer Graphics Lecture 13: Lighting and Materials Practice Lecturer: Gazihan Alankuş 1.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
SE 313 – Computer Graphics Lecture 14: Armatures Lecturer: Gazihan Alankuş 1.
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
The Concepts of Orientation/Rotation ‘Transformations’ ME Lecture Series 2 Fall 2011, Dr. R. Lindeke 1.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 20: Inverse Kinematics Ravi Ramamoorthi Most slides courtesy.
Computer Graphics (Fall 2008) COMS 4160, Lecture 3: Transformations 1
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Robotics, Fall 2006 Lecture 3: Homogenous Transformations (Translation & Rotation) Copyright © 2005, 2006 Jennifer Kay.
Computer Graphics (Fall 2004) COMS 4160, Lecture 3: Transformations 1
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
Computer Graphics (Fall 2005) COMS 4160, Lecture 2: Review of Basic Math
Computer-Based Animation. ● To animate something – to bring it to life ● Animation covers all changes that have visual effects – Positon (motion dynamic)
Chapter 8 – Part III Interactive Multimedia Authoring with Flash: Animation Flash: Tweening “Computers and Creativity” Richard D. Webster, COSC 109 Instructor.
SE 320 – Introduction to Game Development Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked.
SE 350 – Programming Games Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked with TODO) 2/10/20121.
CAP4730: Computational Structures in Computer Graphics
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Hierarchical Transformations and Models CSE 3541 Matt Boggus.
SE 313 – Computer Graphics Lecture 4: Represeting 3D Models Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with.
SE 320 – Introduction to Game Development Lecture 11: Animations and GoKit Lecturer: Gazihan Alankuş Please look at the last slides for assignments (marked.
SE 313 – Computer Graphics Lecture 11: Projection Painting and Merging Textures Lecturer: Gazihan Alankuş 1.
SE 313 – Computer Graphics Lecture 10: More Modeling and Texturing Lecturer: Gazihan Alankuş 1.
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 3: Transformations 1
SE 313 – Computer Graphics and Visual Programming Lecture 5: Geometric Transformations Lecturer: Gazihan Alankuş Please look at the last slides for assignments.
February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.
SE 313 – Computer Graphics Lecture 3: Analytical Geometry and Linear Algebra Lecturer: Gazihan Alankuş Please look at the last three slides for assignments.
SE 320 – Introduction to Game Development Lecture 4: Programming in Unity & Project Presentations Lecturer: Gazihan Alankuş Please look at the last two.
SE 350 – Programming Games Lecture 6: Programming with Unity Lecturer: Gazihan Alankuş Please look at the last slide for assignments (marked with TODO)
SE 204, IES 506 – Human Computer Interaction Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked.
C O M P U T E R G R A P H I C S Stuff CMSC 435 / 634 Transformations 1/29 Geometric Transformations Readings: Chapters 5-6.
SE 320 – Introduction to Game Development Lecture 8: Animations, GUIs, Debugging and IDEs Lecturer: Gazihan Alankuş Please look at the last two slides.
SE 350 – Programming Games Lecture 7: Programming with Unity Lecturer: Gazihan Alankuş Please look at the last slide for assignments (marked with TODO)
Copyright © 2015 Curt Hill Models and Textures Making your entity interesting.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Maths & Technologies for Games Animation: Practicalities CO3303 Week 3.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
ME451 Kinematics and Dynamics of Machine Systems Vel. And Acc. of a Fixed Point in Moving Frame Basic Concepts in Planar Kinematics February.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
SE 320 – Introduction to Game Development Lecture 3: Unity’s Interface and Concepts Lecturer: Gazihan Alankuş Please look at the last two slides for assignments.
SE 313 – Computer Graphics Lecture 8: Transformations and Projections Lecturer: Gazihan Alankuş 1.
Build-It-Yourself.com BLENDER 3D LESSON 3 BLENDER 3D LESSON 3.
Computer Graphics Matrix Hierarchies / Animation
Computer Animation 3D Animation. How do I develop 3D models using a variety of editing tools and texturing techniques? Vocabulary: Meshes- Represent 3D.
SE 320 – Introduction to Game Development Lecture 2: Introduction to Unity Lecturer: Gazihan Alankuş Please look at the last two slides for assignments.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 3: Transformations 1
SE 350 – Programming Games Lecture 5: Programming with Unity Lecturer: Gazihan Alankuş Please look at the last slide for assignments (marked with TODO)
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
SE 313 – Computer Graphics and Visual Programming Lecture 3: OpenGL and glut Lecturer: Gazihan Alankuş Please look at the last slides for assignments (marked.
SE 313 – Computer Graphics and Visual Programming Lecture 6: Geometric Transformations Lecturer: Gazihan Alankuş Please look at the last slides for assignments.
SE 313 – Computer Graphics Lecture 4: Represeting 3D Models Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with.
1 Teaching Innovation - Entrepreneurial - Global The Centre for Technology enabled Teaching & Learning, N Y S S, India DTEL DTEL (Department for Technology.
Design Visualization Software Introduction / Review.
Computer Graphics I, Fall 2008 Hierarchical Modeling I.
2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC
Object Animation CMT3317. Do you need to do animation? We consider ways of animating composite objects – that have a number of different parts e.g. a.
Robotic Arms and Matrices By Chris Wong and Chris Marino.
Key Stage 1 National Curriculum
Tuesday 4/18/17 Fill out your assignment Notebook for the Week
CSE 167 [Win 17], Lecture 3: Transformations 1 Ravi Ramamoorthi
Bones Skeletal Unity-2D How & When
Assignment 8 Chess Game.
Mobile Robot Kinematics
Skeletons and Skinning
Geometric Transformations for Computer Graphics
CADjs Transformations
Computer Graphics Matrix Hierarchies / Animation
Presentation transcript:

SE 313 – Computer Graphics Lecture 6: Transformations Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with TODO)

Projects Proposals need to have sufficient detail, saying “we’ll create models for our game in SE 320” without explaining the details of your game and the list of models is not enough We will you back feedback about your proposals You will start weekly meetings and send individual weekly meeting reports – Follow these guidelines here (the link is also in the course website): weeklyreportpolicy.html

Our Goal Understand how 3D transformations work in a conceptual level. Supplement this knowledge with practice in Blender

3D Transformations Tools for setting the state of objects in space

3D Transformations Example: – I have an object that has the points p1 and p2 Their are (p1x, p1y, p1z) and (p2x, p2y, p2z) – I want the object to be somewhere else Let the object be 3 meters to the right – I can change the coordinates of these points manually like this: (p1x+3, p1y, p1z) and (p2x+3, p2y, p2z) This is tedious, considering that the object may have many points – Instead, I keep the original coordinate values of the object’s points (local coordinates), and apply a transformation operation to the whole object

Example in Blender I look at the coordinates of a point I move the whole object to the right The coordinate values of the point did not change – They were with respect to the pivot point I rotate the object, they still do not change I do Object->Apply->Rotation&Scale and Object->Transform->Origin to 3D Cursor – Now I see that the coordinates of the point have changed, and the pivot point went back to the world’s origin

3D Transformations are useful You can manipulate your object without having to forget the original coordinates of your object Some more demonstrations in Blender – Translate – Rotate – Scale – Around what? (earth revolving around sun?)

Making the Earth revolve around the Sun What if it is attached to a pole? What you are rotating around is important

How do you rotate around an arbitrary position? Mathematically, rotation is always around the origin (0, 0, 0) – We will talk about the mathematical background next week Therefore, to revolve around some other point, we need to translate first and then rotate

Order of Transformations I said “Translate, and then rotate” How is this different? – (I’ll translate and rotate in blender) The order of transformation operations is different! Rotate and then translate, translate and then rotate – Confusing? Let’s make it not confusing!

Intuitive Understanding of Combining Transformations

Intuitive Understanding of Combining Transformations Combine and connect them like Legos one after the other

Combining Transformations Order: Insert new ones near the object (world-to-local)

Combining Transformations Order: Insert new ones near the wall (local-to-world)

Ordering Transformation Combinations When I say “first translate and then rotate” you need to ask “in which order?” It’s either world-to-local or local-to-world – World-to-local: New transformations are applied in the local coordinate frame of the object. – Local-to-world: New transformations are applied in the world coordinate frame. Once you know the order, you know exactly how to apply the transformations

Implementation Games heavily use ordered combination of transformations. Game developers have to be very comfortable with these concepts. – Implemented as matrices, euler angles, quaternions, etc. (we will see them next week) In Blender, combining transformations is not very straightforward. We will do it using parent relationships

Blender and Transformations Every object has three transformations attached to them in this order: – Translate, rotate, scale (world-to-local)

Blender and Transformations We can use the parent-child relationships between objects to combine these transformations Parent (translate, rotate, scale) – Child (translate, rotate, scale) Grandchild (translate, rotate, scale) You can drag objects in the outliner or select them and do Object->Parent

Let’s do it Two small cubes, one large cube You can use this to implement any order of transformations (by ignoring some in between) You can also download a sample of it here: – 313/material/day6/chaining%20transformations.blen d 313/material/day6/chaining%20transformations.blen d

Question: Why? Why should we chain transformations like this anyway? – If I want to put the box there, I can just use one box, translate it and rotate it to be exactly there

Answer: Animation! It matters when you are animating things. – You want the Moon to revolve around the Earth, which is also revolving around the Sun. – You want the robot’s fingers to move with the robot’s arm Calculating these separately for each object is very difficult Chaining transformations and changing some of the transformations in between makes it simple

Animating in Blender 1.Go to a frame in the timeline below with right-click dragging 2.Set the state of your objects to how you want them to be at that frame (rotate, etc.) 3.Select the objects that you want to animate 4.Hit Object->Animation->Insert Keyframe… ->LocRotScale (or others if you want to be more specific) 5.Go to step 1 for the next keyframe. Set some keyframes in time and Blender will fill the rest with a smooth animation

Lab Assignment Part 1: – Create a yellow sphere for the Sun – Create a blue sphere for the Earth – Create a gray sphere for the Moon – Let the Sun be the parent of the Earth and the Earth be the parent of the Moon (see slide 18) Part 2: – Create an animation to revolve the Earth around the Sun and the Moon around the Earth – Implement revolving by rotating the parent Part 3 (bonus) – Make the Earth and the Moon rotate around themselves as well without breaking the revolving motion – Use some visual cues to show that the rotations around themselves are independent of any other motion (e.g. children revolving around them)

TODO: Homework 4 (deliverable) Create a full-body robot. You can use scaled cubes and spheres, or your own small models for the pieces of the robot. You do not need to create fingers, but I want a nose. Animate the robot in a creative way by rotating its body parts. Tips: – You need to use parent-child relationships – You can place spheres where the joints should be and rotate those spheres. Due next week (as usual)