3 - Fundamentals of 3D Systems

Size: px
Start display at page:

Download "3 - Fundamentals of 3D Systems"

Transcription

1 CSc 65 Computer Game Architecture 3D Coordinate Systems 3 - Fundamentals of 3D Systems P (x,y,z) Right-handed Coordinate System P (x,y,z) Left-handed Coordinate System Points can be represented in homogeneous form: P [x y z ] 2 Synthetic Camera Paradigm ear Clipping Plane iew olume Projection Plane Far Clipping Plane Eye (camera) The Camera Two important camera attributes: Location Orientation of axes ote the coordinate system is left-handed + yaw ( azimuth ) + roll ( up ) World Objects + pitch ( colatitude or elevation ) 3 4 Generalized Camera Control Player controls position & orientation World points must be converted to camera points Game engine should handle this (it s game-independent) Additional Camera Settings FO, Aspect, ear & Far (Clipping) Controls projection onto 2D plane (& screen) Again, game engine should handle details w Line of sight World point Field of iew (FO) angle in Width Height w w near Aspect Ratio width / height 5 far 6

2 Sage Default Camera alues Sage Camera/Display Structure Loc [0 0 ], looking down negative fov 60, aspect, near0.0, far00 IDisplaySystem IRenderer ICamera DisplaySystem Renderer Camera JFrame Canvas Game loop render() step causes camera view (contents of iew olume) to be drawn on Renderer s Canvas in DisplaySystem s JFrame 7 8 SAGE s ICamera Interface //This interface defines the functions provided by all camera implementations public interface ICamera { // get the camera s location/orientation public Point3D getlocation(); public ector3d getrightaxis(); public ector3d getpaxis(); public ector3d getiewdirection(); Camera Manipulation example: Move Forward change location along the view direction CurLoc //modify the camera s location/orientation (note that it is the user s //responsibility to insure the camera axes remain mutually perpendicular) public void setlocation(point3d loc); public void setrightaxis(ector3d right); public void setpaxis(ector3d up); public void setiewdirection(ector3d viewdir); public void setaxes(ector3d right, ector3d up, ector3d viewdir); //query/alter the iew olume associated with the camera public double[] getperspectivefrustumsettings(); public void setperspectivefrustum(double fov, double aspect, double near, double far); //... other methods to be seen later... CurLoc As ector iewdirector () ewloc ewloc CurLocAsector + (iewdirector*moveamount) 9 0 Defining Simple 3D Models Rasterization Output ertex 2 0 (0,, 0) Color red (-, -, ) Color green 2 (, -, ) Color blue 3 (, -, -) Color yellow 4 (-, -, -) Color magenta Scan lines (pixel raster rows) A 2x2x2 Pyramid Centered At The Origin Output ertex 0 2 Output ertex

3 Application Code Graphics API (OpenGL or Direct) Interpolation Result Pyramid Data Structures ertices Geometry one vertex red green blue yellow magenta Color one vertex index Triangles Indexes 3 4 The Graphics Pipeline ertex Graphics Card Fragment ( pixel ) Primitive Assembly Primitive (Projection, Clipping) Fragment Testing (Blending, HSR, etc.) Implemented by the combination of the graphics driver (software), and graphics (hardware) card Can be FIED-FCTIO or PROGRAMMABLE, depending on implementation version ertices Other Data Rasterization Frame Buffer (Memory) Display 3D Transformations eeded for a wide variety of operations: Modeling Positioning & orienting objects in the 3D virtual world Camera positioning ( viewing ) Creating the 2D screen view of the 3D world view ( projection ) Making objects move, grow, spin, fly, etc. Client Side Server Side 5 6 Translation (column-major form): Scaling (column-major form): (x+t x ) (y+t y ) (z+t z ) 0 0 T x 0 0 T y 0 0 T z * x y z (x*s x ) (y*s y ) (z*s z ) S x S y S z * x y z 7 8

