Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).

Size: px
Start display at page:

Download "Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 )."

Transcription

1 Animation A Series of Still Images We Call Animation Animation needs no explanation. We see it in movies and games. We grew up with it in cartoons. Some of the most popular, longest-running television shows such as 'The Simpsons' are animated. Every year, there are more animated movies, and video games with cinematic transitions between game levels. But here we are going to describe animation from a technical aspect and the two types of animation s: Key-Frame Animations, and Procedural Animations. Key-Frame animation consists of three parts: a timer, key frames, and the animated object. Just like an actor on-stage is directed to move from one location to another, computer animation is the same: start here; end over there, and do that in a specified amount of time. Procedural animation differs from Key-Frame animation in that movement is determined by a computer program. A classic example is a bird-flocking algorithm. In flight, no two birds get too close or too far away from another, but there is a small randomness in each bird's flight. If an animation of birds was in perfect formation, a precise distance from each other, it would look fake. So the small randomness adds to the realism. Procedural animation was used for the dinosaurs in Jurassic Park where the herd followed the lead dinosaur. The dinosaurs didn't wander too far off nor bang into one another. Artificial Intelligence (AI) is a variation on procedural animation where the characters vary their movement on the game situation. Heuristics adds to AI where the objects learn as they go. But a good starting point to animation is Key-Frame Animation. Key-Frame Animation Most key-frame animation is a change in an object's translation (position) or rotation. However, other animation changes include the object's scale, color, vertices (also known as morphing), or its texture map to create visual effects such as a waterfall. The timer simply outputs a value progressing between 0 and 1 that is a percent of the overall length of time known as cycle-time. A timer of 10 seconds outputs.6 at the 6 second mark. Timers include other properties such as a true/false looping boolean, and can have a start-time which begins at the timer at a specific time. An enabled boolean controls if the time is active. The key-frame interpolator takes a single value between 0 and 1 from the timer and outputs the transformation value. For example, a Starting point of (-4, -2, 0 ) and Finishing point of ( 2, 6, -4 ) at time =.75, using the equation S + (F S)t gives us: (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ). Some interpolators ramp-up and ramp-down to accelerate or decelerate similar to a car's increasing velocity from a stop light or decreasing velocity braking for a stop sign.

2 The final part of the key-frame animation is the object's transformation, vertices (in the case of morphing), or appearance (changing the object's material color or texture map transformation). Often animations have in-between key-frames in ascending order. An example might be keyframes at 0,.3, and 1, and a matching number of key-values at ( 1, 2, 3 ), ( 2, -3, 5 ) and ( 3, 1, 8 ). If there are three key-frames, there must be three sets of key-values. So, when the timer gets to.3 (30% of the way through the timer), the animated object will be at ( 2, -3, 5 ). Locations between 0 and.3, and between.3 and 1 will be interpolated. For example, at time =.8, the equation for the animated transformation is: S + ( F S ) * t, where t = (t current t low ) / (t high t low ) and t current is the current time, which here is.8 t low is the lower key of.3, and t high is the higher key of 1. t = ( ) / ( ) =.714 S + ( F S ) * t = ( 2, -3, 5 ) + ( ( 3, 1, 8 ) - ( 2, -3, 5 ) ) *.714 = ( 2, -3, 5 ) + ( 1, 4, 3 ) *.714 = ( 2, -3, 5 ) + (.714, 2.857, ) = ( 2.714,.143, ) Animations of Rotations Rotations are simply another animal. The reason is that there are three rotations: around the x- axis, y-axis and z-axis. Suppose we used the three rotation matrices for animations. Then every time there is a millisecond tick on the CPU clock for each new frame, we have to recalculate the three rotation matrices, then multiply these three 4x4 matrices. Additionally, the combined rotations might take the long route greater than 180 degrees, rather than the reverse order to be less than 180. For example, instead of flying from California to Australia over the Pacific Ocean, the multiplication of matrices could go the other direction flying over the Atlantic Ocean, southeast over Africa, over the Indian Ocean and then to Australia. Most 3D modeling programs specify animations in Axis-Angle format which is four values specifying the axis and the angle ( x, y, z, angle). The x, y, z values are a unit length such that x 2 + y 2 + z 2 = 1. One way to envision Axis-Angle format is a unit sphere where the rotated object is moved from the center of the sphere to the x, y, z values on the edge of the sphere. This forms a new x-, y-, z-coordinate system tangent to this new x, y, z point. Then the object is rotated by the Axis-Angle's angle value. Axis-Angle however has three issues for rotations: 1) it does not easily convert to a rotation matrix; 2) it's not a unique value on a unit sphere as ( x, y, z, angle ) = ( -x, -y, -z, -angle); and 3) it doesn't interpolate smoothly between two points. There is another problem known as Gimbal Lock where a rotation of 90 degrees around the y-axis results in rotations around the x and z axis now performing the same animation. This is experienced in aviation and was a problem presented in the movie Apollo 13 by Tom Hanks as astronaut Jim Lovell.

