Image Metamorphosis By Affine Transformations

Size: px
Start display at page:

Download "Image Metamorphosis By Affine Transformations"

Transcription

1 Image Metamorphosis B Affine Transformations Tim Mers and Peter Spiegel December 16, 2005 Abstract Among the man was to manipulate an image is a technique known as morphing. Image morphing is a special effect that transforms or morphs one image into another. In this paper we show how this can be done using affine transformations. Introduction Traditionall morphing would involve cross-fading the images. That is, the first image would be displaed and then would begin to fade out while the second image is fading in simultaneousl. The end result would be that of the second image. Since the earl 1990 s, however, this technique has become almost obsolete. Man new techniques for image morphing can produce more realistic looking results than the old cross-fading technique did. Affine transformations is an ecellent eample of one of the new techniques. Page 1 of 32

2 (a) begin (b) halfwa (c) end Figure 1: Morph b Affine Transformations Page 2 of 32 Objective Using affine transformations, the begin image and end image would be triangulated similarl and each triangle from the begin image would be transformed into the corresponding triangle in the end image through matri multiplication. The color densit would then be mapped to its new value. After the image is successfull warped from the begin image to the end image the steps are reversed

3 and a weighted average of each frame is taken to get a more realistic result for each transition frame of the image. The result is a smooth transition that can be shown frame b frame. This approach provides an advantage over man other morphing routines in that each frame of the morph produces a realistic looking image. Triangulation The images are divided up b selecting verte points in each image. In our program the verte points are free to be chosen b the user with a simple mouse click. The program assumes the four corners of each image are chosen and the number of verte points can be easil modified to accommodate a large number of triangles. We begin b sending the verte points in the begin image into Matlab s built-in command delauna to obtain a triangulation of the image. We then use the same triangulation on the end image to form similar triangles. When the whole picture is broken up into triangles each triangle can be dealt with individuall. To keep things as simple as possible, we will eplain the process for one triangle. Let us begin b describing a simple warp of a triangle in R 2. Let v 1, v 2, and v 3 be the vertices of a given triangle. We impose the restriction that the verte points be noncollinear. We will refer to this triangle as the begin-triangle (Figure 2a). Let us now establish a second triangle with vertices w 1, w 2, and w 3 which we will call the end-triangle (Figure 2b). We need to map each verte point in the begin-triangle to its new location in the end-triangle, where v 1 w 1,v 2 w 2, and v 3 w 3. This can be done easil using linear transformations. Page 3 of 32

4 v 2 w 1 w 2 v 1 v w v 3 w 3 (a) begin triangle (b) end triangle Figure 2: Verte Point Displacement However, because we need to obtain several frames between the begin and end images we chose to map the verte points along a straight line path. This method clearl defines the location of each point at each frame. We need to find the location at certain times t between 0 and 1, where 0 is the position in the begin image and 1 is the position in the end image. For each verte point v i w i where {i = 1, 2, 3} the location can be found b u i (t) = (1 t)v i + tw i. Page 4 of 32 Once the verte positions of a given triangle are known, for each individual

5 frame of the image, we can transform the shape of the triangle using a linear transformation. The product of a 2-b-2 matri and a vector in R 2 can ield ver desirable results for transforming triangles. This 2-b-2 matri we will refer to as the standard matri. If the standard matri is [ ] a b A =, c d then T ([ ]) = [ ] [ ] a b = c d [ ] a + b. c + d There is a number of different effects these linear operations can produce, namel, reflections, rotations, compressions, epansions and shears. When discussing the different tpes of operations we will observe the effect of each on the unit-square (Figure 3). Note that the standard matri multiplies ever vector in the square. Therefore it changes the shape of the square. Reflections and rotations are two of the effects a standard matri can have on a vector (Figure 4). The matri [ ] 1 0 A = 0 1 Page 5 of 32

6 Figure 3: Unit Square creates a reflection about the -ais (Figure 4a), whereas the matri [ ] cos(θ) sin(θ) A = sin(θ) cos(θ) creates a rotation of θ about the origin (Figure 4b). If the -coordinate of a vector is multiplied b k, where k > 1, we obtain an epansion in the -direction (Figure 5a). If the -coordinate is multiplied, the epansion is in the -direction. In these cases the standard matrices are A = [ ] k [ ] 1 0 and A =, 0 k respectivel. If 0 < k < 1 the result is a compression on the vectors (Figure 5b). Page 6 of 32

7 (a) reflection about the -ais (b) rotation b π/6 Figure 4: Reflection and Rotation Page 7 of 32 (a) epansion Figure 5: Epansion and Compression (b) compression

8 (a) shear in the -direction (b) shear in the -direction Figure 6: Shears A shear in the -direction is defined as a transformation that moves each point (, ) parallel to the -ais b an amount k to the new position (+k, ). This means that the further points get from the -ais, the further the get moved in the -direction (Figure 6a). A shear in the -direction moves each point (, ) parallel to the -ais b an amount k to the new position (, +k) (Figure 6b). The standard matrices for these operations are A = [ 1 0 k 1 ] and A = [ 1 k 0 1 B using the product of multiple standard matrices we can obtain more comple transformations. For eample, to transform the unit square into the ]. Page 8 of 32

9 shape shown in (Figure 7c) we would use the standard matri [ ] 0 2 A 1 =, 1 2 which is the product of three linear operations. This can be broken down into elementar steps b calculating a shear in the -direction (Figure 7a) with [ ] 1 2 A =, 0 1 an epansion in the -direction (Figure 7b) with [ ] 1 0 A 2 =, 0 2 and a reflection across the line = (Figure 7c) with [ ] 0 1 A 3 =. 1 0 The final result is the same whether we perform three calculations or a single one with the matri A =A 3 A 2 A 1 [ ] [ ] [ ] A = [ ] 0 2 A =. 1 2 Page 9 of 32