4 3D Rotation Recall 2D rotations can be about any point o For simplicity we define only 2D rotation about the origin o Other rotations require translation to/from the origin Similarly, 3D rotations can be about any line (any axis of rotation ) : Axis of Rotation Euler s Theorem Any rotation (or sequence of rotations) about a point is equivalent to a single rotation about some axis through that point. [Leonard Euler, ] This is equivalent to saying: Rotation about an arbitrary line through the origin can be accomplished by an equivalent set of rotations about the,, and axes. Arbitrary Point Thus we can rotate about an arbitrary axis as follows:. Translate the axis so it goes through the origin, 2. Rotate by the appropriate Euler angles about,, and, and 3. ndo the translation 9 20 isualizing Euler s Theorem 3D Rotation Transforms Desired point rotation Axis of Rotation Rotation about by θ: cos θ -sin θ 0 0 sin θ cos θ Euler angle rotations to accomplish desired rotation 2 22 Rotation about by θ: Rotation about by θ: cos θ 0 sin θ 0 cos θ -sin θ sin θ 0 cos θ sin θ cos θ

5 Rotation in Angle/Axis Form Rotation Axis [ ] Rotation Angle * * Positive rotation CCW as seen from vector (axis) head, looking toward tail at origin (right hand rule) rotate(60, x, y, z) Representing Transforms Package graphicslib3d Class Matrix3D : a 4x4 ( 3D ) matrix Methods for specifying translation, rotation, & scaling, obtaining transpose and inverse, etc. Similar to Java s AffineTransform (but 3D) Class ector3d : a 4-element ( 3D ) vector Methods for most common vector operations: add, dot- and cross-product, magnitude, normalize seful for representing, for example, a rotation axis Sceneode Hierarchy Every object in a scene is an instance of class sage.scene.sceneode, which provides local translate, rotate, and scale matrices Predefined classes in package: sage.scene.shape <<abstract>> Sceneode -localtranslation : Matrix3D -localrotation : Matrix3D -localscale : Matrix3D... + translate(tx,ty,tz) + rotate(degrees,axis) + scale(sx, sy, sz) Apply the specified transform to the local matrix Cube Cylinder Line Pyramid Sphere Teapot... Detecting Camera Collisions Sage Sceneodes have bounding volumes (B s) called their world bound B contains() method can be used to check for camera collisions: for (Sceneode s : getgameworld()) // getgameworld is inherited from BaseGame { if (s.getworldbound()! null) { if (s.getworldbound().contains(cameraloc)) { // do whatever should happen when camera hits an object; // e.g., mark object for removal from game and increment score 27 28

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

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

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

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

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

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

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Lecture L3 - Vectors, Matrices and Coordinate Transformations S. Widnall 16.07 Dynamics Fall 2009 Lecture notes based on J. Peraire Version 2.0 Lecture L3 - Vectors, Matrices and Coordinate Transformations By using vectors and defining appropriate operations between

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

Lecture 3: Coordinate Systems and Transformations

Lecture 3: Coordinate Systems and Transformations Lecture 3: Coordinate Systems and Transformations Topics: 1. Coordinate systems and frames 2. Change of frames 3. Affine transformations 4. Rotation, translation, scaling, and shear 5. Rotation about an

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

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi Geometry of Vectors Carlo Tomasi This note explores the geometric meaning of norm, inner product, orthogonality, and projection for vectors. For vectors in three-dimensional space, we also examine the

More information

Unified Lecture # 4 Vectors

Unified Lecture # 4 Vectors Fall 2005 Unified Lecture # 4 Vectors These notes were written by J. Peraire as a review of vectors for Dynamics 16.07. They have been adapted for Unified Engineering by R. Radovitzky. References [1] Feynmann,

More information

Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines

Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines Introduction to 2D and 3D Computer Graphics Mastering 2D & 3D Computer Graphics Pipelines CS447 3-1 Mastering 2D & 3D Graphics Overview of 2D & 3D Pipelines What are pipelines? What are the fundamental

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

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