3 Quaternions Quaternions are 4 th dimensional values. What they do really well is animate smoothly around three axis, easily convert into a matrix for the 3d graphics pipeline and have a unique location on a unit sphere, thus solving our issues regarding axis-angle. But best of all, Quaternions enable a linear rotation in three dimensions where we only need to a single Starting quaternion, a Final quaternion, and the 't' time value to calculate the object's animation. The conversion from Axis-Angle ( x, y, z, θ ) to a quaternion is: [ cos θ/2, (sin θ/2) * v ] where 'v' = 'x, y, and z'. The expanded quaternion is: [ cos θ/2, (sin θ/2) * x, (sin θ/2) * y, (sin θ/2) * z ] The quaternion is often written [w, x, y, z] where w = cos θ/2. Quaternions are also unit values with: w 2 + x 2 + y 2 + z 2 = 1. Let's take an example of this conversion using an Axis-angle of (.8, -.5,.33, 1.2 ). The angle = 1.2 radians. The conversion to a quaternion is: q = [ cos(1.2/2), (sin(1.2/2)) * v ] or: q = [ cos(1.2/2), (sin(1.2/2))*.8, (sin(1.2/2))*(-.5), (sin(1.2/2))*.33 ] = [ cos.6, (sin.6)*.8, (sin.6)*(-.5), (sin.6)*.33 ] = [.825,.565*.8,.565*(-.5),.565*.33 ] = [.825,.452, -.283,.187 ] Note that (-.283) = 1 Then the conversion from a quaternion [ w, x, y, z ] to a matrix is shown below: [ ] 1-2y 2-2z 2 2xy - 2wz 2xz + 2wy 0 2xy + 2wz 1-2x 2-2z 2 2yz - 2wx 0 2xz - 2wy 2yz + 2wx 1-2x 2-2y

4 Animations with Quaternions A goal with any animation in real-time graphics is fast calculations. With translations, the math is relatively easy because the object is moving in a linear fashion as it goes from 20% to 30% to 40%, etc. along a time-line. But how do we calculate an animation around three axis and make it a simple linearly interpolation transformation from Start to Finish? Recall our linear equation: S + (F S)t. Here, t is the fraction of time from 0 to 1. We can use the same equation with quaternions where S is our starting quaternion, F is the finishing quaternion and t is the output from the timer advancing between 0 and 1. First let's look at an example of an object with an Axis-Angle rotation of (1, 0, 0, 1.57), which is a 90 degree rotation (1.57 radians) around the x-axis. The ending rotation is (0, 0, 1, 1.57), or a 90 degree rotation around the z-axis. If we calculated 40% of the way through the animation using Axis-Angle values: S + (F S)t = (1, 0, 0, 1.57) + ((0, 0, 1, 1.57) - (1, 0, 0, 1.57)) *.4 = (1, 0, 0, 1.57) + (-1, 0, 1, 0) *.4 = (1, 0, 0, 1.57) + (-.4, 0,.4, 0) = (.6, 0,.4, 1.57 ) Now we need to normalized this Axis-Angle value to get (.83, 0,.55, 1.57). Now, let's convert these two Axis-Angle values to quaternions: Axis-Angle (1, 0, 0, 1.57) q0 = [.707,.707, 0, 0 ] and Axis-Angle [ 0, 0, 1, 1.57 ] q1 = [.707, 0, 0,.707 ] Using our formula S + (F S)t: q0 + ( q1 q0 ) *.4 = [.707,.707, 0, 0 ] + ( [.707, 0, 0,.707 ] - [.707,.707, 0, 0 ] ).4 = [.707,.707, 0, 0 ] + [ 0, -.707, 0,.707 ].4 = [.707,.707, 0, 0 ] + [ 0, , 0,.2828 ] = [.707,.4242, 0,.2828 ] Recall that w 2 + x 2 + y 2 + z 2 must equal 1 so we need to normalize this value by dividing all four values by sqrt( ) =.872 [.707,.4242, 0,.2828 ] -> [.707/.872,.4242/.872, 0/.872,.2828/.872 ] = [.811,.487, 0,.324 ]. Before we go further, let us convert this quaternion back to Axis-Angle format using this formula: q[ w, x, y, z ] ( x/ xyz, y/ xyz, z/ xyz, 2*arccos(w) ) where xyz = sqrt( x 2 + y 2 + z 2 ). Plugging in the numbers above: xyz = sqrt( ) =.585 q[ w, x, y, z ] ( x/ xyz, y/ xyz, z/ xyz, 2*arccos(w) ) [.811,.487, 0,.324 ] (.487/.585, 0/.585,.324/.585, 2*arccos(.811) ) = (.832, 0,.554, 1.25 ) Our quaternion, (.832, 0,.554, 1.25 ) is close to our Axis-Angle value of (.83, 0,.55, 1.57 ). However, the angle with Axis-Angle angle value of 1.57 which is wrong. So, we cannot interpolate between two Axis-Angle values for rotations.

