• Rotations • Camera Models • Camera Calibration • Homographies

Total Page:16

File Type:pdf, Size:1020Kb

• Rotations • Camera Models • Camera Calibration • Homographies Agenda • Rotations • Camera models • Camera calibration • Homographies 3D Rotations X r11 r12 r13 X R Y = r r r Y 2 3 2 21 22 233 2 3 Z r31 r32 r33 Z 4 5 4 5 4 5 Think of as change of basis where ri = r(i,:) are orthonormal basis vectors r2 r1 rotated coordinate frame r3 7 Shears 1 hxy hxz 0 h 1 h 0 A˜ = 2 yx yz 3 hzx hzy 10 6 00017 6 7 4 Shears y into5 x 7 3D Rotations 8 LotsRotations of parameterizations that try to capture 3 DOFs Helpful ones• 3Dfor Rotationsvision: orthonormal fundamentally matrix, more axis-angle,complex than exponential in 2D! maps • 2D: amount of rotation! Represent a 3D rotation with a unit vector pointed along the axis of • 3D: amount and axis of rotation rotation, and an angle of rotation about that vector -vs- 2D 3D 8 05-3DTransformations.key - February 9, 2015 Background: euler’s rotation theorm Any rotation of a rigid body in a three-dimensional space is equivalent to a pure rotation about a single fixed axis https://en.wikipedia.org/wiki/Euler's_rotation_theorem Review: dot and cross products Dot product: a b = a b cos✓ · || || || || Cross product: a b a b 2 3 − 3 2 a b = b1a3 a1b3 ⇥ 2a b − a b 3 1 2 − 2 1 4 5 Cross product 0 a a b − 3 2 1 a b = ˆab = a 0 a b matrix: 3 1 2 ⇥ 2 a a −0 3 2b 3 − 2 1 3 4 5 4 5 aˆT = aˆ (skew-symmetric matrix) − Approach v R3, v =1 2 || || ✓ x https://en.wikipedia.org/wiki/Axis-angle_representation Rodrigues' rotation formula https://en.wikipedia.org/wiki/Rodrigues'_rotation_formula_rotation_formula v R3, v =1 2 || || x ? ✓ x k x 1. Write as x as sum of parallel and perpindicular component to omega 2. Rotate perpindicular component by 2D rotation of theta in plane orthogonal to omega R = I +ˆv sin ✓ +ˆvvˆ(1 cos ✓) − [Rx can simplify to cross and dot product computations] Agenda • Rotations • Camera models • Camera calibration • Homographies Perspective projection revisited y x (X,Y,Z) (x,y,f) z COP f x = X Z f y = Y Z Perspective projection revisited x f 00 X λ y = 0 f 0 Y 213 20013 2Z 3 4 5 4 5 4 5 Given (X,Y,Z) and f, compute (x,y) and lambda: λx = fX λ = Z λx fX x = = λ Z Special case: f = 1 (normalized image plane) (X,Y,Z) (x,y,1) COP x f 00 X λ y = 0 f 0 Y 213 20013 2Z 3 4 5 4 5 4 5 x X Z y = Y 213 2Z 3 4 5 4 5 3D point is obtained by scaling ray pointed at image coordinate Scale factor = true depth of point [Aside: given an image with a focal length ‘f’, resize by ‘1/f’ to obtain unit-focal-length image] Homogenous notation x X y Y 2z3 ⇠ 2Z 3 4x5 4X5 y Y 2z3 ⌘ 2Z 3 4 5 4 5 For now, think of above as shorthand notation for x X λ s.t. λ y = Y 9 2z3 2Z 3 4 5 4 5 3D rigid-body transformations 3D translations 3D rotations X X + tx X r11 r12 r13 X Y + T = Y + t R Y = r r r Y 2 3 2 y 3 2 3 2 21 22 233 2 3 Z Z + tz Z r31 r32 r33 Z 4 5 4 5 4 5 4 5 4 5 X X r r r t 11 12 13 x Y R Y + T = r r r t 21 22 23 y 2Z 3 2Z 3 2r r r t 3 31 32 33 z 6 1 7 4 5 4 5 6 7 4 5 Aside: 3D affine transformations 3D translations any invertible matrix R X X + tx X r11 r12 r13 X Y + T = Y + t R Y = r r r Y 2 3 2 y 3 2 3 2 21 22 233 2 3 Z Z + tz Z r31 r32 r33 Z 4 5 4 5 4 5 4 5 4 5 X X r r r t 11 12 13 x Y R Y + T = r r r t 21 22 23 y 2Z 3 2Z 3 2r r r t 3 31 32 33 z 6 1 7 4 5 4 5 6 7 4 5 Alternative perspective: change of coordinate system think of camera moving through world coordinate frame X X r r r t 11 12 13 x Y R Y + T = r r r t 21 22 23 y 2Z 3 2Z 3 2r r r t 3 31 32 33 z 6 1 7 4 5 4 5 6 7 4 5 r2 r1 camera r3 T world coordinate frame Camera projection X x f 00 r r r t 11 12 13 x Y λ y = 0 f 0 r r r t 21 22 23 y 2Z 3 213 20013 2r r r t 3 31 32 33 z 6 1 7 6 7 4 5 Camera4 instrinsic matrix5 K 4 Camera extrinsics 53D point in (can include skew & non-square pixel size) (rotation and translation) world4 coordinates5 r2 r1 camera r3 T world coordinate frame λx Aside: homogenous notation is shorthand for x = λ Fancier intrinsics xs = sxx } non-square pixels ys = syy x0 = xs + ox } shifted origin y0 = ys + oy y skewed image axes x”=x0 + s✓y0 ✓ x sx s✓ ox f 00 fsx fs✓ ox K = 0 sy oy 0 f 0 = 0 fsy oy 2 0013 20013 2 0013 4 5 4 5 4 5 Notation [Using Matlab’s rows x columns] X x fs fs o r r r t x ✓ x 11 12 13 x Y λ y = 0 fs o r r r t y y 21 22 23 y 2Z 3 213 2 0013 2r r r t 3 31 32 33 z 6 1 7 4 5 4 5 4 5 6 7 X 4 5 Y = K3 3 R3 3 T3 1 2 3 ⇥ ⇥ ⇥ Z ⇥ ⇤ 6 1 7 6 7 X 4 5 Y = M3 4 2 3 ⇥ Z 6 1 7 6 7 4 5 X Y = A3 3 b3 1 2 3 ⇥ ⇥ Z ⇥ ⇤ 6 1 7 6 7 X 4 5 = A3 3 Y + b3 1 ⇥ 2Z 3 ⇥ 4 5 Notation & claims X x X Y λ y = M3 4 2 3 = A3 3 Y + b3 1 ⇥ Z ⇥ ⇥ 213 2Z 3 6 1 7 4 5 6 7 4 5 4 5 Claims: 1. A 3x4 matrix ‘M’ can be a camera matrix iff det(A) is not zero (geometric intution later) 2. M is determined only up to a scale factor (easy to show) T T m1 a1 b1 T T M = m2 ,A= a2 ,b= b2 2 T 3 2 T 3 2 3 m3 a3 b3 4 5 4 5 4 5 Applying the projection matrix 1 x = ( XY Za + b ) λ 1 1 ⇥ ⇤ 1 y = ( XY Za + b ) λ 2 2 ⇥ ⇤ λ = XY Za3 + b3 ⇥ ⇤ Set of 3D points that project to x = 0: XY Za1 + b1 =0 Set of 3D points that project to y = 0: ⇥XY Z⇤ a2 + b2 =0 ⇥ ⇤ Set of 3D points that project to x = inf or y = inf: XY Za3 + b3 =0 What do these sets look like⇥ in 3D world?⇤ Convention of most of today’s slides (x,y) COP (X,Y,Z) Draw image plane behind pinhole Geometric intuition Rows of the camera matrix describe the 3 planes defined by the image coordinate system a3 a1 y COP a2 x image plane Other geometric properties y x (X,Y,Z) (x,y,f) z COP What’s set of (X,Y,Z) points that project to same (x,y)? x X λ y = A Y + b 213 2Z 3 4 5 4 5 Solve above expression for (X,Y,Z) as a function of (x,y) Other geometric properties y x (X,Y,Z) (x,y,f) z COP What’s set of (X,Y,Z) points that project to same (x,y)? X x 1 1 Y = λw + b0 where w = A− y ,b0 = A− b 2Z 3 213 − X 4 5 x 4 5 1 1 Y =Directionλw + b0 ofwhere ray: w = A− y ,b0 = A− b 2Z 3 213 − X 4 5 x 4 5 1 1 Y = λw + b0 where w = A−COP:y ,b0 = A− b 2Z 3 213 − 4 5 4 5 Affine cameras perspective weak perspective Crucial constraint on camera matrix: T m3 = 0001 ⇥ ⇤ Affine cameras Captures 3D affine transformation + orthographic projection + 2D affine transformation X 1 x ···· Y = ··· 1 2····3 2 3 y 2 3 Z ··· 1 ···· 6 17 6 1 7 4 5 6 7 6 7 4 5 4 5 X a a a b 11 12 13 1 Y = a a a b 21 22 23 2 2Z 3 2 1 3 6 1 7 4 5 6 7 X 4 5 a a a b = 11 12 13 Y + 1 a21 a22 a23 2 3 b2 Z x = AX + b 4 5 • Projection defined by 8 parameters • Parallel lines project to parallel lines • 2D points = linear projection of 3D points (+ 2D translation) Geometric Transformations Euclidean (trans + rot) Affine: preserves Projective: preserves lengths + angles parallel lines preserves lines Point out differences in 2D transformations and 3D transformations Projective Affine Euclidean Agenda • Rotations • Camera models • Camera calibration • Homographies PnP = Perspective n-Point Calibration: Recover M from scene points P1,..,PN and the corresponding projections in the image plane p1,..,pN y Xi x Yi Pi = 2 3 xi Zi z p = y COP 6 1 7 i 2 i3 6 7 1 4 5 4 5 The math for the calibration procedure follows a recipe that is used in many (most?) problems involving camera geometry, so it’s worth remembering: Write relation between image point, projection matrix, and point in space: X x i i Y λ y = M i i 2Z 3 2 1 3 i 6 1 7 4 5 6 7 4 5 mT P mT P Write non-linear relations x = 1 i ,y= 2 i between coordinates: i T i T m3 Pi m3 Pi Estimating a camera matrix y x z Write constraints as linear unknowns M T T m3 Pixi =.
Recommended publications
  • Efficient Learning of Simplices
    Efficient Learning of Simplices Joseph Anderson Navin Goyal Computer Science and Engineering Microsoft Research India Ohio State University [email protected] [email protected] Luis Rademacher Computer Science and Engineering Ohio State University [email protected] Abstract We show an efficient algorithm for the following problem: Given uniformly random points from an arbitrary n-dimensional simplex, estimate the simplex. The size of the sample and the number of arithmetic operations of our algorithm are polynomial in n. This answers a question of Frieze, Jerrum and Kannan [FJK96]. Our result can also be interpreted as efficiently learning the intersection of n + 1 half-spaces in Rn in the model where the intersection is bounded and we are given polynomially many uniform samples from it. Our proof uses the local search technique from Independent Component Analysis (ICA), also used by [FJK96]. Unlike these previous algorithms, which were based on analyzing the fourth moment, ours is based on the third moment. We also show a direct connection between the problem of learning a simplex and ICA: a simple randomized reduction to ICA from the problem of learning a simplex. The connection is based on a known representation of the uniform measure on a sim- plex. Similar representations lead to a reduction from the problem of learning an affine arXiv:1211.2227v3 [cs.LG] 6 Jun 2013 transformation of an n-dimensional ℓp ball to ICA. 1 Introduction We are given uniformly random samples from an unknown convex body in Rn, how many samples are needed to approximately reconstruct the body? It seems intuitively clear, at least for n = 2, 3, that if we are given sufficiently many such samples then we can reconstruct (or learn) the body with very little error.
    [Show full text]
  • Paraperspective ≡ Affine
    International Journal of Computer Vision, 19(2): 169–180, 1996. Paraperspective ´ Affine Ronen Basri Dept. of Applied Math The Weizmann Institute of Science Rehovot 76100, Israel [email protected] Abstract It is shown that the set of all paraperspective images with arbitrary reference point and the set of all affine images of a 3-D object are identical. Consequently, all uncali- brated paraperspective images of an object can be constructed from a 3-D model of the object by applying an affine transformation to the model, and every affine image of the object represents some uncalibrated paraperspective image of the object. It follows that the paraperspective images of an object can be expressed as linear combinations of any two non-degenerate images of the object. When the image position of the reference point is given the parameters of the affine transformation (and, likewise, the coefficients of the linear combinations) satisfy two quadratic constraints. Conversely, when the values of parameters are given the image position of the reference point is determined by solving a bi-quadratic equation. Key words: affine transformations, calibration, linear combinations, paraperspective projec- tion, 3-D object recognition. 1 Introduction It is shown below that given an object O ½ R3, the set of all images of O obtained by applying a rigid transformation followed by a paraperspective projection with arbitrary reference point and the set of all images of O obtained by applying a 3-D affine transformation followed by an orthographic projection are identical. Consequently, all paraperspective images of an object can be constructed from a 3-D model of the object by applying an affine transformation to the model, and every affine image of the object represents some paraperspective image of the object.
    [Show full text]
  • Lecture 16: Planar Homographies Robert Collins CSE486, Penn State Motivation: Points on Planar Surface
    Robert Collins CSE486, Penn State Lecture 16: Planar Homographies Robert Collins CSE486, Penn State Motivation: Points on Planar Surface y x Robert Collins CSE486, Penn State Review : Forward Projection World Camera Film Pixel Coords Coords Coords Coords U X x u M M V ext Y proj y Maff v W Z U X Mint u V Y v W Z U M u V m11 m12 m13 m14 v W m21 m22 m23 m24 m31 m31 m33 m34 Robert Collins CSE486, PennWorld State to Camera Transformation PC PW W Y X U R Z C V Rotate to Translate by - C align axes (align origins) PC = R ( PW - C ) = R PW + T Robert Collins CSE486, Penn State Perspective Matrix Equation X (Camera Coordinates) x = f Z Y X y = f x' f 0 0 0 Z Y y' = 0 f 0 0 Z z' 0 0 1 0 1 p = M int ⋅ PC Robert Collins CSE486, Penn State Film to Pixel Coords 2D affine transformation from film coords (x,y) to pixel coordinates (u,v): X u’ a11 a12xa'13 f 0 0 0 Y v’ a21 a22 ya'23 = 0 f 0 0 w’ Z 0 0z1' 0 0 1 0 1 Maff Mproj u = Mint PC = Maff Mproj PC Robert Collins CSE486, Penn StateProjection of Points on Planar Surface Perspective projection y Film coordinates x Point on plane Rotation + Translation Robert Collins CSE486, Penn State Projection of Planar Points Robert Collins CSE486, Penn StateProjection of Planar Points (cont) Homography H (planar projective transformation) Robert Collins CSE486, Penn StateProjection of Planar Points (cont) Homography H (planar projective transformation) Punchline: For planar surfaces, 3D to 2D perspective projection reduces to a 2D to 2D transformation.
    [Show full text]
  • Affine Transformations and Rotations
    CMSC 425 Dave Mount & Roger Eastman CMSC 425: Lecture 6 Affine Transformations and Rotations Affine Transformations: So far we have been stepping through the basic elements of geometric programming. We have discussed points, vectors, and their operations, and coordinate frames and how to change the representation of points and vectors from one frame to another. Our next topic involves how to map points from one place to another. Suppose you want to draw an animation of a spinning ball. How would you define the function that maps each point on the ball to its position rotated through some given angle? We will consider a limited, but interesting class of transformations, called affine transfor- mations. These include (among others) the following transformations of space: translations, rotations, uniform and nonuniform scalings (stretching the axes by some constant scale fac- tor), reflections (flipping objects about a line) and shearings (which deform squares into parallelograms). They are illustrated in Fig. 1. rotation translation uniform nonuniform reflection shearing scaling scaling Fig. 1: Examples of affine transformations. These transformations all have a number of things in common. For example, they all map lines to lines. Note that some (translation, rotation, reflection) preserve the lengths of line segments and the angles between segments. These are called rigid transformations. Others (like uniform scaling) preserve angles but not lengths. Still others (like nonuniform scaling and shearing) do not preserve angles or lengths. Formal Definition: Formally, an affine transformation is a mapping from one affine space to another (which may be, and in fact usually is, the same space) that preserves affine combi- nations.
    [Show full text]
  • Determinants and Transformations 1. (A.) 2
    Lecture 3 answers to exercises: Determinants and transformations 1. (a:) 2 · 4 − 3 · (−1) = 11 (b:) − 5 · 2 − 1 · 0 = −10 (c:) Of this matrix we cannot compute the determinant because it is not square. (d:) −5·7·1+1·(−2)·3+(−1)·1·0−(−1)·7·3−1·1·1−(−5)·(−2)·0 = −35−6+21−1 = −21 2. 2 5 −2 4 2 −2 6 4 −1 3 6 −1 1 2 3 −83 3 −1 1 3 42 1 x = = = 20 y = = = −10 4 5 −2 −4 4 4 5 −2 −4 2 3 4 −1 3 4 −1 −1 2 3 −1 2 3 4 5 2 3 4 6 −1 2 1 −57 1 z = = = 14 4 5 −2 −4 4 3 4 −1 −1 2 3 3. Yes. Just think of a matrix and apply it to the zero vector. The outcome of all components are zeros. 4. We find the desired matrix by multiplying the two matrices for the two parts. The 0 −1 matrix for reflection in x + y = 0 is , and the matrix for rotation of 45◦ about −1 0 p p 1 2 − 1 2 2 p 2p the origin is 1 1 . So we compute (note the order!): 2 2 2 2 p p p p 1 2 − 1 2 0 −1 1 2 − 1 2 2 p 2p 2 p 2 p 1 1 = 1 1 2 2 2 2 −1 0 − 2 2 − 2 2 5. A must be the zero matrix. This is true because the vectors 2 3 2, 1 0 2, and 0 2 4 are linearly independent.
    [Show full text]
  • 1 Affine and Projective Coordinate Notation 2 Transformations
    CS348a: Computer Graphics Handout #9 Geometric Modeling Original Handout #9 Stanford University Tuesday, 3 November 1992 Original Lecture #2: 6 October 1992 Topics: Coordinates and Transformations Scribe: Steve Farris 1 Affine and Projective Coordinate Notation Recall that we have chosen to denote the point with Cartesian coordinates (X,Y) in affine coordinates as (1;X,Y). Also, we denote the line with implicit equation a + bX + cY = 0as the triple of coefficients [a;b,c]. For example, the line Y = mX + r is denoted by [r;m,−1],or equivalently [−r;−m,1]. In three dimensions, points are denoted by (1;X,Y,Z) and planes are denoted by [a;b,c,d]. This transfer of dimension is natural for all dimensions. The geometry of the line — that is, of one dimension — is a little strange, in that hyper- planes are points. For example, the hyperplane with coefficients [3;7], which represents all solutions of the equation 3 + 7X = 0, is the same as the point X = −3/7, which we write in ( −3) coordinates as 1; 7 . 2 Transformations 2.1 Affine Transformations of a line Suppose F(X) := a + bX and G(X) := c + dX, and that we want to compose these functions. One way to write the two possible compositions is: G(F(X)) = c + d(a + bX)=(c + da)+bdX and F(G(X)) = a + b(c + d)X =(a + bc)+bdX. Note that it makes a difference which function we apply first, F or G. When writing the compositions above, we used prefix notation, that is, we wrote the func- tion on the left and its argument on the right.
    [Show full text]
  • Arxiv:1807.03503V1 [Cs.CV] 10 Jul 2018 Dences from the Affine Features
    Recovering affine features from orientation- and scale-invariant ones Daniel Barath12 1 Centre for Machine Perception, Czech Technical University, Prague, Czech Republic 2 Machine Perception Research Laboratory, MTA SZTAKI, Budapest, Hungary Abstract. An approach is proposed for recovering affine correspondences (ACs) from orientation- and scale-invariant, e.g. SIFT, features. The method calculates the affine parameters consistent with a pre-estimated epipolar geometry from the point coordinates and the scales and rotations which the feature detector obtains. The closed-form solution is given as the roots of a quadratic polynomial equation, thus having two possible real candidates and fast procedure, i.e. < 1 millisecond. It is shown, as a possible application, that using the proposed algorithm allows us to estimate a homography for every single correspondence independently. It is validated both in our synthetic environment and on publicly available real world datasets, that the proposed technique leads to accurate ACs. Also, the estimated homographies have similar accuracy to what the state-of-the-art methods obtain, but due to requiring only a single correspondence, the robust estimation, e.g. by locally optimized RANSAC, is an order of magnitude faster. 1 Introduction This paper addresses the problem of recovering fully affine-covariant features [1] from orientation- and scale-invariant ones obtained by, for instance, SIFT [2] or SURF [3] detectors. This objective is achieved by considering the epipolar geometry to be known between two images and exploiting the geometric constraints which it implies.1 The proposed algorithm requires the epipolar geometry, i.e. characterized by either a fun- damental F or an essential E matrix, and an orientation and scale-invariant feature as input and returns the affine correspondence consistent with the epipolar geometry.
    [Show full text]
  • Part I, Chapter 3 Simplicial Finite Elements 3.1 Simplices and Barycentric Coordinates
    Part I, Chapter 3 Simplicial finite elements This chapter deals with finite elements (K,P,Σ) where K is a simplex in ♥♥ Rd with d 2, the degrees of freedom Σ are either nodal values in K or ≥ integrals over the faces (or edges) of K, and P is the space Pk,d composed of multivariate polynomials of total degree at most k 0. We focus our attention on scalar-valued finite elements, but most of the results≥ in this chapter can be extended to the vector-valued case by reasoning componentwise. Examples of vector-valued elements where the normal and the tangential components at the boundary of K play specific roles are studied in Chapters 8 and 9. 3.1 Simplices and barycentric coordinates Simplices in Rd, d 1, are ubiquitous objects in the finite element theory. We review important properties≥ of simplices in this section. 3.1.1 Simplices Definition 3.1 (Simplex, vertices). Let d 1. Let zi i 0: d be a set of d ≥ { } ∈{ } points in R such that the vectors z1 z0,..., zd z0 are linearly inde- pendent. Then, the convex hull of these{ − points is called− a}simplex in Rd, say K = conv(z0,..., zd). By definition, K is a closed set. If d = 1, a simplex is an interval [xl,xr] with real numbers xl < xr; if d = 2, a simplex is a triangle; and if d = 3, a simplex is a tetrahedron. The points zi i 0: d are the vertices of K. { } ∈{ } Example 3.2 (Unit simplex). The unit simplex in Rd corresponds to the d choice x R 0 xi 1, i 1:d , i 1: d xi 1 .
    [Show full text]
  • Linear Algebra / Transformations
    Transformations VVeeccttoorrss,, bbaasseess,, aanndd mmaattrriicceess TTrraannssllaattiioonn,, rroottaattiioonn,, ssccaalliinngg HHoommooggeenneeoouuss ccoooorrddiinnaatteess 33DD ttrraannssffoorrmmaattiioonnss 33DD rroottaattiioonnss TTrraannssffoorrmmiinngg nnoorrmmaallss Uses of Transformations • Modeling transformations – build complex models by positioning simple components – transform from object coordinates to world coordinates • Viewing transformations ± placing the virtual camera in the world ± i.e. specifying transformation from world coordinates to camera coordinates • Animation ± vary transformations over time to create motion CAMERA OBJECT WORLD 1 Rigid Body Transformations Rotation angle and line about which to rotate Non-rigid Body Transformations 2 General Transformations Q = T(P) for points V = R(u) for vectors Background Math: Linear Combinations of Vectors • Given two vectors, A and B, walk any distance you like in the A direction, then walk any distance you like in the B direction • The set of all the places (vectors) you can get to this way is the set of linear combinations of A and B. • A set of vectors is said to be linearly independent if none of them is a linear combination of the others. V A V = v1A + v2B, (v1,v2) B 3 Bases • A basis is a linearly independent set of vectors whose combinations will get you anywhere within a space, i.e. span the space • n vectors are required to span an n-dimensional space • If the basis vectors are normalized and mutually orthogonal the basis is orthonormal • There are lots of
    [Show full text]
  • CS664 Computer Vision 5. Image Geometry
    CS664 Computer Vision 5. Image Geometry Dan Huttenlocher First Assignment Wells paper handout for question 1 Question 2 more open ended – Less accurate approximations • Simple box filtering doesn’t work – Anisotropic, spatially dependent 2 Image Warping Image filtering: change range of image g(x) = T¸f(x) f g T Image warping: change domain of image g(x) = f(T(x)) f g T 3 Feature Detection in Images Filtering to provide area of support – Gaussian, bilateral, … Measures of local image difference – Edges, corners More sophisticated features are invariant to certain transformations or warps of the image – E.g., as occur when viewing direction changes 4 Parametric (Global) Warping Examples of parametric warps: translation rotation projective affine cylindrical 5 Parametric (Global) Warping T p = (x,y) p’ = (x’,y’) p’ = T(p) What does it mean that T is global? – Same function for any point p – Described by a few parameters, often matrix x' x p’ = M*p ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ = M⎢ ⎥ ⎣y'⎦ ⎣y⎦ 6 Scaling Scaling a coordinate means multiplying each of its components (axes) by a scalar Uniform scaling means this scalar is the same for all components: × 2 7 Scaling Non-uniform scaling: different scalars per component: X × 2, Y × 0.5 8 Scaling Scaling operation: x'= ax y'= by Or, in matrix form: ⎡x'⎤ ⎡a 0⎤⎡x⎤ ⎢ ⎥ = ⎢ ⎥⎢ ⎥ ⎣y'⎦ ⎣0 b⎦⎣y⎦ scaling matrix S What’s inverse of S? 9 2-D Rotation (x’, y’) About origin (x, y) x’ = x cos(θ) - y sin(θ) θ y’ = x sin(θ) + y cos(θ) 10 2-D Rotation This is easy to capture in matrix form: ⎡x'⎤ ⎡cos(θ ) − sin(θ )⎤⎡x⎤
    [Show full text]
  • CMSC427 Computer Graphics
    CMSC427 Computer Graphics Matthias Zwicker Fall 2018 Today Transformations & matrices • Introduction • Affine transformations • Concatenating transformations 2 Introduction • Goal: Freely position rigid objects in 3D space 3 Today Transformations & matrices • Introduction • Affine transformations • Concatenating transformations 4 Affine transformations • Transformation, or mapping: function that maps each 3D point to a new 3D point „f: R3 -> R3“ • Affine transformations: class of transformations to position 3D objects in space • Affine transformations include – Rigid transformations • Rotation • Translation – Non-rigid transformations • Scaling • Shearing 5 Affine transformations • Definition: mappings that preserve colinearity and ratios of distances http://en.wikipedia.org/wiki/Affine_transformation – Straight lines are preserved – Parallel lines are preseverd • Linear transformations + translation • Nice: All desired transformations (translation, rotation) implemented using homogeneous coordinates and matrix- vector multiplication 6 Problem statement • If you know the (rigid, or affine) transformation that you want to apply, how do you construct a matrix that implements that transformation? – For example, given translation vector, rotation angles, what is the matrix that implements this? 7 Translation Point Vector 8 Matrix formulation Point Vector 9 Matrix formulation • Inverse translation • Verify that 10 Poll Given vector t and a corresponding translation matrix T(t), you want to translate by 2*t. The corresponding translation matrix
    [Show full text]
  • Affine Transformations
    A little quick math background • Linear transformations • Matrices – Matrix-vector multiplication 2D Geometric Transformations – Matrix-matrix multiplication • Implicit and explicit geometry CS 465 Lecture 8 Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 1 Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 2 Implicit representations Explicit representations • Equation to tell whether we are on the curve • Also called parametric • • Equation to map domain into plane • Example: line – – • Example: line • Example: circle – – • Example: circle • Always define boundary of region – – (if f is continuous) • Like tracing out the path of a particle over time • Variable t is the “parameter” Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 3 Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 4 Transforming geometry Translation • Move a subset of the plane using a mapping from the • Simplest transformation: plane to itself • Inverse: – • Example of transforming circle • Parametric representation: – • Implicit representation: – – Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 5 Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 6 Linear transformations Geometry of 2D linear trans. • Any transformation with the property: • 2x2 matrices have simple geometric interpretations – – uniform scale • Can be represented using matrix multiplication – non-uniform scale – rotation – – shear – reflection • Reading off the matrix Cornell CS465 Fall 2005 • Lecture 8 © 2005 Steve Marschner • 7 Cornell
    [Show full text]