Vector has a magnitude and a direction. Scalar has a magnitude

Vector has a magnitude and a direction. Scalar has a magnitude Vector has a magnitude and a direction Scalar has a magnitude Vector has a magnitude and a direction Scalar has a magnitude a brick on a table Vector has a magnitude and a direction Scalar has a magnitude

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

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

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

Geometric Camera Parameters

Geometric Camera Parameters Geometric Camera Parameters What assumptions have we made so far? -All equations we have derived for far are written in the camera reference frames. -These equations are valid only when: () all distances

More information

How To Teach Computer Graphics

How To Teach Computer Graphics Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Comp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems

Comp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems Comp 410/510 Computer Graphics Spring 2016 Introduction to Graphics Systems Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware (PC with graphics card)

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 2D and 3D Transformations Doug Bowman Adapted from notes by Yong Cao Virginia Tech 1 Transformations What are they? changing something to something else via rules mathematics:

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

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

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

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

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

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

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

More information

Lesson 10: Video-Out Interface

Lesson 10: Video-Out Interface Lesson 10: Video-Out Interface 1. Introduction The Altera University Program provides a number of hardware controllers, called cores, to control the Video Graphics Array (VGA) Digital-to-Analog Converter

More information

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

v w is orthogonal to both v and w. the three vectors v, w and v w form a right-handed set of vectors.

v w is orthogonal to both v and w. the three vectors v, w and v w form a right-handed set of vectors. 3. Cross product Definition 3.1. Let v and w be two vectors in R 3. The cross product of v and w, denoted v w, is the vector defined as follows: the length of v w is the area of the parallelogram with

More information

Lecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University

Lecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University COMP 557 Winter 2015 Lecture Notes Fundamentals of Computer Graphics Prof. Michael Langer School of Computer Science McGill University NOTE: These lecture notes are dynamic. The initial version of the

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

ex) What is the component form of the vector shown in the picture above?

ex) What is the component form of the vector shown in the picture above? Vectors A ector is a directed line segment, which has both a magnitude (length) and direction. A ector can be created using any two points in the plane, the direction of the ector is usually denoted by

More information

Cabri Geometry Application User Guide

Cabri Geometry Application User Guide Cabri Geometry Application User Guide Preview of Geometry... 2 Learning the Basics... 3 Managing File Operations... 12 Setting Application Preferences... 14 Selecting and Moving Objects... 17 Deleting

More information

Beginning Android 4. Games Development. Mario Zechner. Robert Green

Beginning Android 4. Games Development. Mario Zechner. Robert Green Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...

More information

v 1 v 3 u v = (( 1)4 (3)2, [1(4) ( 2)2], 1(3) ( 2)( 1)) = ( 10, 8, 1) (d) u (v w) = (u w)v (u v)w (Relationship between dot and cross product)

v 1 v 3 u v = (( 1)4 (3)2, [1(4) ( 2)2], 1(3) ( 2)( 1)) = ( 10, 8, 1) (d) u (v w) = (u w)v (u v)w (Relationship between dot and cross product) 0.1 Cross Product The dot product of two vectors is a scalar, a number in R. Next we will define the cross product of two vectors in 3-space. This time the outcome will be a vector in 3-space. Definition

More information

Figure 1.1 Vector A and Vector F

Figure 1.1 Vector A and Vector F CHAPTER I VECTOR QUANTITIES Quantities are anything which can be measured, and stated with number. Quantities in physics are divided into two types; scalar and vector quantities. Scalar quantities have

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

L20: GPU Architecture and Models

L20: GPU Architecture and Models L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

More information

3D Viewing. Chapter 7. Projections. 3D clipping. OpenGL viewing functions and clipping planes