5 So, quaternions achieve the correct rotations over interpolation with Axis-Angle. But there is still one problem with the previous equation: we had to normalize the quaternion and that is a bit more math than we would want so let's look at the next solution. SLERP Spherical Linear Interpolation, or SLERP, is a variation of the Linear Interpolation (LERP) we just calculated but handles the normalizing of the quaternion. Here is the equation: SLERP(t; q0, q1) = ( q0 * sin(θ*(1 t)) + q1 * sin(θ*t) ) / sin θ θ is the angle between the Start and Finish on a 4 th dimensional unit sphere and is the arc-cosine of the dot product of the two quaternions: θ = arccos( w0*w1 + x0*x1 + y0*y1 + z0*z1 ) Let's use the example from before: q0 = [.707,.707, 0, 0 ] and q1 = [.707, 0, 0,.707 ] θ = arccos(.707* *0 + 0*0 + 0*.707 ) = arccos(.5) = q0, q1 and θ are now known, so the only variable change is 't'. Using t =.4, we get: SLERP(.4; q0, q1) = ( q0 * sin(1.047*(1.4)) + q1 * sin(1.047*.4) ) / sin ( q0 * sin(1.047*.6) + q1 * sin(1.047*.4) ) / sin ( q0 * q1 *.407) /.866 = q0 * q1 *.470 [.707,.707, 0, 0 ] * [.707, 0, 0,.707 ] *.470 = [.480,.480, 0, 0 ] + [.332, 0, 0,.332 ] = [.812,.480, 0,.332 ] About what we had before just some round-off errors. While this might look like more extensive, keep in mind that a good portion of this will be calculated just one time, and that we have now achieved rotations in three dimensions using a linear formula, quite an achievement! SLERP Optimization When calculating θ, if the value is close to 1, then use the Linear Interpolation instead of SLERP. Not if θ < 0, then the animated rotation is greater than 180 degrees and thus would be shorter rotation going the other direction. To achieve this, just invert the q1 values and that will give a shorter rotation. Quaternions are a key concept in animation. Some graphics and game engines only work with quaternions so this is an important concept to know.

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Quaternions as Orientations () page 1 Visualizing a Unit Quaternion Rotation in 4D Space ( ) = w + x + y z q = Norm q + q = q q [ w, v], v = ( x, y, z) w scalar q =,

More information

CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

More information

Understanding Rotations

Understanding Rotations Understanding Rotations Jim Van Verth Senior Engine Programmer, Insomniac Games jim@essentialmath.com Introductions. Name a little misleading, as truly understanding rotations would require a deep understanding

More information

Adding vectors We can do arithmetic with vectors. We ll start with vector addition and related operations. Suppose you have two vectors

Adding vectors We can do arithmetic with vectors. We ll start with vector addition and related operations. Suppose you have two vectors 1 Chapter 13. VECTORS IN THREE DIMENSIONAL SPACE Let s begin with some names and notation for things: R is the set (collection) of real numbers. We write x R to mean that x is a real number. A real number

More information

Computer Animation. Lecture 2. Basics of Character Animation

Computer Animation. Lecture 2. Basics of Character Animation Computer Animation Lecture 2. Basics of Character Animation Taku Komura Overview Character Animation Posture representation Hierarchical structure of the body Joint types Translational, hinge, universal,

More information

animation animation shape specification as a function of time

animation animation shape specification as a function of time animation animation shape specification as a function of time animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency control typically

More information

Rotation and Inter interpolation Using Quaternion Representation

Rotation and Inter interpolation Using Quaternion Representation This week CENG 732 Computer Animation Spring 2006-2007 Week 2 Technical Preliminaries and Introduction to Keframing Recap from CEng 477 The Displa Pipeline Basic Transformations / Composite Transformations

More information

animation shape specification as a function of time

