VIRTUAL ENVIRONMENT.

Slides:



Advertisements
Similar presentations
Department of nskinfo i-education
Advertisements

John C. Hart CS 318 Interactive Computer Graphics
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Chris Hall Aerospace and Ocean Engineering
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Trigonometry, Coordinate system and Vectors Computer Graphics.
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
Game Physics Chris Miles. The Goal To learn how to create game objects with realistic physics models To learn how to simulate aspects of reality in order.
Ch. 2: Rigid Body Motions and Homogeneous Transforms
3D orientation.
Introduction to Robotics Lecture II Alfred Bruckstein Yaniv Altshuler.
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Math for CSLecture 11 Mathematical Methods for Computer Science Lecture 1.
Screw Rotation and Other Rotational Forms
CS 445 / 645 Introduction to Computer Graphics Lecture 21 Representing Rotations Lecture 21 Representing Rotations.
CS I400/B659: Intelligent Robotics Rigid Transformations.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
1 Kinematics ( 運動學 ) Primer Jyun-Ming Chen Fall 2009.
Rotations and Translations
CS 480/680 Computer Graphics Representation Dr. Frederick C Harris, Jr. Fall 2012.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Key Frame Animation and Inverse Kinematics
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Rotations and Translations
Geometric Transformations
Advanced Computer Graphics Spring 2014
1 Fundamentals of Robotics Linking perception to action 2. Motion of Rigid Bodies 南台科技大學電機工程系謝銘原.
110/27/ :47 Graphics II Animation Introduction and Motion Control Session 6.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Rotations and Quaternions Week 9, Wed 29 Oct 2003.
Animating Rotations and Using Quaternions. What We’ll Talk About Animating Translation Animating 2D Rotation Euler Angle representation 3D Angle problems.
CS 551/645 Fall 2000 Parameterized Rotations, Curves, and Surfaces.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 17, 2015 TRANSFORMATIONS AFFINE TRANSFORMATIONS QUATERNIONS.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Comparing Two Motions Jehee Lee Seoul National University.
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
CS 551/651 Advanced Graphics Technical Background.
Course14 Dynamic Vision. Biological vision can cope with changing world Moving and changing objects Change illumination Change View-point.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Learning from the Past, Looking to the Future James R. (Jim) Beaty, PhD - NASA Langley Research Center Vehicle Analysis Branch, Systems Analysis & Concepts.
Kinematics 제어시스템 이론 및 실습 조현우
Transformations Review 4/18/2018 ©Babu 2009.
Character Animation Forward and Inverse Kinematics
Computer Animation Algorithms and Techniques
CPSC 641: Computer Graphics Rotation Representation and Interpolation
CS 445 / 645 Introduction to Computer Graphics
3D Kinematics Consists of two parts
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 TRANSFORMATIONS
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
CSC4820/6820 Computer Graphics Algorithms Ying Zhu Georgia State University Transformations.
Rotational Kinematics
Advanced Computer Graphics Spring 2008
Robot Kinematics We know that a set of “joint angles” can be used to locate and orientate the hand in 3-D space We know that the joint angles can be combined.
UMBC Graphics for Games
Geometric Objects and Transformations (II)
Reflections in Coordinate Plane
Computer Animation Displaying animation sequences raster animation
A definition we will encounter: Groups
Computer Graphics Lecture 15.
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
Screw Rotation and Other Rotational Forms
Presentation transcript:

VIRTUAL ENVIRONMENT

VIRTUAL ENVIRONMENT The Dynamics of Numbers The Animation of Objects Numerical Interpolation Linear Interpolation Non-Linear Interpolation The Animation of Objects Linear Translation Non-Linear Translation Shapes and Objects in between

The Dynamics of Numbers Virtual Environment – A Complex Numerical DB It changes one number to another Important: Numerical Envelope of the change Example: In animating the bouncing of a ball, it’s centroid is used to guide its motion Realistic motions are simulated by numerical interpolation Numerical Interpolation – Linear and Non-Linear

Numerical Interpolation Interpolation produces a function that matches the given data exactly. The function then can be utilized to approximate the data values at intermediate points It is also used to produce a function for which values are known only at discrete points, either from measurements or calculations.

Numerical Interpolation Given data points Obtain a function, P(x) P(x) goes through the data points Use P(x) To estimate values at intermediate points For example, given data points: At x0 = 2, y0 = 3 and at x1 = 5, y1 = 8 Find the following: At x = 4, y = ?

Numerical Interpolation

