Recall: Function Calls to Create Transform Matrices

Size: px
Start display at page:

Download "Recall: Function Calls to Create Transform Matrices"

Transcription

1 Reall: Fntion Calls to Create Transform Matries Previosl made fntion alls to generate 44 matries for identit, translate, sale, rotate transforms Pt transform matri into CTM Eample mat4 m = Identit(; CTM Matri

2 Arbitrar Matries Can mltipl b matries from transformation ommands (Translate, Rotate, Sale into CTM Can also load arbitrar 44 matries into CTM Load into CTM Matri

3 Matri Staks CTM is atall not jst matri bt a matri STACK Mltiple matries in stak, rrent matri at top Can save transformation matries for se later (psh, pop E.g: Traversing hierarhial data strtres (Ch. 8 Pre 3. OpenGL also maintained matri staks Right now jst implement level CTM Matri stak later for hierarhial transforms

4 Reading Bak State Can also aess OpenGL variables (and other parts of the state b qer fntions glgetintegerv glgetfloatv glgetbooleanv glgetdoblev glisenabled Eample: to find ot maimm nmber of tetre nits glgetintegerv(gl_max_texture_units, &MaTetreUnits;

5 Using Transformations Eample: se idle fntion to rotate a be and mose fntion to hange diretion of rotation Start with program that draws be as before Centered at origin Sides aligned with aes

6 Reall: main. void main(int arg, har **argv { gltinit(&arg, argv; gltinitdisplamode(glut_double GLUT_RGB GLUT_DEPTH; gltinitwindowsie(5, 5; gltcreatewindow("olorbe"; gltreshapefn(mreshape; } gltdisplafn(displa; gltidlefn(spincbe; gltmosefn(mose; glenable(gl_depth_test; gltmainloop(; Calls spincbe ontinosl Whenever OpenGL program is idle

7 Reall: Idle and Mose allbaks void spincbe( { theta[ais] += 2.; if( theta[ais] > 36. theta[ais] -= 36.; gltpostredispla(; } void mose(int btton, int state, int, int { if(btton==glut_left_button && state == GLUT_DOWN ais = ; if(btton==glut_middle_button && state == GLUT_DOWN ais = ; if(btton==glut_right_button && state == GLUT_DOWN ais = 2; }

8 Displa allbak void displa( { glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT; tm = RotateX(theta[]*RotateY(theta[] *RotateZ(theta[2]; gluniformmatri4fv(matri_lo,,gl_true,tm; gldrawarras(gl_triangles,, N; gltswapbffers(; } Alternativel, we an send rotation angle +ais to verte shader, Let shader form CTM then do rotation Ineffiient: if mesh has, verties eah one forms CTM, redndant!!!!

9 Using the Model view Matri In OpenGL the model view matri sed to Transform 3D models (translate, sale, rotate Position amera (sing LookAt fntion (net The projetion matri sed to define view volme and selet a amera lens (later Althogh these matries no longer part of OpenGL, good to reate them in or appliations (as CTM

10 3D? Interfaes Major interative graphis problem: how to se 2D devies (e.g. mose to ontrol 3D objets Some alternatives Virtal trakball 3D inpt devies sh as the spaeball Use areas of the sreen Distane from enter ontrols angle, position, sale depending on mose btton depressed

11 Compter Graphis 473 Letre : Rotations and Matri Conatenation Prof Emmanel Ag Compter Siene Dept. Worester Poltehni Institte (WPI

12 Reall: 3D Translate Eample Eample: If we translate a point (2,2,2 b displaement (2,4,6, new loation of point is (4,6,8 objet Translation of objet Translate(2,4,6 Translation Matri Original point Translated point Translated : = 4 Translated : = 6 Translated : = 4

13 Reall: 3D Sale Eample If we sale a point (2,4,6 b saling fator (.5,.5,.5 Saled point position = (, 2, Sale Matri for Sale(.5,.5,.5 Saled : 2.5 = Saled : 4.5 = 2 Saled : 6.5 = 3 Saled point Original point

14 Nate Robbins Translate, Sale Rotate Demo

15 Rotating in 3D Man degrees of freedom. Rotate abot what ais? 3D rotation: abot a defined ais Different transform matri for: Rotation abot ais Rotation abot ais Rotation abot ais +

16 Rotating in 3D New terminolog X roll: rotation abot ais Y roll: rotation abot ais Z roll: rotation abot ais Whih wa is +ve rotation Look in ve diretion (into +ve arrow CCW is +ve rotation +

17 Rotating in 3D

18 Rotating in 3D For a rotation angle, abot an ais Define: os sin s s s R -roll or (RotateX

19 Rotating in 3D s s R -roll (or RotateY s s R -roll (or RotateZ Rles: Write in rotation row, olmn Write in the other rows/olmns Write,s in ret pattern

20 Eample: Rotating in 3D Qestion: Using -roll eqation, rotate P = (3,,4 b 3 degrees: Answer: = os(3 =.866, s = sin(3 =.5, and M m m m 2 3 m m m m m m m m m Line : s +. = = 4.6

21 3D Rotation Rotate(angle,,, : rotate b angle β abot an arbitrar ais (a vetor passing throgh origin and (,, Note: Anglar position of speified as aimth/longitde (Θ and latitde (φ (,, Origin P Q β

22 Approah : 3D Rotation Abot Arbitrar Ais Can ompose arbitrar rotation as ombination of: X roll (b an angle β Y roll (b an angle β 2 Z roll (b an angle β 3 M R ( 3 R ( 2 R ( Read in reverse order

23 Approah : 3D Rotation sing Eler Theorem Classi: se Eler s theorem Eler s theorem: an seqene of rotations = one rotation abot some ais Want to rotate abot arbitrar ais throgh origin Or approah:. Use two rotations to align and ais 2. Do roll throgh angle 3. Negate two previos rotations to de align and ais

24 Approah : 3D Rotation sing Eler Theorem Note: Anglar position of speified as aimth (Θ and latitde (φ First tr to align with ais

25 Approah : 3D Rotation sing Eler Theorem Step : Do roll to line p rotation ais with plane ( R Θ

26 Approah : 3D Rotation sing Eler Theorem Step 2: Do roll to line p rotation ais with ais R ( R ( φ

27 Approah : 3D Rotation sing Eler Theorem Remember: Or goal is to do rotation b β arond Bt ais is now lined p with ais. So, Step 3: Do roll b β arond ais R ( R ( R ( β

28 Approah : 3D Rotation sing Eler Theorem Net 2 steps are to retrn vetor to original position Step 4: Do roll in plane φ ( ( ( ( R R R R

29 Approah : 3D Rotation sing Eler Theorem Step 5: Do roll to retrn to original position Θ ( ( ( ( ( ( R R R R R R

30 Approah 2: Rotation sing Qaternions Etension of imaginar nmbers from 2 to 3 dimensions Reqires real and 3 imaginar omponents i, j, k q=q +q i+q 2 j+q 3 k Qaternions an epress rotations on sphere smoothl and effiientl

31 Approah 2: Rotation sing Qaternions Derivation skipped! Chek answer Soltion has lots of smmetr ( ( ( ( ( ( ( ( ( ( s s s s s s R os sin s Arbitrar ais

32 Inverse Matries Can ompte inverse matries b general formlas Bt some eas inverse transform observations Translation: T - (d, d, d = T( d, d, d Saling: S (s, s, s = S ( /s, /s, /s Rotation: R (q = R( q Holds for an rotation matri

33 Instaning Dring modeling, often start with simple objet entered at origin, aligned with ais, and nit sie Can delare one op of eah shape in sene E.g. delare mesh for soldier, 5 instanes to reate arm Then appl instane transformation to its verties to Sale Orient Loate

34 Referenes Angel and Shreiner, Chapter 3 Hill and Kelle, Compter Graphis Using OpenGL, 3 rd edition

Computer Graphics CS 543 Lecture 5 (Part 2) Implementing Transformations

Computer Graphics CS 543 Lecture 5 (Part 2) Implementing Transformations Computer Graphics CS 543 Lecture 5 (Part 2) Implementing Transformations Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Objectives Learn how to implement transformations

More information

Computer Graphics (CS 4731) Lecture 11: Implementing Transformations. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 4731) Lecture 11: Implementing Transformations. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 47) Lecture : Implementing Transformations Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Objectives Learn how to implement transformations in OpenGL

More information

Computer Graphics (CS 4731) Lecture 11: Implementing Transformations. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 4731) Lecture 11: Implementing Transformations. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 47) Lecture : Implementing Transformations Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Objectives Learn how to implement transformations in OpenGL

More information

CSCE 155N Spring Homework Assignment 3: Coordinates Transformation Tool 1. Assigned: February 15, 2013 Due: March 8, 2013

CSCE 155N Spring Homework Assignment 3: Coordinates Transformation Tool 1. Assigned: February 15, 2013 Due: March 8, 2013 CSCE N Spring 0 Homework Assignment : Coordinates Transformation Tool Assigned: Febrary 0 De: Marh 8 0 Note: This assignment is to be ompleted indiidally - ollaboration is stritly prohibited. Points: 00

More information

Control of industrial robots. Control with vision sensors

Control of industrial robots. Control with vision sensors Control of indstrial robots Control with ision sensors Prof. Paolo Roo (paolo.roo@polimi.it) Politenio di Milano Dipartimento di Elettronia Informazione e Bioingegneria Visal measrements Artifiial ision

More information

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Transformations. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Transformations CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive

More information

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations

Objectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous

More information

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship?

Transformations II. Arbitrary 3D Rotation. What is its inverse? What is its transpose? Can we constructively elucidate this relationship? Utah School of Computing Fall 25 Transformations II CS46 Computer Graphics From Rich Riesenfeld Fall 25 Arbitrar 3D Rotation What is its inverse? What is its transpose? Can we constructivel elucidate this

More information

10.2 Solving Quadratic Equations by Completing the Square

10.2 Solving Quadratic Equations by Completing the Square . Solving Qadratic Eqations b Completing the Sqare Consider the eqation We can see clearl that the soltions are However, What if the eqation was given to s in standard form, that is 6 How wold we go abot

More information

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner GLOBAL EDITION Interactive Computer Graphics A Top-Down Approach with WebGL SEVENTH EDITION Edward Angel Dave Shreiner This page is intentionall left blank. 4.10 Concatenation of Transformations 219 in

More information

CSCE 155N Fall Homework Assignment 3: Coordinates Transformation Tool 1. Assigned: September 29, 2016 Due: October 20, 2016

CSCE 155N Fall Homework Assignment 3: Coordinates Transformation Tool 1. Assigned: September 29, 2016 Due: October 20, 2016 CSCE N Fall 0 Homework Assignment : Coordinates Transformation Tool Assigned: September 9 0 De: Otober 0 0 Note: This assignment is to be ompleted in grops of or Points: 00 points Objeties Memo To: The

More information

CS 543: Computer Graphics. 3D Transformations

CS 543: Computer Graphics. 3D Transformations CS 543: Coputer Graphics 3D Transforations Robert W. Lindean Associate Professor Interactive Media Gae Developent Departent of Coputer Science Worcester Poltechnic Institute gogo@wpi.edu (with lots of

More information

CS 450: COMPUTER GRAPHICS REVIEW: CLIPPING SPRING 2015 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS REVIEW: CLIPPING SPRING 2015 DR. MICHAEL J. REALE CS 45: COMPUTER GRAPHICS REVIEW: CLIPPING SPRING 215 DR. MICHAEL J. REALE CLIPPING Clipping = removing part or all of the primitives otside of the clipping volme/window Clipping volme in OpenGL nit cbe

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

CS 543: Computer Graphics Lecture 4 (Part I): 3D Affine transforms. Emmanuel Agu

CS 543: Computer Graphics Lecture 4 (Part I): 3D Affine transforms. Emmanuel Agu CS 543: Coputer Graphics Lecture 4 (Part I): 3D Affine transfors Eanuel Agu Introduction to Transforations Introduce 3D affine transforation: Position (translation) Sie (scaling) Orientation (rotation)

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

To Do. Course Outline. Course Outline. Goals. Motivation. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 3: Transformations 1

To Do. Course Outline. Course Outline. Goals. Motivation. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 3: Transformations 1 Fondations of Compter Graphics (Fall 212) CS 184, Lectre 3: Transformations 1 http://inst.eecs.berkele.ed/~cs184 Sbmit HW b To Do Start looking at HW 1 (simple, bt need to think) Ais-angle rotation and

More information

CSCI-4972/6963 Advanced Computer Graphics

CSCI-4972/6963 Advanced Computer Graphics Luo Jr. CSCI-497/696 Advaned Computer Graphis http://www.s.rpi.edu/~utler/lasses/advanedgraphis/s8/ Professor Barb Cutler utler@s.rpi.edu MRC 9A Piar Animation Studios, 986 Topis for the Semester Mesh

More information

What and Why Transformations?

What and Why Transformations? 2D transformations What and Wh Transformations? What? : The geometrical changes of an object from a current state to modified state. Changing an object s position (translation), orientation (rotation)

More information

Computer Graphics (CS 543) Lecture 4a: Introduction to Transformations

Computer Graphics (CS 543) Lecture 4a: Introduction to Transformations Coputer Graphics (CS 543) Lecture 4a: Introduction to Transforations Prof Eanuel Agu Coputer Science Dept. Worcester Polytechnic Institute (WPI) Hidden-Surface Reoval If ultiple surfaces overlap, we want

More information

CS D Transformation. Junqiao Zhao 赵君峤

CS D Transformation. Junqiao Zhao 赵君峤 CS10101001 3D Transformation Junqiao Zhao 赵君峤 Department of Computer Science and Technology College of Electronics and Information Engineering Tongji University Review Translation Linear transformation

More information

What does OpenGL do?

What does OpenGL do? Theor behind Geometrical Transform What does OpenGL do? So the user specifies a lot of information Ee Center Up Near, far, UP EE Left, right top, bottom, etc. f b CENTER left right top bottom What does

More information

Order of Transformations

Order of Transformations Order of Transformations Because the same transformation is applied to many vertices, the cost of forming a matrix M=ABCD is not significant compared to the cost of computing Mp for many vertices p Note

More information

Modeling Transformations Revisited

Modeling Transformations Revisited Modeling Transformations Revisited Basic 3D Transformations Translation Scale Shear Rotation 3D Transformations Same idea as 2D transformations o Homogeneous coordinates: (,,z,w) o 44 transformation matrices

More information

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

More information

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Theor, Algorithms, and Applications Hong in State Universit of New York at Ston Brook (Ston Brook Universit) Ston Brook, New York 794-44 Tel: (63)632-845; Fa:

More information

Projections. Let us start with projections in 2D, because there are easier to visualize.

Projections. Let us start with projections in 2D, because there are easier to visualize. Projetions Let us start ith projetions in D, beause there are easier to visualie. Projetion parallel to the -ais: Ever point in the -plane ith oordinates (, ) ill be transformed into the point ith oordinates

More information

4. Two Dimensional Transformations

4. Two Dimensional Transformations 4. Two Dimensional Transformations CS362 Introduction to Computer Graphics Helena Wong, 2 In man applications, changes in orientations, sizes, and shapes are accomplished with geometric transformations

More information

High Dimensional Rendering in OpenGL

High Dimensional Rendering in OpenGL High Dimensional Rendering in OpenGL Josh McCo December, 2003 Description of Project Adding high dimensional rendering capabilit to the OpenGL graphics programming environment is the goal of this project

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico WebGL Transformations

More information

CS 251, Winter 2019, Assignment % of course mark

CS 251, Winter 2019, Assignment % of course mark CS 25, Winter 29, Assignment.. 3% of corse mark De Wednesday, arch 3th, 5:3P Lates accepted ntil Thrsday arch th, pm with a 5% penalty. (7 points) In the diagram below, the mlticycle compter from the corse

More information

Curves and Surfaces. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Curves and Surfaces. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Crves and Srfaces CS 57 Interactive Compter Graphics Prof. David E. Breen Department of Compter Science E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Objectives Introdce types

More information

IMGD The Game Development Process: 3D Modeling and Transformations

IMGD The Game Development Process: 3D Modeling and Transformations IMGD - The Game Development Process: 3D Modeling and Transformations b Robert W. Lindeman (gogo@wpi.edu Kent Quirk (kent_quirk@cognito.com (with lots of input from Mark Clapool! Overview of 3D Modeling

More information

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 424 Compter Graphics Crves and Srfaces Yong Cao Virginia Tech Reference: Ed Angle, Interactive Compter Graphics, University of New Mexico, class notes Crve and Srface Modeling Objectives Introdce types

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical descriptions of geometric changes,

More information

Motivation. General Idea. Goals. (Nonuniform) Scale. Outline. Foundations of Computer Graphics. s x Scale(s x. ,s y. 0 s y. 0 0 s z.

Motivation. General Idea. Goals. (Nonuniform) Scale. Outline. Foundations of Computer Graphics. s x Scale(s x. ,s y. 0 s y. 0 0 s z. Fondations of Compter Graphics Online Lectre 3: Transformations 1 Basic 2D Transforms Motivation Man different coordinate sstems in graphics World, model, bod, arms, To relate them, we mst transform between

More information

Computer Graphics. Geometric Transformations

Computer Graphics. Geometric Transformations Computer Graphics Geometric Transformations Contents coordinate sstems scalar values, points, vectors, matrices right-handed and left-handed coordinate sstems mathematical foundations transformations mathematical

More information

ANNALS of Faculty Engineering Hunedoara International Journal of Engineering

ANNALS of Faculty Engineering Hunedoara International Journal of Engineering ANNALS of Falt Engineering Hnedoara International Jornal of Engineering Tome XIII [15] Fasile 4 [Noember] ISSN: 1584-673 [CD-Rom; online] a free-aess mltidisiplinar pbliation of the Falt of Engineering

More information

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University

Computer Graphics. P04 Transformations. Aleksandra Pizurica Ghent University Computer Graphics P4 Transformations Aleksandra Pizurica Ghent Universit Telecommunications and Information Processing Image Processing and Interpretation Group Transformations in computer graphics Goal:

More information

A sufficient condition for spiral cone beam long object imaging via backprojection

A sufficient condition for spiral cone beam long object imaging via backprojection A sfficient condition for spiral cone beam long object imaging via backprojection K. C. Tam Siemens Corporate Research, Inc., Princeton, NJ, USA Abstract The response of a point object in cone beam spiral

More information

Homogeneous Coordinates

Homogeneous Coordinates COMS W4172 3D Math 2 Steven Feiner Department of Computer Science Columbia Universit New York, NY 127 www.cs.columbia.edu/graphics/courses/csw4172 Februar 1, 218 1 Homogeneous Coordinates w X W Y X W Y

More information

Computer Graphics (CS 543) Lecture 6a: Viewing & Camera Control. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 543) Lecture 6a: Viewing & Camera Control. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 543) Lecture 6a: Viewing & Camera Control Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) 3D Viewing? Specify a view volume Objects inside view volume

More information

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim Application of Propositional Logic - How to Solve Sdok? Moonzoo Kim SAT Basics (/2) SAT = Satisfiability = Propositional Satisfiability Propositional Formla NP-Complete problem We can se SAT solver for

More information

Three Lorentz Transformations. Considering Two Rotations

Three Lorentz Transformations. Considering Two Rotations Ad. Stdies Theor. Phs., Vol. 6,, no., 9 Three orentz Transformations Considering To otations Mkl Chandra Das* Singhania Uniersit, ajasthan, India mkldas.@gmail.om ampada Misra Department of eletronis,

More information

Picking and Curves Week 6

Picking and Curves Week 6 CS 48/68 INTERACTIVE COMPUTER GRAPHICS Picking and Crves Week 6 David Breen Department of Compter Science Drexel University Based on material from Ed Angel, University of New Mexico Objectives Picking

More information

CS Computer Graphics: Transformations & The Synthetic Camera

CS Computer Graphics: Transformations & The Synthetic Camera CS 543 - Computer Graphics: Transformations The Snthetic Camera b Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) Introduction to Transformations A transformation changes an objects Size

More information

1. We ll look at: Types of geometrical transformation. Vector and matrix representations

1. We ll look at: Types of geometrical transformation. Vector and matrix representations Tob Howard COMP272 Computer Graphics and Image Processing 3: Transformations Tob.Howard@manchester.ac.uk Introduction We ll look at: Tpes of geometrical transformation Vector and matri representations

More information

CSC 470 Computer Graphics

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

More information

Using Singular Value Decomposition to Compare Correlated Modal Vectors

Using Singular Value Decomposition to Compare Correlated Modal Vectors Using Singlar Vale Deomposition to Compare Correlated Modal Vetors James P. DeClerk Noise and Vibration Center General Motors North Amerian Operations Milford, Mihigan USA ABSTRACT A tool is needed to

More information

CS 153 Design of Operating Systems Spring 18

CS 153 Design of Operating Systems Spring 18 CS 153 Design of Operating Systems Spring 18 Lectre 15: Virtal Address Space Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian OS Abstractions Applications

More information

CS452/552; EE465/505. Transformations

CS452/552; EE465/505. Transformations CS452/552; EE465/55 Transformations 1-29-15 Outline! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Helpful links: Linear Algebra: Khan Academy Lab1 is posted on github, due:

More information

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim

Application of Propositional Logic - How to Solve Sudoku? Moonzoo Kim Application of Propositional Logic - How to Solve Sdok? Moonzoo Kim SAT Basics (/3) SAT = Satisfiability = Propositional Satisfiability Propositional Formla P-Complete problem We can se SAT solver for

More information

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu

CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection. Emmanuel Agu CS 4731/543: Computer Graphics Lecture 5 (Part I): Projection Emmanuel Agu 3D Viewing and View Volume Recall: 3D viewing set up Projection Transformation View volume can have different shapes (different

More information

An Event Display for ATLAS H8 Pixel Test Beam Data

An Event Display for ATLAS H8 Pixel Test Beam Data An Event Display for ATLAS H8 Pixel Test Beam Data George Gollin Centre de Physique des Partiules de Marseille and University of Illinois April 17, 1999 g-gollin@uiu.edu An event display program is now

More information

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing

To Do. Demo (Projection Tutorial) Motivation. What we ve seen so far. Outline. Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 5: Viewing Foundations of Computer Graphics (Fall 0) CS 84, Lecture 5: Viewing http://inst.eecs.berkele.edu/~cs84 To Do Questions/concerns about assignment? Remember it is due Sep. Ask me or TAs re problems Motivation

More information

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates

(x, y) (ρ, θ) ρ θ. Polar Coordinates. Cartesian Coordinates Coordinate Sstems Point Representation in two dimensions Cartesian Coordinates: (; ) Polar Coordinates: (; ) (, ) ρ θ (ρ, θ) Cartesian Coordinates Polar Coordinates p = CPS1, 9: Computer Graphics D Geometric

More information

Scene Graphs & Modeling Transformations COS 426

Scene Graphs & Modeling Transformations COS 426 Scene Graphs & Modeling Transformations COS 426 3D Object Representations Points Range image Point cloud Surfaces Polgonal mesh Subdivision Parametric Implicit Solids Voels BSP tree CSG Sweep High-level

More information

Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2)

Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2) Computer Graphics CS 543 Lecture 4 (Part 2) Building 3D Models (Part 2) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Modeling a Cube In 3D, declare vertices as (x,y,z)

More information

Transformations. Standard Transformations. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel

Transformations. Standard Transformations. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Transformations David Carr Virtual Environments, Fundamentals Spring 25 Based on Slides by E. Angel Jan-27-5 SMM9, Transformations 1 L Overview

More information

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction

TDT4255 Friday the 21st of October. Real world examples of pipelining? How does pipelining influence instruction Review Friday the 2st of October Real world eamples of pipelining? How does pipelining pp inflence instrction latency? How does pipelining inflence instrction throghpt? What are the three types of hazard

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL 1 Introduction to Computer Graphics with WebGL Ed Angel Transformations General Transformations A transformation maps points to other points and/or vectors to other vectors v=t(u) Q=T(P) 2 Affine Transformations

More information

Chap 7, 2009 Spring Yeong Gil Shin

Chap 7, 2009 Spring Yeong Gil Shin Three-Dimensional i Viewingi Chap 7, 29 Spring Yeong Gil Shin Viewing i Pipeline H d fi i d? How to define a window? How to project onto the window? Rendering "Create a picture (in a snthetic camera) Specification

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION

EXAMINATIONS 2010 END OF YEAR NWEN 242 COMPUTER ORGANIZATION EXAINATIONS 2010 END OF YEAR COPUTER ORGANIZATION Time Allowed: 3 Hors (180 mintes) Instrctions: Answer all qestions. ake sre yor answers are clear and to the point. Calclators and paper foreign langage

More information

Object Pose from a Single Image

Object Pose from a Single Image Object Pose from a Single Image How Do We See Objects in Depth? Stereo Use differences between images in or left and right eye How mch is this difference for a car at 00 m? Moe or head sideways Or, the

More information

Recall: Indexing into Cube Map

Recall: Indexing into Cube Map Recall: Indexing into Cube Map Compute R = 2(N V)N-V Object at origin Use largest magnitude component of R to determine face of cube Other 2 components give texture coordinates V R Cube Map Layout Example

More information

Introduction to Seismology Spring 2008

Introduction to Seismology Spring 2008 MIT OpenCourseWare http://ow.mit.edu 1.510 Introdution to Seismology Spring 008 For information about iting these materials or our Terms of Use, visit: http://ow.mit.edu/terms. 1.510 Leture Notes 3.3.007

More information

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics

Motivation. What we ve seen so far. Demo (Projection Tutorial) Outline. Projections. Foundations of Computer Graphics Foundations of Computer Graphics Online Lecture 5: Viewing Orthographic Projection Ravi Ramamoorthi Motivation We have seen transforms (between coord sstems) But all that is in 3D We still need to make

More information

Transformations II. Week 2, Wed Jan 17

Transformations II. Week 2, Wed Jan 17 Universit of British Columbia CPSC 34 Computer Graphics Jan-Apr 27 Tamara Munzner Transformations II Week 2, Wed Jan 7 http://www.ugrad.cs.ubc.ca/~cs34/vjan27 Readings for Jan 5-22 FCG Chap 6 Transformation

More information

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline

To Do. Motivation. Demo (Projection Tutorial) What we ve seen so far. Computer Graphics. Summary: The Whole Viewing Pipeline Computer Graphics CSE 67 [Win 9], Lecture 5: Viewing Ravi Ramamoorthi http://viscomp.ucsd.edu/classes/cse67/wi9 To Do Questions/concerns about assignment? Remember it is due tomorrow! (Jan 6). Ask me or

More information

6. Modelview Transformations

6. Modelview Transformations 6. Modelview Transformations Transformation Basics Transformations map coordinates from one frame of reference to another through matri multiplications Basic transformation operations include: - translation

More information

The extra single-cycle adders

The extra single-cycle adders lticycle Datapath As an added bons, we can eliminate some of the etra hardware from the single-cycle path. We will restrict orselves to sing each fnctional nit once per cycle, jst like before. Bt since

More information

More on Transformations. COS 426, Spring 2019 Princeton University

More on Transformations. COS 426, Spring 2019 Princeton University More on Transformations COS 426, Spring 2019 Princeton Universit Agenda Grab-bag of topics related to transformations: General rotations! Euler angles! Rodrigues s rotation formula Maintaining camera transformations!

More information

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 4: Three Dimensions

Comp 410/510 Computer Graphics Spring Programming with OpenGL Part 4: Three Dimensions Comp 410/510 Computer Graphics Spring 2018 Programming with OpenGL Part 4: Three Dimensions Objectives Develop a bit more sophisticated three-dimensional example - Rotating cube Introduce hidden-surface

More information

POWER-OF-2 BOUNDARIES

POWER-OF-2 BOUNDARIES Warren.3.fm Page 5 Monday, Jne 17, 5:6 PM CHAPTER 3 POWER-OF- BOUNDARIES 3 1 Ronding Up/Down to a Mltiple of a Known Power of Ronding an nsigned integer down to, for eample, the net smaller mltiple of

More information

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37.

STRAND I: Geometry and Trigonometry. UNIT 37 Further Transformations: Student Text Contents. Section Reflections. 37. MEP Jamaica: STRN I UNIT 7 Further Transformations: Student Tet ontents STRN I: Geometr and Trigonometr Unit 7 Further Transformations Student Tet ontents Section 7. Reflections 7. Rotations 7. Translations

More information

Modeling Transformations

Modeling Transformations שיעור 3 גרפיקה ממוחשבת תשס"ח ב ליאור שפירא Modeling Transformations Heavil based on: Thomas Funkhouser Princeton Universit CS 426, Fall 2 Modeling Transformations Specif transformations for objects Allows

More information

Image Warping. Some slides from Steve Seitz

Image Warping.   Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 26 Image Warping image filtering: change range of image g() T(f()) f T f image

More information

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices

Uses of Transformations. 2D transformations Homogeneous coordinates. Transformations. Transformations. Transformations. Transformations and matrices Uses of Transformations 2D transformations Homogeneous coordinates odeling: position and resie parts of a comple model; Viewing: define and position the virtual camera Animation: define how objects move/change

More information

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read.

The final datapath. M u x. Add. 4 Add. Shift left 2. PCSrc. RegWrite. MemToR. MemWrite. Read data 1 I [25-21] Instruction. Read. register 1 Read. The final path PC 4 Add Reg Shift left 2 Add PCSrc Instrction [3-] Instrction I [25-2] I [2-6] I [5 - ] register register 2 register 2 Registers ALU Zero Reslt ALUOp em Data emtor RegDst ALUSrc em I [5

More information

CS 251, Winter 2018, Assignment % of course mark

CS 251, Winter 2018, Assignment % of course mark CS 25, Winter 28, Assignment 4.. 3% of corse mark De Wednesday, arch 7th, 4:3P Lates accepted ntil Thrsday arch 8th, am with a 5% penalty. (6 points) In the diagram below, the mlticycle compter from the

More information

SCREEN LAYOUT AND HANDLING

SCREEN LAYOUT AND HANDLING Sreen layout & handling SCREEN LAYOUT AND HANDLING Generally, 7-1 Keyboard shortuts, 7-3 Keyboard Must Know, 7-5 Generally It is not intended that the manual or on-line Help should replae knowledge of

More information

Scheduling Contract Algorithms on Multiple Processors

Scheduling Contract Algorithms on Multiple Processors Shedling Contrat Algorithms on Mltiple Proessors Daniel S. Bernstein, Theodore J. Perkins, Shlomo Zilberstein Department of Compter Siene University of Massahsetts Amherst, MA 0100 bern,perkins,zilberstein

More information

Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3

Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3 Reursion eamples: Problem 2 (More) Reursion and s Reursive funtion to reverse a string publi String revstring(string str) { if(str.equals( )) return str; return revstring(str.substring(1, str.length()))

More information

Special Relativistic (Flight-)Simulator

Special Relativistic (Flight-)Simulator Speial Relativisti (Flight-)Simulator Anton Tsoulos and Wolfgang Knopki Abstrat With speial relativisti visualisation it is possible to experiene and simulate relativisti effets whih our when traveling

More information

CS 335 Graphics and Multimedia. Geometric Warping

CS 335 Graphics and Multimedia. Geometric Warping CS 335 Graphics and Multimedia Geometric Warping Geometric Image Operations Eample transformations Straightforward methods and their problems The affine transformation Transformation algorithms: Forward

More information

STRAND J: TRANSFORMATIONS, VECTORS and MATRICES

STRAND J: TRANSFORMATIONS, VECTORS and MATRICES Mathematics SKE, Strand J UNIT J Further Transformations: Tet STRND J: TRNSFORMTIONS, VETORS and MTRIES J Further Transformations Tet ontents Section J.1 Translations * J. ombined Transformations Mathematics

More information

Viewing. Cliff Lindsay, Ph.D. WPI

Viewing. Cliff Lindsay, Ph.D. WPI Viewing Cliff Lindsa, Ph.D. WPI Building Virtual Camera Pipeline l Used To View Virtual Scene l First Half of Rendering Pipeline Related To Camera l Takes Geometr From ApplicaHon To RasteriaHon Stages

More information

The single-cycle design from last time

The single-cycle design from last time lticycle path Last time we saw a single-cycle path and control nit for or simple IPS-based instrction set. A mlticycle processor fies some shortcomings in the single-cycle CPU. Faster instrctions are not

More information

Chapter 6: Pipelining

Chapter 6: Pipelining CSE 322 COPUTER ARCHITECTURE II Chapter 6: Pipelining Chapter 6: Pipelining Febrary 10, 2000 1 Clothes Washing CSE 322 COPUTER ARCHITECTURE II The Assembly Line Accmlate dirty clothes in hamper Place in

More information

Orientation of the coordinate system

Orientation of the coordinate system Orientation of the oordinate system Right-handed oordinate system: -axis by a positive, around the -axis. The -axis is mapped to the i.e., antilokwise, rotation of The -axis is mapped to the -axis by a

More information

Modeling Transformations

Modeling Transformations Transformations Transformations Specif transformations for objects o Allos definitions of objects in on coordinate sstems o Allos use of object definition multiple times in a scene Adam Finkelstein Princeton

More information

Review Multicycle: What is Happening. Controlling The Multicycle Design

Review Multicycle: What is Happening. Controlling The Multicycle Design Review lticycle: What is Happening Reslt Zero Op SrcA SrcB Registers Reg Address emory em Data Sign etend Shift left Sorce A B Ot [-6] [5-] [-6] [5-] [5-] Instrction emory IR RegDst emtoreg IorD em em

More information

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics

CMSC 425: Lecture 10 Basics of Skeletal Animation and Kinematics : Lecture Basics of Skeletal Animation and Kinematics Reading: Chapt of Gregor, Game Engine Architecture. The material on kinematics is a simplification of similar concepts developed in the field of robotics,

More information

Math 26: Fall (part 1) The Unit Circle: Cosine and Sine (Evaluating Cosine and Sine, and The Pythagorean Identity)

Math 26: Fall (part 1) The Unit Circle: Cosine and Sine (Evaluating Cosine and Sine, and The Pythagorean Identity) Math : Fall 0 0. (part ) The Unit Circle: Cosine and Sine (Evaluating Cosine and Sine, and The Pthagorean Identit) Cosine and Sine Angle θ standard position, P denotes point where the terminal side of

More information

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1]

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D A vector is specified b its coordinates, so it is defined relative to a reference frame. The same vector will have different coordinates in

More information

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz

Image Warping : Computational Photography Alexei Efros, CMU, Fall Some slides from Steve Seitz Image Warping http://www.jeffre-martin.com Some slides from Steve Seitz 5-463: Computational Photograph Aleei Efros, CMU, Fall 2 Image Transformations image filtering: change range of image g() T(f())

More information

An Effective Hardware Architecture for Bump Mapping Using Angular Operation

An Effective Hardware Architecture for Bump Mapping Using Angular Operation Graphis Hardware (2003) M. Doggett W. Heidrih W. Mark. Shilling (Editors) n Effetive Hardware rhiteture for Bump Mapping Using ngular peration S. G. Lee W. C. Park W. J. Lee T. D. Han and S. B. Yang Department

More information

Topic 7: Transformations. General Transformations. Affine Transformations. Introduce standard transformations

Topic 7: Transformations. General Transformations. Affine Transformations. Introduce standard transformations Tpic 7: Transfrmatins CITS33 Graphics & Animatin E. Angel and D. Shreiner: Interactive Cmputer Graphics 6E Addisn-Wesle 22 Objectives Intrduce standard transfrmatins Rtatin Translatin Scaling Shear Derive

More information

Modeling Transform. Chapter 4 Geometric Transformations. Overview. Instancing. Specify transformation for objects 李同益

Modeling Transform. Chapter 4 Geometric Transformations. Overview. Instancing. Specify transformation for objects 李同益 Modeling Transform Chapter 4 Geometric Transformations 李同益 Specify transformation for objects Allow definitions of objects in own coordinate systems Allow use of object definition multiple times in a scene

More information