10 (a) shear in the -direction (b) epansion in the - direction Figure 7: Combination of Basic Linear Operations (c) reflection about the line = Page 10 of 32

11 There are a variet of different was the shape of the unit square can be changed through matri multiplication. In the program we calculate triangles instead of squares, but this is not a problem because the vectors we are multipling are indices into each triangle on a point b point basis. Each point is represented b a vector in R 2. This means that an point not bound b the enclosing triangle is ecluded from the calculation. Another thing to notice is that each one of these operations can be reversed. The standard matrices are all invertible, with the eception of the zero matri which shrinks everthing down to a point in the origin, and projection matrices that flatten everthing onto a line. In order to reverse the operation we need to multipl b the inverse of the standard matri that was used and we are back to what we started with (note A 1 A = I ). Affine Transformations To get all the indices of the piels in the end triangle, we need to perform an affine transformation. In other words, multipl all the indices b a standard matri that performs a linear operation on each of the coordinate points in the begin triangle then add a vector b to the new points. Let v represent an coordinate point in our begin triangle and w the corresponding point in the end triangle, then w = Mv + b. Page 11 of 32

12 v 2 w 1 w 2 v 1 v w v 3 w 3 (a) begin triangle (b) end triangle It can be shown that Figure 8: Verte Point Displacement v v 3 =c 1 (v 1 v 3 ) + c 2 (v 2 v 3 ) (1) v =c 1 v 1 c 1 v 3 + c 2 v 2 c 2 v 3 + v 3 (2) =c 1 v 1 + c 2 v 2 + (1 c 1 c 2 )v 3. (3) Page 12 of 32 Setting the vector v becomes Let c 3 = 1 c 1 c 2, v = c 1 v 1 + c 2 v 2 + c 3 v 3. w = c 1 w 1 + c 2 w 2 + c 3 w 3, (4)

13 and for w i = Mv i + b (5) i = 1, 2, 3. Substitute (5) into (4) and multipl it out; w =c 1 (Mv 1 + b) + c 2 (Mv 2 + b) + c 3 (Mv 3 + b) =Mc 1 v 1 + c 1 b + Mc 2 v 2 + c 2 b + Mc 3 v 3 + c 3 b. The matri M and vector b can be factored out w = M(c 1 v 1 + c 2 v 2 + c 3 v 3 ) + (c1 + c2 + c3)b. To obtain M and b we set up a sstem of equations, using the verte points that define the triangles we are working with. Let [ ] [ ] vi wi v i =, w i = (6) v i be the i-th verte points of the begin image and end image, respectivel, where i = 1, 2, 3 for the three verte points. Then w i = Mv i + b. w i Page 13 of 32 Let b = [ b b ] [ ] M1 M and M = 2 M 3 M 4

14 Then we can write equation (6) as [ ] [ ] [ wi M1 M = 2 vi w i M 3 M 4 v i [ ] [[ ] wi M1 = v w i M i + 3 [ ] [ wi M1 v = i + M 2 v i w i M 3 v i + M 4 v i ] + [ M2 M 4 [ b b ] ] ] v i + From this epression it is trivial to set up a sstem of equations where v i and w i are the verte points of the triangles and are known. The matri M with its 4 elements and the two elements of b are the unknowns. w i = M 1 v i + M 2 v i ] + [ b b ]. [ b b ] + b w i = M 3 v i + M 4 v i + b For each one of the verte points we obtain two equations, take three verte points, and ou have si equations with si unknowns. w 1 = M 1 v 1 + M 2 v 1 + b w 1 = M 3 v 1 + M 4 v 1 + b w 2 = M 1 v 2 + M 2 v 2 + b w 2 = M 3 v 2 + M 4 v 2 + b w 3 = M 1 v 3 + M 2 v 3 + b w 3 = M 3 v 3 + M 4 v 3 + b Page 14 of 32

15 Note that the si variables are lined up above each other. The net step is to put this sstem of equations in matri form v 1 v 1 1 M 1 w 1 v 1 v 1 1 M 2 w 1 v 2 v 2 1 M 3 v 2 v 2 1 M 4 = w 2 w 2 v 3 v 3 1 b w 3 v 3 v 3 1 b w 3 and set up the augmented matri. v 1 v 1 1 w 1 v 1 v 1 1 w 1 A = v 2 v 2 1 w 2 v 2 v 2 1 w 2 v 3 v 3 1 w 3 v 3 v 3 1 w 3 This matri can be row reduced to find the solution for the elements of M and b. Page 15 of 32 An Eample Let s do an eample to make the concept clear. The goal is to transform the triangle with verte points v 1, v 2 and v 3 (Figure 9a), where v 1 = (1, 1), v 2 = (2, 2) and v 3 = (3, 1),

16 w 2 w 3 w 1 v 2 v 1 v 3 (a) Begin Triangle (b) End Triangle or in vector representation, [ ] 1 v 1 =, v 1 2 = Figure 9: Transforming Triangles [ ] 2 2 and v 3 = [ ] 3. 1 The objective is to transform this triangle into a triangle with verte points w 1, w 2 and w 3 (Figure 9b) where w 1 = (4, 5), w 2 = (6, 9) and w 3 = (7, 8). Page 16 of 32 Put this in vector representation, then [ ] [ ] 4 6 w 1 =, w 5 2 = 9 and w 3 = [ ] 7. 8

17 Now it is possible to set up the sstem of equations 4 = M 1 (1) + M 2 (1) + b 5 = M 3 (1) + M 4 (1) + b 6 = M 1 (2) + M 2 (2) + b 9 = M 3 (2) + M 3 (2) + b 7 = M 1 (3) + M 2 (1) + b 8 = M 3 (3) + M 4 (1) + b and put it into an augmented matri A = Using linear algebra this matri can be row reduced. 1 3/2 1 1/2 R = 1 3/2 1 5/ Page 17 of 32