animation shape specification as a function of time animation 1 animation shape specification as a function of time 2 animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency typically

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics Computer Animation Adapted from notes by Yong Cao Virginia Tech 1 Outline Principles of Animation Keyframe Animation Additional challenges in animation 2 Classic animation Luxo

More information

Kinematical Animation. lionel.reveret@inria.fr 2013-14

Kinematical Animation. lionel.reveret@inria.fr 2013-14 Kinematical Animation 2013-14 3D animation in CG Goal : capture visual attention Motion of characters Believable Expressive Realism? Controllability Limits of purely physical simulation : - little interactivity

More information

Metrics on SO(3) and Inverse Kinematics

Metrics on SO(3) and Inverse Kinematics Mathematical Foundations of Computer Graphics and Vision Metrics on SO(3) and Inverse Kinematics Luca Ballan Institute of Visual Computing Optimization on Manifolds Descent approach d is a ascent direction

More information

TRIGONOMETRY FOR ANIMATION

TRIGONOMETRY FOR ANIMATION TRIGONOMETRY FOR ANIMATION What is Trigonometry? Trigonometry is basically the study of triangles and the relationship of their sides and angles. For example, if you take any triangle and make one of the

More information

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture 6. 2013 Steve Marschner (with previous instructors James/Bala)

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture 6. 2013 Steve Marschner (with previous instructors James/Bala) 3D Tranformations CS 4620 Lecture 6 1 Translation 2 Translation 2 Translation 2 Translation 2 Scaling 3 Scaling 3 Scaling 3 Scaling 3 Rotation about z axis 4 Rotation about z axis 4 Rotation about x axis

More information

Chapter 1. Animation. 1.1 Computer animation

Chapter 1. Animation. 1.1 Computer animation Chapter 1 Animation "Animation can explain whatever the mind of man can conceive. This facility makes it the most versatile and explicit means of communication yet devised for quick mass appreciation."

More information

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008. COMP60321 Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE M.Sc. in Advanced Computer Science Computer Animation Friday 18 th January 2008 Time: 09:45 11:45 Please answer any THREE Questions

More information

The Rocket Steam Locomotive - Animation

The Rocket Steam Locomotive - Animation Course: 3D Design Title: Rocket Steam Locomotive - Animation Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (May 2012) The Rocket Steam Locomotive - Animation In this tutorial

More information

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

Computing Euler angles from a rotation matrix

Computing Euler angles from a rotation matrix Computing Euler angles from a rotation matrix Gregory G. Slabaugh Abstract This document discusses a simple technique to find all possible Euler angles from a rotation matrix. Determination of Euler angles

More information

Computer Animation. CS 445/645 Fall 2001

Computer Animation. CS 445/645 Fall 2001 Computer Animation CS 445/645 Fall 2001 Let s talk about computer animation Must generate 30 frames per second of animation (24 fps for film) Issues to consider: Is the goal to replace or augment the artist?

More information

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction

More information

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics 2 Lecture Outline Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre

More information

CHAPTER 6 TEXTURE ANIMATION

CHAPTER 6 TEXTURE ANIMATION CHAPTER 6 TEXTURE ANIMATION 6.1. INTRODUCTION Animation is the creating of a timed sequence or series of graphic images or frames together to give the appearance of continuous movement. A collection of

More information

521493S Computer Graphics. Exercise 2 & course schedule change

521493S Computer Graphics. Exercise 2 & course schedule change 521493S Computer Graphics Exercise 2 & course schedule change Course Schedule Change Lecture from Wednesday 31th of March is moved to Tuesday 30th of March at 16-18 in TS128 Question 2.1 Given two nonparallel,

More information

Review Sheet for Test 1

Review Sheet for Test 1 Review Sheet for Test 1 Math 261-00 2 6 2004 These problems are provided to help you study. The presence of a problem on this handout does not imply that there will be a similar problem on the test. And

More information

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances

More information

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

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information

DERIVATIVES AS MATRICES; CHAIN RULE

DERIVATIVES AS MATRICES; CHAIN RULE DERIVATIVES AS MATRICES; CHAIN RULE 1. Derivatives of Real-valued Functions Let s first consider functions f : R 2 R. Recall that if the partial derivatives of f exist at the point (x 0, y 0 ), then we

More information

Two vectors are equal if they have the same length and direction. They do not

Two vectors are equal if they have the same length and direction. They do not Vectors define vectors Some physical quantities, such as temperature, length, and mass, can be specified by a single number called a scalar. Other physical quantities, such as force and velocity, must

More information

Math for Game Programmers: Dual Numbers. Gino van den Bergen gino@dtecta.com