Linear Interpolation Linear Interpolation - Simplest interpolation method Apply LI(a sequence of points)  A polygonal line where each straight line segment connects two consecutive points of the sequence Therefore, for every segment (P,Q) P(x) = (1 - x)P + xQ where x ϵ [0,1] By varying x from 0 to 1, we get all the intermediate points between P and Q P(x) = P for x = 0 and P(x) = Q for x = 1. We get points on the line defined by P, Q, when 0 ≤ x ≤ 1

Non-Linear Interpolation A linear interpolation ensures that equal steps in the parameter x give rise to equal steps in the interpolated values It is often required that equal steps in x give rise to unequal steps in the interpolated values We can achieve this using a variety of mathematical techniques For example, we could use trigonometric functions or polynomials to achieve this

Trigonometric interpolation sin2(x) + cos2(x) = 1 If x varies between 0 and π/2 cos2(x) varies between 1 and 0, sin2(x) varies between 0 and 1 which can be used to modify the two interpolated values n1 and n2 as follows n=n1cos2(t)+n2sin2(t) for 0 ≤ t ≤ π/2

Trigonometric interpolation

Trigonometric interpolation Let n1 = 1 and n2 = 3

Cubic interpolation

Cubic interpolation

Cubic interpolation

The Animation of Objects Newton’s Laws of Motion provide a useful framework to predict an object’s behavior under dynamic conditions This scenario can be simulated within a Virtual Environment It can be achieved through a simple linear translation of objects

Uses of Translation Modeling transformations Viewing transformations build complex models by positioning simple components transform from object coordinates to world coordinates Viewing transformations placing the virtual camera in the world i.e. specifying transformation from world coordinates to camera coordinates Animation vary transformations over time to create motion

Linear Translation Consider an object located at VE’s origin and assigned a speed S0 across the XY plane To simulate its sliding movement, the x & z coordinates of the object must be modified (tnow – tprev)V0 The object’s new velocity can be computed after it is bouncing off the boundary.

Linear Translation

Non-Linear Translation Consider an object moving along the x-axis in 1s, pause momentarily and then returns to its original position in 2s The non-linear movement of the object can be simulated by computing the x-translation as a function of time At time t1, the translation begins. At time t2, i.e.,(t1+1) it pauses momentarily and at time t3, i.e., (t1+3), it comes to rest t = T – t1 while t1 ≤ T ≤ t2 T – Current time t = (T – t1 – 1)/2 while t2 ≤ T ≤ t3 t- Control parameter

Euler Angles Orientation of an object in computer graphics is often described using Euler Angles RxRyRz Any axis order will work and could be used. Yaw, Pitch & Roll

Problem with Euler Angles Rotations not uniquely defined Ex: (z, x, y) [roll, yaw, pitch] = (90, 45, 45) = (45, 0, -45) takes positive x-axis to (1, 1, 1) Cartesian coordinates are independent of one another, but Euler angles are not Remember, the axes stay in the same place during rotations Gimbal Lock Term derived from mechanical problem that arises in gimbal mechanism that supports a compass or a gyro Second and third rotations have effect of transforming earlier rotations, we lose a degree of freedom ex: Rot x, Rot y, Rot z If Rot y = 90 degrees, Rot z is equivalent to -Rot x With Euler Angles, knowing the transformations for the entire rotation does not help us with the intermediate rotations. Each is a unique set of three rotations about the x,y and z axes

Quaternions Invented by Sir William Hamilton (1843) Do not suffer from Gimbal Lock Provide a natural way to interpolate intermediate steps in a rotation about an arbitrary axis Are used in many position tracking systems and VR software support systems

Quaternions You can think of quaternions as an extension of complex numbers where there are three different square roots of -1. q = w + i x + j y + k z where i = (-1), j = (-1), k = (-1) i*j = k, j*k = i, k*i = j j*i = -k, k*j = -i, i*k = -j You could also think of q as a value in four-dimensional space, q = [w, x, y, z] Sometimes written as q = [w, v] where w is a scalar and v is a vector in 3-space

Shape and Object Inbetweening Shape Inbetweening It is a technique in the cartoon industry to speed up the process of creating art works The ‘inbetween’ objects are derived from two key images drawn by a skilled animator The images are called as Key Frames The key frames shows an object in two different positions The number and position of inbetweenig images determines the dynamics of final animation

Shape Inbetweening

Object Inbetweening By inbetweening the z-coordinate, the above technique can be applied to 3D contours We cannot expect to interpolate between two different complex objects and geometrically consistent Given suitable geometric definitions, it is possible to transform one object into another and create subtle animation