18 v 2 w 2 p v 3 p w 3 w 1 v 1 v 2 v 1 p v 3 (a) this is the triangle we are starting with (b) triangle multiplied b M (c) finall, the vector b is added Figure 10: Warping a Triangle From R we obtain M = [ 3/2 ] 1/2 3/2 5/2 and b = [ ] 2. 1 Now let s see what this does to our triangle v 1 v 2 v 3 and a point p in the triangle (Figure 10a), where [ ] 2.3 p =. 1.2 First let s multipl our triangle and our point p b M and observe the result (Figure 10b). Page 18 of 32

19 [ ] [ ] [ ] v 1 3/2 1/2 1 2 =Mv 1 = = 3/2 5/2 1 4 [ ] [ ] [ ] v 2 3/2 1/2 2 4 =Mv 2 = = 3/2 5/2 2 8 [ ] [ ] [ ] v 3 3/2 1/2 3 5 =Mv 2 = = 3/2 5/2 1 7 [ ] [ ] [ ] p 3/2 1/ =Mp = = 3/2 5/ As we can see the triangle alread has the shape of our final triangle but it needs to be moved. Recall that some transformations can t be performed onl b matri multiplication. The last step will be to add the vector b (Figure 10c). [ ] [ ] [ ] w 1 =v b = + = [ ] [ ] [ ] w 2 =v b = + = [ ] [ ] [ ] w 3 =v b = + = 7 1 [ ] p t =p b = [ ] 2 = 1 [ ] Page 19 of 32

20 Alternativel, we can use homogeneous coordinates to perform our affine transformation through matri multiplication in one step. This means representing a vector in R [ ] v v v 2 as a vector v in R 3. Using this sstem, translation can be epressed with matri multiplication, thereb resulting in an affine 1 transformation. This is easil accomplished once we have obtained the matri M and the vector b b placing them into an augmented matri and adding a row of zeros, with the eception of the last pivot location which we set equal to 1, at the bottom. The standard matri then becomes M 1 M 2 b M 3 M 4 b We can then represent the verte points and all the points within the triangle as points in R 3 b simpl adding a 1 in the third row of each vector. This will allow us to assemble an augmented matri with each verte point and each individual point within the enclosing region for matri multiplication. The end result is w 1 w 2 w 3 p... M 1 M 2 b v 1 v 2 v 3 p... w 1 w 2 w 3 p... = M 3 M 4 b v 1 v 2 v 3 p... (7) Page 20 of 32

21 w 1 w 2 w 3 p M 1 M 2 b v 1 v 2 v 3 p w 1 w 2 w 3 p = M 3 M 4 b v 1 v 2 v 3 p /2 1/ = 3/2 5/ = After discarding the last row, we have [ ] Page 21 of 32 This triangle was successfull warped from one shape and position into another. Also all the points of the triangle are warped if the affine transformation is applied to ever one of them. This is the main idea of warping an image, where the ke is that some amount of triangles are laid above the image. The affine transformation maps ever piel in the image to a new shape and therefore

22 (a) begin image (b) end image Figure 11: Triangulation of a Pair of Images distorts the image. In the previous section we successfull warped one triangle. What can be done with one triangle can be done with man triangles. Figure 11 shows a pair of images with 82 triangles in each image and photographs of two faces. Each photo can be thought of as 82 triangles which make up the entire picture. Note that each triangle in the end image corresponds to one triangle in the begin image and that the triangles enclosing boundar contains specific facial features that match the features of the corresponding triangle. The task at hand is to perform an affine transformation of ever triangle in the begin image to warp it into the shape of the corresponding triangle in the end image (Figure 12). This is done with the method described earlier b finding a unique 2-b-2 matri M and a two-dimensional vector b for each triangle. In the Page 22 of 32

23 (a) begin image (b) end image Figure 12: Warp of an Image eample (Figure 11) we have 82 triangles and we need 82 affine transformations to accomplish a warp of the image. The result is an image that is in the shape of the end image, but still has the same gra scale values as the begin image. Before we can do a morph we still need to know how to do one more thing. If a series of intermediate frames are captured as the image warps a time-varing warp can be produced. This creates the illusion of a motion picture that graduall changes from the begin image into the end image. The technique behind this is to let the verte points of the triangles continuousl move from their Page 23 of 32

24 starting point, which is their location in the begin image to their destination, which is their location in the end image. Their motion along a line is a function with respect to time. Let our time units range from t = 0 to t = 1, where t = 0 corresponds to the begin image and t = 1 corresponds to the end image. Suppose u i (t) denotes the position of the i-th verte point at time t. The point travels along the line at a constant velocit. This means that u i (0) = v i (its position in the begin image) and u i (1) = w i (its position in the end image). For an time in between the position is given b u i (t) = (1 t)v i + t(w i ). Equipped with this knowledge it is possible to set up a triangulation for an given time time t and perform a warp from the begin image to this new intermediate position. Figure 13 is the result of computing the warps at five different times. When put together these frames create a motion picture of the face slowl being distorted. If this procedure is applied to the end image as well and if the results are reversed, in other words, we start with the warped image and work towards the original image (Figure 14) we have the basis for a morph. Page 24 of 32 Picture Densit The grascale component of the image is stored in matri form and the concentration of color of a given piel is referred to as picture densit. The densit of the image, which we will define as ρ, must also be mapped for each point. The values range from 0 to 255 and go from white to black for the colormap

25 t = 0 t = 0.25 t = 0.50 t = 0.75 t = 1 Figure 13: Time-Varing Warp of Begin Image Page 25 of 32 t = 0 t = 0.25 t = 0.50 t = 0.75 t = 1 Figure 14: Reversed Time-Varing Warp of End Image