Math for Game Programmers: Dual Numbers. Gino van den Bergen gino@dtecta.com Math for Game Programmers: Dual Numbers Gino van den Bergen gino@dtecta.com Introduction Dual numbers extend real numbers, similar to complex numbers. Complex numbers adjoin an element i, for which i 2

More information

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 /

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 / Computer Animation Guoying Zhao 1 / 66 Basic Elements of Computer Graphics Modeling construct the 3D model of the scene Rendering Render the 3D model, compute the color of each pixel. The color is related

More information

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D Components Tracks An animation track is a recording of a particular type of animation; for example, rotation. Some tracks

More information

Elements of a graph. Click on the links below to jump directly to the relevant section

Elements of a graph. Click on the links below to jump directly to the relevant section Click on the links below to jump directly to the relevant section Elements of a graph Linear equations and their graphs What is slope? Slope and y-intercept in the equation of a line Comparing lines on

More information

Introduction to Matrices

Introduction to Matrices Introduction to Matrices Tom Davis tomrdavis@earthlinknet 1 Definitions A matrix (plural: matrices) is simply a rectangular array of things For now, we ll assume the things are numbers, but as you go on

More information

With the Tan function, you can calculate the angle of a triangle with one corner of 90 degrees, when the smallest sides of the triangle are given:

With the Tan function, you can calculate the angle of a triangle with one corner of 90 degrees, when the smallest sides of the triangle are given: Page 1 In game development, there are a lot of situations where you need to use the trigonometric functions. The functions are used to calculate an angle of a triangle with one corner of 90 degrees. By

More information

Maya 2014 Basic Animation & The Graph Editor

Maya 2014 Basic Animation & The Graph Editor Maya 2014 Basic Animation & The Graph Editor When you set a Keyframe (or Key), you assign a value to an object s attribute (for example, translate, rotate, scale, color) at a specific time. Most animation

More information

(a) We have x = 3 + 2t, y = 2 t, z = 6 so solving for t we get the symmetric equations. x 3 2. = 2 y, z = 6. t 2 2t + 1 = 0,

(a) We have x = 3 + 2t, y = 2 t, z = 6 so solving for t we get the symmetric equations. x 3 2. = 2 y, z = 6. t 2 2t + 1 = 0, Name: Solutions to Practice Final. Consider the line r(t) = 3 + t, t, 6. (a) Find symmetric equations for this line. (b) Find the point where the first line r(t) intersects the surface z = x + y. (a) We

More information

Blender 3D Animation

Blender 3D Animation Bachelor Maths/Physics/Computer Science University Paris-Sud Digital Imaging Course Blender 3D Animation Christian Jacquemin Introduction to Computer Animation Animation Basics animation consists in changing

More information

Onboard electronics of UAVs

Onboard electronics of UAVs AARMS Vol. 5, No. 2 (2006) 237 243 TECHNOLOGY Onboard electronics of UAVs ANTAL TURÓCZI, IMRE MAKKAY Department of Electronic Warfare, Miklós Zrínyi National Defence University, Budapest, Hungary Recent

More information

Vector Math Computer Graphics Scott D. Anderson

Vector Math Computer Graphics Scott D. Anderson Vector Math Computer Graphics Scott D. Anderson 1 Dot Product The notation v w means the dot product or scalar product or inner product of two vectors, v and w. In abstract mathematics, we can talk about

More information

Solutions to Homework 5

Solutions to Homework 5 Solutions to Homework 5 1. Let z = f(x, y) be a twice continously differentiable function of x and y. Let x = r cos θ and y = r sin θ be the equations which transform polar coordinates into rectangular

More information

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build

More information

Abstract. Introduction

Abstract. Introduction SPACECRAFT APPLICATIONS USING THE MICROSOFT KINECT Matthew Undergraduate Student Advisor: Dr. Troy Henderson Aerospace and Ocean Engineering Department Virginia Tech Abstract This experimental study involves

More information

Rotation about an arbitrary axis and reflection through an arbitrary plane

Rotation about an arbitrary axis and reflection through an arbitrary plane Annales Mathematicae et Informaticae 40 (2012) pp. 175 186 http://ami.ektf.hu Rotation about an arbitrary axis and reflection through an arbitrary plane Emőd Kovács Department of Information Technology

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

More information

Motion Capture Technologies. Jessica Hodgins

Motion Capture Technologies. Jessica Hodgins Motion Capture Technologies Jessica Hodgins Motion Capture Animation Video Games Robot Control What games use motion capture? NBA live PGA tour NHL hockey Legends of Wrestling 2 Lords of Everquest Lord

More information