3D Viewing. Chapter 7. Projections. 3D clipping. OpenGL viewing functions and clipping planes 3D Viewing Chapter 7 Projections 3D clipping OpenGL viewing functions and clipping planes 1 Projections Parallel Perspective Coordinates are transformed along parallel lines Relative sizes are preserved

More information

Chapter 17. Orthogonal Matrices and Symmetries of Space

Chapter 17. Orthogonal Matrices and Symmetries of Space Chapter 17. Orthogonal Matrices and Symmetries of Space Take a random matrix, say 1 3 A = 4 5 6, 7 8 9 and compare the lengths of e 1 and Ae 1. The vector e 1 has length 1, while Ae 1 = (1, 4, 7) has length

More information

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg

Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 16. Dezember 2013 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction

More information

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus Chapter 1 Matrices, Vectors, and Vector Calculus In this chapter, we will focus on the mathematical tools required for the course. The main concepts that will be covered are: Coordinate transformations

More information

Ultra-High Resolution Digital Mosaics

Ultra-High Resolution Digital Mosaics Ultra-High Resolution Digital Mosaics J. Brian Caldwell, Ph.D. Introduction Digital photography has become a widely accepted alternative to conventional film photography for many applications ranging from

More information

www.eazynotes.com Gursharan Singh Tatla Page No. 1 COMPUTER GRAPHICS (Short Answer type Questions)

www.eazynotes.com Gursharan Singh Tatla Page No. 1 COMPUTER GRAPHICS (Short Answer type Questions) www.eazynotes.com Gursharan Singh Tatla Page No. 1 COMPUTER GRAPHICS (Short Answer type Questions) Q 1. Can you give some basic features of computer graphics? Ans. The salient feature of computer graphics

More information

H.Calculating Normal Vectors

H.Calculating Normal Vectors Appendix H H.Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use the OpenGL lighting facility, which is described in Chapter

More information

MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool

MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool 1 CEIT 323 Lab Worksheet 1 MovieClip, Button, Graphic, Motion Tween, Classic Motion Tween, Shape Tween, Motion Guide, Masking, Bone Tool, 3D Tool Classic Motion Tween Classic tweens are an older way of

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: *Define object in local coordinates *Place object in world coordinates (modeling transformation)

More information

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

Section 1: How will you be tested? This section will give you information about the different types of examination papers that are available.

Section 1: How will you be tested? This section will give you information about the different types of examination papers that are available. REVISION CHECKLIST for IGCSE Mathematics 0580 A guide for students How to use this guide This guide describes what topics and skills you need to know for your IGCSE Mathematics examination. It will help

More information

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

4D Interactive Model Animations

4D Interactive Model Animations Animation Using 4D Interactive Models MVSand EVS-PRO have two distinctly different animation concepts. Our traditional animations consist of a sequence of bitmap images that have been encoded into an animation

More information

13 MATH FACTS 101. 2 a = 1. 7. The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

13 MATH FACTS 101. 2 a = 1. 7. The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions. 3 MATH FACTS 0 3 MATH FACTS 3. Vectors 3.. Definition We use the overhead arrow to denote a column vector, i.e., a linear segment with a direction. For example, in three-space, we write a vector in terms

More information

Mondays and Thursdays, 10:05-11:25, F24-406

Mondays and Thursdays, 10:05-11:25, F24-406 1 Game Development Lab Fall 2015 Copenhagen 3 Credit Course Major Disciplines: Computer Science, Mathematics, Design Faculty Member: Morten Nobel-Jørgensen, morten.nobel-jorgensen@dis.dk Program Director:

More information

Graphical displays are generally of two types: vector displays and raster displays. Vector displays

Graphical displays are generally of two types: vector displays and raster displays. Vector displays Display technology Graphical displays are generally of two types: vector displays and raster displays. Vector displays Vector displays generally display lines, specified by their endpoints. Vector display

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

3D Math Overview and 3D Graphics Foundations