26 that we are using. If we are mapping the point v to w and the corresponding gra values are ρ v = 100 and ρ w = 200 respectivel, then we need to obtain a weighted value as the point changes color. The weight depends on the distance that the point has traveled at each step. For eample, if we are constructing eleven frames for the morphed image, then the value of ρ(u) will change b 1/10 for each frame, where ρ t (u) is the densit at time t in frame u. The equation to obtain the value at each step is ρ t (u) = (1 t)ρ 0 + tρ 1 where t is the distance the point has transversed along the path from v to w and u is the location at that distance. This will provide a smooth transition from the color of v to the color of w. The transition from v to w would produce ρ v = = ρ w. Page 26 of 32

27 t = 0 t = 0.25 t = 0.50 t = 0.75 t = 1 References Figure 15: Morph with 5 frames [1] D. Arnold. For all his help on this project. [2] G. Strang. Introduction to Linear Algebra, Third Ed. [3] H. Anton, C. Rorres. Elementar Linear Algebra with Applications, 8th Ed. [4] S. Johansson. Computing in Matlab Page 27 of 32

28 begin triangle end triangle Figure 16: Morph of a Triangle with a finite Number of Points Trouble with Discrete Values When writing a Matlab program that morphs two images, we ran into some problems. First, the idea of multipling a triangle with a matri works fine if there are an infinite number of points in the triangle, and if we are multipling each one of them with our matri. Unfortunatel when handling an image we are dealing with discrete values. The picture onl has a finite number of piels that we can multipl with. Imagine a triangle that is being stretched from Page 28 of 32

29 Page 29 of 32 Figure 17: A Warp that went wrong

30 its begin shape into a larger end shape (Figure 16). Because there are onl a certain amount of piels in the begin triangle, and the end triangle consists of more piels than the begin triangle, the result of the warp is an image that has gaps in it. The amount of piels that where enough to cover the area of the begin triangle are no longer sufficient to cover the area of the end triangle. Figure 17 is an eample of a warp that went wrong due to this issue. The wa to resolve this issue is to reverse the process of the warp. The conventional wa to warp the image would be to take the inde of each piel, multipl it b the standard matri M and add the vector b (Equation 8) and the piel with the resulting inde must have the same gra scale value as the one we started with. If we start with the warped shape of the triangle and go reverse to retrieve the picture densit of ever piel in the end triangle we will have a value for ever one of those piels and there will be no missing piels. We know that w = Mv + b is the equation for warping an object. It is eas to reverse the process. w = Mv + b (8) w b = Mv (9) M 1 (w b) = v (10) The first step will be to subtract the vector b from all of our points (Equation 9), then we need to multipl the result b the inverse of the standard matri M Page 30 of 32

31 Figure 18: Overlapping Triangles (Equation 10) and now we have an equation where we can plug in w to obtain it s corresponding gra scale value, which is equal to the gra scale value at v. Page 31 of 32 Overlapping Triangles Another issue with warps are overlapping triangles. If a verte point in the end triangulation is moved across the line of an other triangle (Figure 18) we are going to run into troubles. The problem is that now some points are defined to belong to more than one triangle. Since the standard matri and the vector b are different for ever triangle it is not clear which matri and which vector to appl.

32 The onl wa we could resolve this issue was b carefull choosing our verte points to make sure the triangles don t overlap. Eperiment on Your Own If ou want to eperiment with the program the instructions are as follows: 1. Go to the url provided below 2. Download and save the zip to a local director in the MatLab path. 3. Etract all the files. 4. Open MatLab and set the current director to the folder with the etracted files. 5. Go to MatLab s command line prompt and tpe metamorphosis. 6. When asked to choose a begin image tpe in the name as shown on screen. 7. Choices should look like choice with quotes. The MatLab files that generate the morph can be found at petertim/archive.zip Page 32 of 32

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7)

y = f(x) x (x, f(x)) f(x) g(x) = f(x) + 2 (x, g(x)) 0 (0, 1) 1 3 (0, 3) 2 (2, 3) 3 5 (2, 5) 4 (4, 3) 3 5 (4, 5) 5 (5, 5) 5 7 (5, 7) 0 Relations and Functions.7 Transformations In this section, we stud how the graphs of functions change, or transform, when certain specialized modifications are made to their formulas. The transformations

More information

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll

Image Warping. Computational Photography Derek Hoiem, University of Illinois 09/28/17. Photo by Sean Carroll Image Warping 9/28/7 Man slides from Alosha Efros + Steve Seitz Computational Photograph Derek Hoiem, Universit of Illinois Photo b Sean Carroll Reminder: Proj 2 due monda Much more difficult than project

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

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

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

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision

Image Warping, mesh, and triangulation CSE399b, Spring 07 Computer Vision http://grail.cs.washington.edu/projects/rotoscoping/ Image Warping, mesh, and triangulation CSE399b, Spring 7 Computer Vision Man of the slides from A. Efros. Parametric (global) warping Eamples of parametric

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technolog c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

Using the same procedure that was used in Project 5, enter matrix A and its label into an Excel spreadsheet:

Using the same procedure that was used in Project 5, enter matrix A and its label into an Excel spreadsheet: Math 6: Ecel Lab 6 Summer Inverse Matrices, Determinates and Applications: (Stud sections, 6, 7 and in the matri book in order to full understand the topic.) This Lab will illustrate how Ecel can help

More information

Matrix Representations

Matrix Representations CONDENSED LESSON 6. Matri Representations In this lesson, ou Represent closed sstems with transition diagrams and transition matrices Use matrices to organize information Sandra works at a da-care center.

More information

12.4 The Ellipse. Standard Form of an Ellipse Centered at (0, 0) (0, b) (0, -b) center

12.4 The Ellipse. Standard Form of an Ellipse Centered at (0, 0) (0, b) (0, -b) center . The Ellipse The net one of our conic sections we would like to discuss is the ellipse. We will start b looking at the ellipse centered at the origin and then move it awa from the origin. Standard Form

More information