Section 12.6: Directional Derivatives and the Gradient Vector

Section 12.6: Directional Derivatives and the Gradient Vector Section 26: Directional Derivatives and the Gradient Vector Recall that if f is a differentiable function of x and y and z = f(x, y), then the partial derivatives f x (x, y) and f y (x, y) give the rate

More information

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London Computer Animation Goldsmiths, University of London Computer Animation Introduction Computer animation is about making things move, a key part of computer graphics. In film animations are created off-line,

More information

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013 CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013 Reading: Chapt 11 of Gregory, Game Engine Architecture. Game Animation: Most computer games revolve around characters that move around

More information

How To Draw A 3D Virtual World In 3D Space (Computer Graphics)

How To Draw A 3D Virtual World In 3D Space (Computer Graphics) 2 Computer Graphics What You Will Learn: The objectives of this chapter are quite ambitious; you should refer to the references cited in each Section to get a deeper explanation of the topics presented.

More information

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space 11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of

More information

Animation. Basic Concepts

Animation. Basic Concepts Animation Basic Concepts What is animation? Animation is movement of graphics or text Some common uses of animation include: Advertising o Example: Web site advertisements that are animated to attract

More information

Section 1.1. Introduction to R n

Section 1.1. Introduction to R n The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

More information

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better!

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better! The Fourth International DERIVE-TI9/89 Conference Liverpool, U.K., -5 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de technologie supérieure 00, rue Notre-Dame Ouest Montréal

More information

Digital 3D Animation

Digital 3D Animation Elizabethtown Area School District Digital 3D Animation Course Number: 753 Length of Course: 1 semester 18 weeks Grade Level: 11-12 Elective Total Clock Hours: 120 hours Length of Period: 80 minutes Date

More information

http://school-maths.com Gerrit Stols

http://school-maths.com Gerrit Stols For more info and downloads go to: http://school-maths.com Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It

More information

Solutions to old Exam 1 problems

Solutions to old Exam 1 problems Solutions to old Exam 1 problems Hi students! I am putting this old version of my review for the first midterm review, place and time to be announced. Check for updates on the web site as to which sections

More information

Essential Mathematics for Computer Graphics fast

Essential Mathematics for Computer Graphics fast John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made

More information

Unit 1 - Radian and Degree Measure Classwork

Unit 1 - Radian and Degree Measure Classwork Unit 1 - Radian and Degree Measure Classwork Definitions to know: Trigonometry triangle measurement Initial side, terminal side - starting and ending Position of the ray Standard position origin if the

More information

Equations Involving Lines and Planes Standard equations for lines in space

Equations Involving Lines and Planes Standard equations for lines in space Equations Involving Lines and Planes In this section we will collect various important formulas regarding equations of lines and planes in three dimensional space Reminder regarding notation: any quantity

More information

Math 241 Lines and Planes (Solutions) x = 3 3t. z = 1 t. x = 5 + t. z = 7 + 3t

Math 241 Lines and Planes (Solutions) x = 3 3t. z = 1 t. x = 5 + t. z = 7 + 3t Math 241 Lines and Planes (Solutions) The equations for planes P 1, P 2 and P are P 1 : x 2y + z = 7 P 2 : x 4y + 5z = 6 P : (x 5) 2(y 6) + (z 7) = 0 The equations for lines L 1, L 2, L, L 4 and L 5 are

More information

Math 241, Exam 1 Information.