3D Math Overview and 3D Graphics Foundations Freescale Semiconductor Application Note Document Number: AN4132 Rev. 0, 05/2010 3D Math Overview and 3D Graphics Foundations by Multimedia Applications Division Freescale Semiconductor, Inc. Austin, TX

More information

Pro/ENGINEER Wildfire 4.0 Basic Design

Pro/ENGINEER Wildfire 4.0 Basic Design Introduction Datum features are non-solid features used during the construction of other features. The most common datum features include planes, axes, coordinate systems, and curves. Datum features do

More information

Chapter 8 Geometry We will discuss following concepts in this chapter.

Chapter 8 Geometry We will discuss following concepts in this chapter. Mat College Mathematics Updated on Nov 5, 009 Chapter 8 Geometry We will discuss following concepts in this chapter. Two Dimensional Geometry: Straight lines (parallel and perpendicular), Rays, Angles

More information

28 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE. v x. u y v z u z v y u y u z. v y v z

28 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE. v x. u y v z u z v y u y u z. v y v z 28 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE 1.4 Cross Product 1.4.1 Definitions The cross product is the second multiplication operation between vectors we will study. The goal behind the definition

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

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,

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

Affine Transformations

Affine Transformations A P P E N D I X C Affine Transformations CONTENTS C The need for geometric transformations 335 C2 Affine transformations 336 C3 Matri representation of the linear transformations 338 C4 Homogeneous coordinates

More information

Architecture for Direct Model-to-Part CNC Manufacturing

Architecture for Direct Model-to-Part CNC Manufacturing Architecture for Direct Model-to-Part CNC Manufacturing Gilbert Poon, Paul J. Gray, Sanjeev Bedi Department of Mechanical Engineering, University of Waterloo Waterloo, Ontario, N2L 3G1, Canada and Daniel

More information

GeoGebra. 10 lessons. Gerrit Stols

GeoGebra. 10 lessons. Gerrit Stols GeoGebra in 10 lessons Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It was developed by Markus Hohenwarter

More information

How To Draw A Billiards Ball In Gta 3D With Texture Mapping (Gta 3) On A Computer Or 2D Or Gta 2D (Gt) On Your Computer Or Computer Or Your Computer (Or Your Computer)

How To Draw A Billiards Ball In Gta 3D With Texture Mapping (Gta 3) On A Computer Or 2D Or Gta 2D (Gt) On Your Computer Or Computer Or Your Computer (Or Your Computer) Pool Billiard An OpenGL-based billiard simulation Stefan HUBER Kamran SAFDAR Andreas SCHRÖCKER Fachbereich Computerwissenschaften Universität Salzburg June 10, 2009 S. Huber, K. Safdar, A. Schröcker: Pool

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

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

Computer Graphics Labs

Computer Graphics Labs Computer Graphics Labs Abel J. P. Gomes LAB. 2 Department of Computer Science and Engineering University of Beira Interior Portugal 2011 Copyright 2009-2011 All rights reserved. LAB. 2 1. Learning goals

More information

The following is an overview of lessons included in the tutorial.

The following is an overview of lessons included in the tutorial. Chapter 2 Tutorial Tutorial Introduction This tutorial is designed to introduce you to some of Surfer's basic features. After you have completed the tutorial, you should be able to begin creating your

More information

Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008

Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008 Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008 Video footage before compositing And after compositing with an animated character This tutorial is organized as small

More information

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

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

3D MODEL DRIVEN DISTANT ASSEMBLY

3D MODEL DRIVEN DISTANT ASSEMBLY 3D MODEL DRIVEN DISTANT ASSEMBLY Final report Bachelor Degree Project in Automation Spring term 2012 Carlos Gil Camacho Juan Cana Quijada Supervisor: Abdullah Mohammed Examiner: Lihui Wang 1 Executive

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

4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections

4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections 4BA6 - Topic 4 Dr. Steven Collins Chap. 5 3D Viewing and Projections References Computer graphics: principles & practice, Fole, vandam, Feiner, Hughes, S-LEN 5.644 M23*;-6 (has a good appendix on linear

More information

A Proposal for OpenEXR Color Management

A Proposal for OpenEXR Color Management A Proposal for OpenEXR Color Management Florian Kainz, Industrial Light & Magic Revision 5, 08/05/2004 Abstract We propose a practical color management scheme for the OpenEXR image file format as used

More information

mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene.

mouse (or the option key on Macintosh) and move the mouse. You should see that you are able to zoom into and out of the scene. A Ball in a Box 1 1 Overview VPython is a programming language that is easy to learn and is well suited to creating 3D interactive models of physical systems. VPython has three components that you will

More information

Solutions for Review Problems

Solutions for Review Problems olutions for Review Problems 1. Let be the triangle with vertices A (,, ), B (4,, 1) and C (,, 1). (a) Find the cosine of the angle BAC at vertex A. (b) Find the area of the triangle ABC. (c) Find a vector

More information

Geometry Notes PERIMETER AND AREA

Geometry Notes PERIMETER AND AREA Perimeter and Area Page 1 of 57 PERIMETER AND AREA Objectives: After completing this section, you should be able to do the following: Calculate the area of given geometric figures. Calculate the perimeter

More information

2-View Geometry. Mark Fiala Ryerson University Mark.fiala@ryerson.ca

2-View Geometry. Mark Fiala Ryerson University Mark.fiala@ryerson.ca CRV 2010 Tutorial Day 2-View Geometry Mark Fiala Ryerson University Mark.fiala@ryerson.ca 3-Vectors for image points and lines Mark Fiala 2010 2D Homogeneous Points Add 3 rd number to a 2D point on image

More information

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch. CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation

More information

Chapter 6 - The Scene Graph

Chapter 6 - The Scene Graph Chapter 6 - The Scene Graph Why a scene graph? What is stored in the scene graph? objects appearance camera lights Rendering with a scene graph Practical example 1 The 3D Rendering Pipeline (our version

More information

Geometric Modelling & Curves

Geometric Modelling & Curves Geometric Modelling & Curves Geometric Modeling Creating symbolic models of the physical world has long been a goal of mathematicians, scientists, engineers, etc. Recently technology has advanced sufficiently

More information

Scripting in Unity3D (vers. 4.2)

Scripting in Unity3D (vers. 4.2) AD41700 Computer Games Prof. Fabian Winkler Fall 2013 Scripting in Unity3D (vers. 4.2) The most basic concepts of scripting in Unity 3D are very well explained in Unity s Using Scripts tutorial: http://docs.unity3d.com/documentation/manual/scripting42.html

More information

Tutorial 9: Skeletal Animation

Tutorial 9: Skeletal Animation Tutorial 9: Skeletal Animation Summary In the last couple of tutorials, you ve seen how to create a scene graph, and implemented a simple animating cube robot using them. You re probably wondering how

More information

B4 Computational Geometry

B4 Computational Geometry 3CG 2006 / B4 Computational Geometry David Murray david.murray@eng.o.ac.uk www.robots.o.ac.uk/ dwm/courses/3cg Michaelmas 2006 3CG 2006 2 / Overview Computational geometry is concerned with the derivation

More information

OpenGL Performance Tuning

OpenGL Performance Tuning OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer

More information

Geometry for Computer Graphics

Geometry for Computer Graphics Computer Graphics and Visualisation Geometry for Computer Graphics Student Notes Developed by F Lin K Wyrwas J Irwin C Lilley W T Hewitt T L J Howard Computer Graphics Unit Manchester Computing Centre

More information

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview Matthew T. Mason Mechanics of Manipulation Today s outline Readings, etc. We are starting chapter 3 of the text Lots of stuff online on representing rotations Murray, Li, and Sastry for matrix exponential

More information