CS F-07 Objects in 2D 1

CS F-07 Objects in 2D 1 CS420-2010F-07 Objects in 2D 1 07-0: Representing Polgons We want to represent a simple polgon Triangle, rectangle, square, etc Assume for the moment our game onl uses these simple shapes No curves for

More information

How is project #1 going?

How is project #1 going? How is project # going? Last Lecture Edge Detection Filtering Pramid Toda Motion Deblur Image Transformation Removing Camera Shake from a Single Photograph Rob Fergus, Barun Singh, Aaron Hertzmann, Sam

More information

Last Lecture. Edge Detection. Filtering Pyramid

Last Lecture. Edge Detection. Filtering Pyramid Last Lecture Edge Detection Filtering Pramid Toda Motion Deblur Image Transformation Removing Camera Shake from a Single Photograph Rob Fergus, Barun Singh, Aaron Hertzmann, Sam T. Roweis and William T.

More information

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h

Image warping. image filtering: change range of image. image warping: change domain of image g(x) = f(h(x)) h(y)=0.5y+0.5. h([x,y])=[x,y/2] f h Image warping Image warping image filtering: change range of image g() () = h(f()) h(f()) f h g h()=0.5+0.5 image warping: change domain of image g() = f(h()) f h g h([,])=[,/2] Parametric (global) warping

More information

Interactive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is.

Interactive Computer Graphics. Warping and morphing. Warping and Morphing. Warping and Morphing. Lecture 14+15: Warping and Morphing. What is. Interactive Computer Graphics Warping and morphing Lecture 14+15: Warping and Morphing Lecture 14: Warping and Morphing: Slide 1 Lecture 14: Warping and Morphing: Slide 2 Warping and Morphing What is Warping

More information

Image Warping. Many slides from Alyosha Efros + Steve Seitz. Photo by Sean Carroll

Image Warping. Many slides from Alyosha Efros + Steve Seitz. Photo by Sean Carroll Image Warping Man slides from Alosha Efros + Steve Seitz Photo b Sean Carroll Morphing Blend from one object to other with a series of local transformations Image Transformations image filtering: change

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

3D Geometry and Camera Calibration

3D Geometry and Camera Calibration 3D Geometr and Camera Calibration 3D Coordinate Sstems Right-handed vs. left-handed 2D Coordinate Sstems ais up vs. ais down Origin at center vs. corner Will often write (u, v) for image coordinates v

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

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

Warps and Morphs. Mike Land and Tara Puzin Linear Algebra College of the Redwoods December 2, 2002

Warps and Morphs. Mike Land and Tara Puzin Linear Algebra College of the Redwoods December 2, 2002 Warps and Morphs Mike Land and Tara Puzin Linear Algebra College of the Redwoods December 2, 2002 Abstract There is a interesting technique in the movie industry called metamorphosis, this technique morphs

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

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, Spring 2 Image Transformations image filtering: change range of image g() = T(f())

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

Polynomials. Math 4800/6080 Project Course

Polynomials. Math 4800/6080 Project Course Polnomials. Math 4800/6080 Project Course 2. The Plane. Boss, boss, ze plane, ze plane! Tattoo, Fantas Island The points of the plane R 2 are ordered pairs (x, ) of real numbers. We ll also use vector

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

Section 2.2: Absolute Value Functions, from College Algebra: Corrected Edition by Carl Stitz, Ph.D. and Jeff Zeager, Ph.D. is available under a

Section 2.2: Absolute Value Functions, from College Algebra: Corrected Edition by Carl Stitz, Ph.D. and Jeff Zeager, Ph.D. is available under a Section.: Absolute Value Functions, from College Algebra: Corrected Edition b Carl Stitz, Ph.D. and Jeff Zeager, Ph.D. is available under a Creative Commons Attribution-NonCommercial-ShareAlike.0 license.

More information

2.2 Absolute Value Functions

2.2 Absolute Value Functions . Absolute Value Functions 7. Absolute Value Functions There are a few was to describe what is meant b the absolute value of a real number. You ma have been taught that is the distance from the real number

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

Name Class Date. subtract 3 from each side. w 5z z 5 2 w p - 9 = = 15 + k = 10m. 10. n =

Name Class Date. subtract 3 from each side. w 5z z 5 2 w p - 9 = = 15 + k = 10m. 10. n = Reteaching Solving Equations To solve an equation that contains a variable, find all of the values of the variable that make the equation true. Use the equalit properties of real numbers and inverse operations

More information

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka Rowan Universit Computer Science Department. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

Determining the 2d transformation that brings one image into alignment (registers it) with another. And

Determining the 2d transformation that brings one image into alignment (registers it) with another. And Last two lectures: Representing an image as a weighted combination of other images. Toda: A different kind of coordinate sstem change. Solving the biggest problem in using eigenfaces? Toda Recognition

More information

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations

Transformations of Functions. 1. Shifting, reflecting, and stretching graphs Symmetry of functions and equations Chapter Transformations of Functions TOPICS.5.. Shifting, reflecting, and stretching graphs Smmetr of functions and equations TOPIC Horizontal Shifting/ Translation Horizontal Shifting/ Translation Shifting,

More information

Image Warping CSE399b, Spring 07 Computer Vision

Image Warping CSE399b, Spring 07 Computer Vision Image Warping CSE399b, Spring 7 Computer Vision http://maps.a9.com http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html Autostiching on A9.com

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

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

Introduction to Homogeneous Transformations & Robot Kinematics

Introduction to Homogeneous Transformations & Robot Kinematics Introduction to Homogeneous Transformations & Robot Kinematics Jennifer Ka, Rowan Universit Computer Science Department Januar 25. Drawing Dimensional Frames in 2 Dimensions We will be working in -D coordinates,

More information

Linear Algebra and Image Processing: Additional Theory regarding Computer Graphics and Image Processing not covered by David C.