Math 241, Exam 1 Information. Math 241, Exam 1 Information. 9/24/12, LC 310, 11:15-12:05. Exam 1 will be based on: Sections 12.1-12.5, 14.1-14.3. The corresponding assigned homework problems (see http://www.math.sc.edu/ boylan/sccourses/241fa12/241.html)

More information

Part I. Basic Maths for Game Design

Part I. Basic Maths for Game Design Part I Basic Maths for Game Design 1 Chapter 1 Basic Vector Algebra 1.1 What's a vector? Why do you need it? A vector is a mathematical object used to represent some magnitudes. For example, temperature

More information

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

CATIA: Navigating the CATIA V5 environment. D. CHABLAT / S. CARO Damien.Chablat@irccyn.ec-nantes.fr

CATIA: Navigating the CATIA V5 environment. D. CHABLAT / S. CARO Damien.Chablat@irccyn.ec-nantes.fr CATIA: Navigating the CATIA V5 environment D. CHABLAT / S. CARO Damien.Chablat@irccyn.ec-nantes.fr Standard Screen Layout 5 4 6 7 1 2 3 8 9 10 11 12 13 14 15 D. Chablat / S. Caro -- Institut de Recherche

More information

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM 1 Introduction Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM The technique of motion capture, or using the recorded movements of a live actor to drive a virtual character, has recently

More information

Orthogonal Projections

Orthogonal Projections Orthogonal Projections and Reflections (with exercises) by D. Klain Version.. Corrections and comments are welcome! Orthogonal Projections Let X,..., X k be a family of linearly independent (column) vectors

More information

x1 x 2 x 3 y 1 y 2 y 3 x 1 y 2 x 2 y 1 0.

x1 x 2 x 3 y 1 y 2 y 3 x 1 y 2 x 2 y 1 0. Cross product 1 Chapter 7 Cross product We are getting ready to study integration in several variables. Until now we have been doing only differential calculus. One outcome of this study will be our ability

More information

Sect 6.1 - Greatest Common Factor and Factoring by Grouping

Sect 6.1 - Greatest Common Factor and Factoring by Grouping Sect 6.1 - Greatest Common Factor and Factoring by Grouping Our goal in this chapter is to solve non-linear equations by breaking them down into a series of linear equations that we can solve. To do this,

More information

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A.

Vector Notation: AB represents the vector from point A to point B on a graph. The vector can be computed by B A. 1 Linear Transformations Prepared by: Robin Michelle King A transformation of an object is a change in position or dimension (or both) of the object. The resulting object after the transformation is called

More information

Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and Motion Optimization for Maritime Robotic Research

Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and Motion Optimization for Maritime Robotic Research 20th International Congress on Modelling and Simulation, Adelaide, Australia, 1 6 December 2013 www.mssanz.org.au/modsim2013 Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and

More information

This makes sense. t 2 1 + 1/t 2 dt = 1. t t 2 + 1dt = 2 du = 1 3 u3/2 u=5

This makes sense. t 2 1 + 1/t 2 dt = 1. t t 2 + 1dt = 2 du = 1 3 u3/2 u=5 1. (Line integrals Using parametrization. Two types and the flux integral) Formulas: ds = x (t) dt, d x = x (t)dt and d x = T ds since T = x (t)/ x (t). Another one is Nds = T ds ẑ = (dx, dy) ẑ = (dy,

More information

Fundamentals of Computer Animation

Fundamentals of Computer Animation Fundamentals of Computer Animation Principles of Traditional Animation How to create maximum impact page 1 How to create maximum impact Early animators worked from scratch to analyze and improve upon silence

More information

Rigid body dynamics using Euler s equations, Runge-Kutta and quaternions.

Rigid body dynamics using Euler s equations, Runge-Kutta and quaternions. Rigid body dynamics using Euler s equations, Runge-Kutta and quaternions. Indrek Mandre http://www.mare.ee/indrek/ February 26, 2008 1 Motivation I became interested in the angular dynamics

More information

Pro/E Design Animation Tutorial*

Pro/E Design Animation Tutorial* MAE 377 Product Design in CAD Environment Pro/E Design Animation Tutorial* For Pro/Engineer Wildfire 3.0 Leng-Feng Lee 08 OVERVIEW: Pro/ENGINEER Design Animation provides engineers with a simple yet powerful

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

discuss how to describe points, lines and planes in 3 space.

discuss how to describe points, lines and planes in 3 space. Chapter 2 3 Space: lines and planes In this chapter we discuss how to describe points, lines and planes in 3 space. introduce the language of vectors. discuss various matters concerning the relative position

More information

Rotation Matrices and Homogeneous Transformations

Rotation Matrices and Homogeneous Transformations Rotation Matrices and Homogeneous Transformations A coordinate frame in an n-dimensional space is defined by n mutually orthogonal unit vectors. In particular, for a two-dimensional (2D) space, i.e., n

More information

Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore.

Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore. Power Electronics Prof. K. Gopakumar Centre for Electronics Design and Technology Indian Institute of Science, Bangalore Lecture - 1 Electric Drive Today, we will start with the topic on industrial drive

More information

BCC Multi Stripe Wipe

BCC Multi Stripe Wipe BCC Multi Stripe Wipe The BCC Multi Stripe Wipe is a similar to a Horizontal or Vertical Blind wipe. It offers extensive controls to randomize the stripes parameters. The following example shows a Multi

More information

3. INNER PRODUCT SPACES

3. INNER PRODUCT SPACES . INNER PRODUCT SPACES.. Definition So far we have studied abstract vector spaces. These are a generalisation of the geometric spaces R and R. But these have more structure than just that of a vector space.

More information

Programming 3D Applications with HTML5 and WebGL

Programming 3D Applications with HTML5 and WebGL Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium

More information

not think the same. So, the consumer, at the end, is the one that decides if a game is fun or not. Whether a game is a good game.

not think the same. So, the consumer, at the end, is the one that decides if a game is fun or not. Whether a game is a good game. MR CHU: Thank you. I would like to start off by thanking the Central Policy Unit for the invitation. I was originally from Hong Kong, I left Hong Kong when I was 14 years old, it is good to come back with

More information

w = COI EYE view direction vector u = w ( 010,, ) cross product with y-axis v = w u up vector

w = COI EYE view direction vector u = w ( 010,, ) cross product with y-axis v = w u up vector . w COI EYE view direction vector u w ( 00,, ) cross product with -ais v w u up vector (EQ ) Computer Animation: Algorithms and Techniques 29 up vector view vector observer center of interest 30 Computer

More information

TWO-DIMENSIONAL TRANSFORMATION

TWO-DIMENSIONAL TRANSFORMATION CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization

More information

Midterm Exam 1 October 2, 2012

Midterm Exam 1 October 2, 2012 Midterm Exam 1 October 2, 2012 Name: Instructions 1. This examination is closed book and closed notes. All your belongings except a pen or pencil and a calculator should be put away and your bookbag should

More information

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device

More information

The Size & Shape of the Galaxy

The Size & Shape of the Galaxy name The Size & Shape of the Galaxy The whole lab consists of plotting two graphs. What s the catch? Aha visualizing and understanding what you have plotted of course! Form the Earth Science Picture of

More information

Mathematics on the Soccer Field

Mathematics on the Soccer Field Mathematics on the Soccer Field Katie Purdy Abstract: This paper takes the everyday activity of soccer and uncovers the mathematics that can be used to help optimize goal scoring. The four situations that

More information

Renishaw 2008. apply innovation TM. Calibrating 5-axis machines to improve part accuracy. 5Align

Renishaw 2008. apply innovation TM. Calibrating 5-axis machines to improve part accuracy. 5Align Calibrating 5-axis machines to improve part accuracy 5Align Productive Process Pyramid TM Understanding and tracking machine behaviour Process verification Thermal compensation In-cycle process control

More information

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

More information

... ... . (2,4,5).. ...

... ... . (2,4,5).. ... 12 Three Dimensions ½¾º½ Ì ÓÓÖ Ò Ø ËÝ Ø Ñ So far wehave been investigatingfunctions ofthe form y = f(x), withone independent and one dependent variable Such functions can be represented in two dimensions,

More information

Exam 1 Sample Question SOLUTIONS. y = 2x

Exam 1 Sample Question SOLUTIONS. y = 2x Exam Sample Question SOLUTIONS. Eliminate the parameter to find a Cartesian equation for the curve: x e t, y e t. SOLUTION: You might look at the coordinates and notice that If you don t see it, we can

More information

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS

December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B. KITCHENS December 4, 2013 MATH 171 BASIC LINEAR ALGEBRA B KITCHENS The equation 1 Lines in two-dimensional space (1) 2x y = 3 describes a line in two-dimensional space The coefficients of x and y in the equation

More information

correct-choice plot f(x) and draw an approximate tangent line at x = a and use geometry to estimate its slope comment The choices were:

correct-choice plot f(x) and draw an approximate tangent line at x = a and use geometry to estimate its slope comment The choices were: Topic 1 2.1 mode MultipleSelection text How can we approximate the slope of the tangent line to f(x) at a point x = a? This is a Multiple selection question, so you need to check all of the answers that

More information

Homeschool Programming, Inc.

Homeschool Programming, Inc. Printed Course Overview Course Title: TeenCoder: Game Programming TeenCoder: Game Programming Printed Course Syllabus and Planner Updated October, 2015 Textbook ISBN: 978-0-9887033-2-2, published 2013

More information

1.5 Equations of Lines and Planes in 3-D

1.5 Equations of Lines and Planes in 3-D 40 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE Figure 1.16: Line through P 0 parallel to v 1.5 Equations of Lines and Planes in 3-D Recall that given a point P = (a, b, c), one can draw a vector from

More information

Character Animation Tutorial

Character Animation Tutorial Character Animation Tutorial 1.Overview 2.Modelling 3.Texturing 5.Skeleton and IKs 4.Keys 5.Export the character and its animations 6.Load the character in Virtools 7.Material & texture tuning 8.Merge

More information

Derive 5: The Easiest... Just Got Better!

Derive 5: The Easiest... Just Got Better! Liverpool John Moores University, 1-15 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de Technologie Supérieure, Canada Email; mbeaudin@seg.etsmtl.ca 1. Introduction Engineering

More information