Linear Algebra and Image Processing: Additional Theory regarding Computer Graphics and Image Processing not covered by David C. Linear Algebra and Image Processing: Additional Theor regarding Computer Graphics and Image Processing not covered b David C. La Dr. D.P. Huijsmans LIACS, Leiden Universit Februar 202 Differences in conventions

More information

LINEAR PROGRAMMING. Straight line graphs LESSON

LINEAR PROGRAMMING. Straight line graphs LESSON LINEAR PROGRAMMING Traditionall we appl our knowledge of Linear Programming to help us solve real world problems (which is referred to as modelling). Linear Programming is often linked to the field of

More information

Unit 2: Function Transformation Chapter 1

Unit 2: Function Transformation Chapter 1 Basic Transformations Reflections Inverses Unit 2: Function Transformation Chapter 1 Section 1.1: Horizontal and Vertical Transformations A of a function alters the and an combination of the of the graph.

More information

Image warping/morphing

Image warping/morphing Image warping/morphing Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/3/20 with slides b Richard Szeliski, Steve Seitz, Tom Funkhouser and Aleei Efros Image warping Image formation B A Sampling

More information

9. f(x) = x f(x) = x g(x) = 2x g(x) = 5 2x. 13. h(x) = 1 3x. 14. h(x) = 2x f(x) = x x. 16.

9. f(x) = x f(x) = x g(x) = 2x g(x) = 5 2x. 13. h(x) = 1 3x. 14. h(x) = 2x f(x) = x x. 16. Section 4.2 Absolute Value 367 4.2 Eercises For each of the functions in Eercises 1-8, as in Eamples 7 and 8 in the narrative, mark the critical value on a number line, then mark the sign of the epression

More information

Warping, Morphing and Mosaics

Warping, Morphing and Mosaics Computational Photograph and Video: Warping, Morphing and Mosaics Prof. Marc Pollefes Dr. Gabriel Brostow Toda s schedule Last week s recap Warping Morphing Mosaics Toda s schedule Last week s recap Warping

More information

Polynomial and Rational Functions

Polynomial and Rational Functions Polnomial and Rational Functions Figure -mm film, once the standard for capturing photographic images, has been made largel obsolete b digital photograph. (credit film : modification of work b Horia Varlan;

More information

Transformations using matrices

Transformations using matrices Transformations using matrices 6 sllabusref eferenceence Core topic: Matrices and applications In this cha 6A 6B 6C 6D 6E 6F 6G chapter Geometric transformations and matri algebra Linear transformations

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

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

Systems of Linear Equations

Systems of Linear Equations Sstems of Linear Equations Gaussian Elimination Tpes of Solutions A linear equation is an equation that can be written in the form: a a a n n b The coefficients a i and the constant b can be real or comple

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

Basic commands using the "Insert" menu: To insert a two-dimensional (2D) graph, use: To insert a three-dimensional (3D) graph, use: Insert > Plot > 3D

Basic commands using the Insert menu: To insert a two-dimensional (2D) graph, use: To insert a three-dimensional (3D) graph, use: Insert > Plot > 3D Oct 7::3 - GraphsBasics5_ForPrinting.sm Eamples of two- and three-dimensional graphics in Smath Studio --------------------------------------------------------------- B Gilberto E. Urro, October Basic

More information

Image Warping (Szeliski Sec 2.1.2)

Image Warping (Szeliski Sec 2.1.2) Image Warping (Szeliski Sec 2..2) http://www.jeffre-martin.com CS94: Image Manipulation & Computational Photograph Aleei Efros, UC Berkele, Fall 7 Some slides from Steve Seitz Image Transformations image

More information

Transformations. which the book introduces in this chapter. If you shift the graph of y 1 x to the left 2 units and up 3 units, the

Transformations. which the book introduces in this chapter. If you shift the graph of y 1 x to the left 2 units and up 3 units, the CHAPTER 8 Transformations Content Summar In Chapter 8, students continue their work with functions, especiall nonlinear functions, through further stud of function graphs. In particular, the consider three

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

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017

Computer Graphics. Si Lu. Fall er_graphics.htm 10/11/2017 Computer Graphics Si Lu Fall 27 http://www.cs.pd.edu/~lusi/cs447/cs447_547_comput er_graphics.htm //27 Last time Filtering Resampling 2 Toda Compositing NPR 3D Graphics Toolkits Transformations 3 Demo

More information

2.3. One-to-One and Inverse Functions. Introduction. Prerequisites. Learning Outcomes

2.3. One-to-One and Inverse Functions. Introduction. Prerequisites. Learning Outcomes One-to-One and Inverse Functions 2. Introduction In this Section we eamine more terminolog associated with functions. We eplain one-to-one and man-to-one functions and show how the rule associated with

More information

M O T I O N A N D D R A W I N G

M O T I O N A N D D R A W I N G 2 M O T I O N A N D D R A W I N G Now that ou know our wa around the interface, ou re read to use more of Scratch s programming tools. In this chapter, ou ll do the following: Eplore Scratch s motion and

More information

Grid and Mesh Generation. Introduction to its Concepts and Methods

Grid and Mesh Generation. Introduction to its Concepts and Methods Grid and Mesh Generation Introduction to its Concepts and Methods Elements in a CFD software sstem Introduction What is a grid? The arrangement of the discrete points throughout the flow field is simpl

More information

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017 CS 277: Intro to Computer Vision Multiple Views Prof. Adriana Kovashka Universit of Pittsburgh March 4, 27 Plan for toda Affine and projective image transformations Homographies and image mosaics Stereo

More information

It s Not Complex Just Its Solutions Are Complex!

It s Not Complex Just Its Solutions Are Complex! It s Not Comple Just Its Solutions Are Comple! Solving Quadratics with Comple Solutions 15.5 Learning Goals In this lesson, ou will: Calculate comple roots of quadratic equations and comple zeros of quadratic

More information

I. This material refers to mathematical methods designed for facilitating calculations in matrix

I. This material refers to mathematical methods designed for facilitating calculations in matrix A FEW CONSIDERATIONS REGARDING MATRICES operations. I. This material refers to mathematical methods designed for facilitating calculations in matri In this case, we know the operations of multiplying two

More information

Transformations of y = x 2 Parent Parabola

Transformations of y = x 2 Parent Parabola Transformations of = 2 SUGGESTED LEARNING STRATEGIES: Marking the Tet, Interactive Word Wall, Create Representations, Quickwrite 1. Graph the parent quadratic function, f () = 2, on the coordinate grid

More information

EXPANDING THE CALCULUS HORIZON. Robotics

EXPANDING THE CALCULUS HORIZON. Robotics EXPANDING THE CALCULUS HORIZON Robotics Robin designs and sells room dividers to defra college epenses. She is soon overwhelmed with orders and decides to build a robot to spra paint her dividers. As in

More information

Modeling with CMU Mini-FEA Program

Modeling with CMU Mini-FEA Program Modeling with CMU Mini-FEA Program Introduction Finite element analsis (FEA) allows ou analze the stresses and displacements in a bod when forces are applied. FEA determines the stresses and displacements

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

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

PROBLEM SOLVING WITH EXPONENTIAL FUNCTIONS

PROBLEM SOLVING WITH EXPONENTIAL FUNCTIONS Topic 21: Problem solving with eponential functions 323 PROBLEM SOLVING WITH EXPONENTIAL FUNCTIONS Lesson 21.1 Finding function rules from graphs 21.1 OPENER 1. Plot the points from the table onto the

More information

Double Integrals in Polar Coordinates

Double Integrals in Polar Coordinates Double Integrals in Polar Coordinates. A flat plate is in the shape of the region in the first quadrant ling between the circles + and +. The densit of the plate at point, is + kilograms per square meter

More information

Integrating ICT into mathematics at KS4&5

Integrating ICT into mathematics at KS4&5 Integrating ICT into mathematics at KS4&5 Tom Button tom.button@mei.org.uk www.mei.org.uk/ict/ This session will detail the was in which ICT can currentl be used in the teaching and learning of Mathematics

More information

8.6 Three-Dimensional Cartesian Coordinate System

8.6 Three-Dimensional Cartesian Coordinate System SECTION 8.6 Three-Dimensional Cartesian Coordinate Sstem 69 What ou ll learn about Three-Dimensional Cartesian Coordinates Distance and Midpoint Formulas Equation of a Sphere Planes and Other Surfaces

More information

Lines and Their Slopes

Lines and Their Slopes 8.2 Lines and Their Slopes Linear Equations in Two Variables In the previous chapter we studied linear equations in a single variable. The solution of such an equation is a real number. A linear equation

More information

2.3. Horizontal and Vertical Translations of Functions. Investigate

2.3. Horizontal and Vertical Translations of Functions. Investigate .3 Horizontal and Vertical Translations of Functions When a video game developer is designing a game, she might have several objects displaed on the computer screen that move from one place to another

More information

Perspective Projection Transformation

Perspective Projection Transformation Perspective Projection Transformation Where does a point of a scene appear in an image?? p p Transformation in 3 steps:. scene coordinates => camera coordinates. projection of camera coordinates into image

More information

Testing the L picture and IFS fractal generation Maple 13 commands

Testing the L picture and IFS fractal generation Maple 13 commands Testing the L picture and IFS fractal generation Maple 13 commands In order to make fractals with iterated function sstems it is nice to have a test procedure to make sure ou have picked our affine maps

More information

CS770/870 Spring 2017 Transformations

CS770/870 Spring 2017 Transformations CS770/870 Spring 2017 Transformations Coordinate sstems 2D Transformations Homogeneous coordinates Matrices, vectors, points Coordinate Sstems Coordinate sstems used in graphics Screen coordinates: the

More information

Think About. Unit 5 Lesson 3. Investigation. This Situation. Name: a Where do you think the origin of a coordinate system was placed in creating this

Think About. Unit 5 Lesson 3. Investigation. This Situation. Name: a Where do you think the origin of a coordinate system was placed in creating this Think About This Situation Unit 5 Lesson 3 Investigation 1 Name: Eamine how the sequence of images changes from frame to frame. a Where do ou think the origin of a coordinate sstem was placed in creating

More information

Transformations of Absolute Value Functions. Compression A compression is a. function a function of the form f(x) = a 0 x - h 0 + k

Transformations of Absolute Value Functions. Compression A compression is a. function a function of the form f(x) = a 0 x - h 0 + k - Transformations of Absolute Value Functions TEKS FOCUS VOCABULARY Compression A compression is a TEKS (6)(C) Analze the effect on the graphs of f() = when f() is replaced b af(), f(b), f( - c), and f()

More information

Editing and Transformation

Editing and Transformation Lecture 5 Editing and Transformation Modeling Model can be produced b the combination of entities that have been edited. D: circle, arc, line, ellipse 3D: primitive bodies, etrusion and revolved of a profile

More information

Graphs and Functions

Graphs and Functions CHAPTER Graphs and Functions. Graphing Equations. Introduction to Functions. Graphing Linear Functions. The Slope of a Line. Equations of Lines Integrated Review Linear Equations in Two Variables.6 Graphing

More information

Unit 5 Lesson 2 Investigation 1

Unit 5 Lesson 2 Investigation 1 Name: Investigation 1 Modeling Rigid Transformations CPMP-Tools Computer graphics enable designers to model two- and three-dimensional figures and to also easil manipulate those figures. For eample, interior

More information

20 Calculus and Structures

20 Calculus and Structures 0 Calculus and Structures CHAPTER FUNCTIONS Calculus and Structures Copright LESSON FUNCTIONS. FUNCTIONS A function f is a relationship between an input and an output and a set of instructions as to how

More information

The Marching Cougars Lesson 9-1 Transformations

The Marching Cougars Lesson 9-1 Transformations The Marching Cougars Lesson 9-1 Learning Targets: Perform transformations on and off the coordinate plane. Identif characteristics of transformations that are rigid motions and characteristics of transformations

More information

Determine Whether Two Functions Are Equivalent. Determine whether the functions in each pair are equivalent by. and g (x) 5 x 2

Determine Whether Two Functions Are Equivalent. Determine whether the functions in each pair are equivalent by. and g (x) 5 x 2 .1 Functions and Equivalent Algebraic Epressions On September, 1999, the Mars Climate Orbiter crashed on its first da of orbit. Two scientific groups used different measurement sstems (Imperial and metric)

More information

NONCONGRUENT EQUIDISSECTIONS OF THE PLANE

NONCONGRUENT EQUIDISSECTIONS OF THE PLANE NONCONGRUENT EQUIDISSECTIONS OF THE PLANE D. FRETTLÖH Abstract. Nandakumar asked whether there is a tiling of the plane b pairwise non-congruent triangles of equal area and equal perimeter. Here a weaker

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

UNIT 2 2D TRANSFORMATIONS

UNIT 2 2D TRANSFORMATIONS UNIT 2 2D TRANSFORMATIONS Introduction With the procedures for displaying output primitives and their attributes, we can create variety of pictures and graphs. In many applications, there is also a need

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

Math 1050 Lab Activity: Graphing Transformations

Math 1050 Lab Activity: Graphing Transformations Math 00 Lab Activit: Graphing Transformations Name: We'll focus on quadratic functions to eplore graphing transformations. A quadratic function is a second degree polnomial function. There are two common

More information

Investigation Free Fall

Investigation Free Fall Investigation Free Fall Name Period Date You will need: a motion sensor, a small pillow or other soft object What function models the height of an object falling due to the force of gravit? Use a motion

More information

Topic 2 Transformations of Functions

Topic 2 Transformations of Functions Week Topic Transformations of Functions Week Topic Transformations of Functions This topic can be a little trick, especiall when one problem has several transformations. We re going to work through each

More information

0 COORDINATE GEOMETRY

0 COORDINATE GEOMETRY 0 COORDINATE GEOMETRY Coordinate Geometr 0-1 Equations of Lines 0- Parallel and Perpendicular Lines 0- Intersecting Lines 0- Midpoints, Distance Formula, Segment Lengths 0- Equations of Circles 0-6 Problem

More information

2D transformations and homogeneous coordinates

2D transformations and homogeneous coordinates 2D transformations and homogeneous coordinates Dr Nicolas Holzschuch Universit of Cape Ton e-mail: holzschu@cs.uct.ac.za Map of the lecture Transformations in 2D: vector/matri notation eample: translation,

More information

Transforming Polynomial Functions

Transforming Polynomial Functions 5-9 Transforming Polnomial Functions Content Standards F.BF.3 Identif the effect on the graph of replacing f() b f() k, k f(), f(k), and f( k) for specific values of k (both positive and negative) find

More information

Transformation Stretch Solutions. October 6, 2004

Transformation Stretch Solutions. October 6, 2004 Transformation Stretch Solutions October 6, 2004 Problem 1 A shape is translated so that the point (7, 2) moves to (15, 15). Under the same translation, to what point does the point ( 8, 3) move? In a

More information

Optical flow Estimation using Fractional Quaternion Wavelet Transform

Optical flow Estimation using Fractional Quaternion Wavelet Transform 2012 International Conference on Industrial and Intelligent Information (ICIII 2012) IPCSIT vol.31 (2012) (2012) IACSIT Press, Singapore Optical flow Estimation using Fractional Quaternion Wavelet Transform

More information

science. In this course we investigate problems both algebraically and graphically.

science. In this course we investigate problems both algebraically and graphically. Section. Graphs. Graphs Much of algebra is concerned with solving equations. Man algebraic techniques have been developed to provide insights into various sorts of equations and those techniques are essential

More information

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ):

Aliasing. Can t draw smooth lines on discrete raster device get staircased lines ( jaggies ): (Anti)Aliasing and Image Manipulation for (y = 0; y < Size; y++) { for (x = 0; x < Size; x++) { Image[x][y] = 7 + 8 * sin((sqr(x Size) + SQR(y Size)) / 3.0); } } // Size = Size / ; Aliasing Can t draw

More information

The 3-D Graphics Rendering Pipeline

The 3-D Graphics Rendering Pipeline The 3-D Graphics Rendering Pipeline Modeling Trival Rejection Illumination Viewing Clipping Projection Almost ever discussion of 3-D graphics begins here Seldom are an two versions drawn the same wa Seldom

More information

Name: [20 points] Consider the following OpenGL commands:

Name: [20 points] Consider the following OpenGL commands: Name: 2 1. [20 points] Consider the following OpenGL commands: glmatrimode(gl MODELVIEW); glloadidentit(); glrotatef( 90.0, 0.0, 1.0, 0.0 ); gltranslatef( 2.0, 0.0, 0.0 ); glscalef( 2.0, 1.0, 1.0 ); What

More information

Module 2, Section 2 Graphs of Trigonometric Functions

Module 2, Section 2 Graphs of Trigonometric Functions Principles of Mathematics Section, Introduction 5 Module, Section Graphs of Trigonometric Functions Introduction You have studied trigonometric ratios since Grade 9 Mathematics. In this module ou will

More information

Geometric Model of Camera

Geometric Model of Camera Geometric Model of Camera Dr. Gerhard Roth COMP 42A Winter 25 Version 2 Similar Triangles 2 Geometric Model of Camera Perspective projection P(X,Y,Z) p(,) f X Z f Y Z 3 Parallel lines aren t 4 Figure b

More information