Fundamentals of Computer Graphics and Image Processing Transformations, Projections (02) RNDr. Martin Madaras, PhD. madaras@skeletex.xyz
Overview 2D Transformations Basic 2D transformations Matrix representation Matrix composition 3D Transformations Basic 3D transformations Same as 2D 2
How the lectures should look like #1 Ask questions, please!!! - Be communicative - www.slido.com #ZPGSO02 - More active you are, the better for you! - We will go into depth as far, as there are no questions - 3
Geometry space Scene Virtual representation of world Objects Visible objects (“real world”) Invisible objects (e.g. lights, cameras, etc.) 4
Full scene definition Objects What objects, where, how transformed To be discussed early during course How they look – color, material, texture... To be discussed later during course Camera Position, target, camera parameters 5
Coordinate system Cartesian coordinates in 2D Origin x axis y axis (5,3) 6
Coordinate systems Global One for whole scene Local Individual for every model Pivot point Camera coordinates Window coordinates Units may differ Conversion between coordinate spaces 7
Global/local/camera coords. 8
Essential basic algebra 9
Point Position in space Cartesian coordinates ( , ) x y ( , , ) x y z Homogeneous coordinates ( , , 1 ) x y Subtraction of points Translation ( , , , 1 ) x y z Notation: P , A , … 10
Vector Direction in space Has no position ( , ) x y Subtraction of 2 points ( , , ) x y z Cartesian coordinates ( , , 0 ) x y Homogeneous coordinates ( , , , 0 ) x y z Notation: , , u v n 11
Vector Addition Point + vector = point Vector + vector = vector Subtraction Point – point = vector Point – vector = point + (-vector) = point Vector – vector = vector + (-vector) = vector Multiplication Multiplier * vector = vector 12
Ask questions Ask questions, please!!! - Be communicative - www.slido.com #PPGSO02 - More active you are, the better for you! - 13
Transformations 14
2D Modeling Transformations Modeling space and World space 15
2D Modeling Transformations Transformed instances 16
2D Modeling Transformations Transformation identity 17
2D Modeling Transformations Scaling applied… 18
2D Modeling Transformations Scaling and rotation applied… 19
2D Modeling Transformations Scaling, rotation and translation applied… 20
2D Modeling Transformations Translation: x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale: x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation: x’ = x* cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 21
2D Modeling Transformations Translation: x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale: x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation: x’ = x* cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 22
2D Modeling Transformations Translation: x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale : x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation: x’ = x* cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 23
2D Modeling Transformations Translation: x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale: x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation : x’ = x *cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 24
2D Modeling Transformations Translation : x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale: x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation: x’ = x* cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 25
2D Modeling Transformations Translation: x’ = x + 𝑢 𝑦 y’ = y + 𝑢 𝑧 Scale: x’ = x * 𝑡 𝑦 y’ = y * 𝑡 𝑧 Rotation: x’ = x* cos Θ - y*sin Θ y’ = x* sin Θ + y*cos Θ 26
Overview 2D Transformations Basic 2D transformations Matrix representation Matrix composition 3D Transformations Basic 3D transformations Same as 2D 27
Matrix Representation Represent 2D transformation by a matrix 𝑏 𝑐 𝑑 𝑒 Multiply matrix by column vector ⇔ transformation of a point 𝑦 𝑦′ 𝑧′ = 𝑏 𝑐 𝑦 ′ = 𝑏𝑦 + 𝑐𝑧 𝑧 𝑑 𝑒 𝑧 ′ = 𝑑𝑦 + 𝑒𝑧 28
Matrix Representation Transformations combined by multiplication 𝑦 𝑓 𝑔 𝑦′ 𝑗 𝑘 𝑧′ = 𝑏 𝑐 𝑧 ℎ 𝑑 𝑒 𝑙 𝑚 Matrices are a convenient and efficient way to represent a sequence of transformations! 29
2x2 Matrices What transformations can be represented by a 2x2 matrix? 2D Identity? 𝑦 𝑦′ 𝑧′ = 1 0 𝑦 ′ = 𝑦 𝑧 = 𝑧 𝑧 0 1 2D Scale around origin (0,0)? 𝑧′ = 𝑡 𝑦 0 𝑦 𝑦′ 𝑦 ′ = 𝑡 𝑦 ∗ 𝑦 𝑧 = 𝑡 𝑧 ∗ 𝑧 𝑧 0 𝑡 𝑧 30
2x2 Matrices What transformations can be represented by a 2x2 matrix? 2D Rotate around origin (0,0)? 𝑦 ′ = x ∗ cos 𝜄 − y ∗ sin 𝜄 𝑦 𝑦′ 𝑧′ = cos 𝜄 − sin 𝜄 𝑧 ′ = x ∗ 𝑡𝑗𝑜 𝜄 + y ∗ 𝑑𝑝𝑡 𝜄 𝑧 𝑡𝑗𝑜 𝜄 𝑑𝑝𝑡 𝜄 2D Shear? 𝑦 ′ = 𝑦 + 𝑡ℎ 𝑦 ∗ 𝑧 𝑦 1 𝑡ℎ 𝑦 𝑦′ 𝑧 ′ = 𝑡ℎ 𝑧 ∗ 𝑦 + 𝑧 𝑧′ = 𝑧 𝑡ℎ 𝑧 1 31
2x2 Matrices What transformations can be represented by a 2x2 matrix? 2D Mirror over Y axis? 𝑦 ′ = −𝑦 𝑦 𝑦′ 𝑧′ = −1 0 𝑧 ′ = 𝑧 𝑧 0 1 2D Mirror over (0,0)? 𝑦 ′ = −𝑦 𝑦 𝑦′ 𝑧′ = −1 0 𝑧 ′ = −𝑧 𝑧 0 −1 32
2x2 Matrices What transformations can be represented by a 2x2 matrix? 2D Translation? 𝑦 ′ = 𝑦 + 𝑢 𝑦 𝑦 𝑦′ 𝑧′ = ? ? 𝑧 ′ = 𝑧 + 𝑢 𝑧 𝑧 ? ? Only a linear 2D transformations can be represented by a 2x2 matrix 33
Linear Transformations Linear transformations are combinations of .. Scale Rotation Shear Mirror Properties of linear transformations: Satisfies: 𝑈 𝑡 1 𝑞 1 + 𝑡 2 𝑞 2 = 𝑡 1 𝑈 𝑞 1 + 𝑡 2 𝑈(𝑞 1 ) Origin maps to origin Lines map to lines Parallel lines remain parallel Ratios are preserved Closed under composition 34
2D Translation 2D translation represented by a 3x3 matrix Point represented in homogenous coordinates 𝑦 ′ = 𝑦 + 𝑢 𝑦 𝑦 ′ 1 0 𝑢 𝑦 𝑦 𝑧 ′ = 𝑧 + 𝑢 𝑧 = 𝑧 ′ 𝑧 0 1 𝑢 𝑧 1 1 0 0 1 35
Homogenous Coordinates Add a 3rd coordinate to every 2D point (x,y,w) represents a point at location (x/w, y/w) (x,y,0) represents a point at infinity (0,0,0) is not allowed 36
Basic 2D Transformations Basic 2D transformations as 3x3 matrices 𝑦 ′ 𝑦 ′ 1 0 𝑢 𝑦 𝑦 𝑡 𝑦 0 0 𝑦 = = 𝑧 ′ 𝑧 ′ 𝑧 𝑧 0 1 𝑢 𝑧 0 𝑡 𝑧 0 1 1 1 1 0 0 1 0 0 1 Translate Scale 𝑦 ′ 𝑦 ′ 𝑦 1 𝑡ℎ 𝑦 0 𝑦 cos 𝜄 −sin 𝜄 0 = = 𝑧 ′ 𝑧 ′ 𝑧 𝑧 𝑡ℎ 𝑧 1 0 sin 𝜄 cos 𝜄 0 1 1 0 0 1 1 1 0 0 1 Rotate Shear 37
Affine Transformations Affine transformations are combinations of... Linear transformations, and Translations 𝑦 ′ 𝑦 𝑏 𝑐 𝑑 = 𝑧 ′ 𝑧 𝑒 𝑓 𝑔 𝑥 0 0 1 𝑥′ Properties of affine transformations: Origin does not necessarily map to origin Lines map to lines Parallel lines remain parallel Ratios are preserved Closed under composition 38
Projective Transformations Projective transformations: 𝑦 ′ 𝑏 𝑐 𝑑 𝑦 𝑧 ′ = 𝑒 𝑓 𝑔 𝑧 𝑥 ℎ 𝑗 𝑥′ Properties of projective transformations: Origin does not necessarily map to origin Lines map to lines Parallel lines do not necessarily remain parallel Ratios are not preserved Closed under composition 39
Overview 2D Transformations Basic 2D transformations Matrix representation Matrix composition 3D Transformations Basic 3D transformations Same as 2D 40
Matrix Composition Transformations can be combined by matrix multiplication 𝑦 ′ 1 0 𝑢 𝑦 𝑡 𝑦 0 0 𝑦 cos 𝜄 −sin 𝜄 0 𝑧 ′ = 𝑧 0 1 𝑢 𝑧 0 𝑡 𝑧 0 sin 𝜄 cos 𝜄 0 𝑥 0 0 1 𝑥′ 0 0 1 0 0 1 P’ = T( 𝑢 𝑦 , 𝑢 𝑧 ) R( 𝜄 ) S( 𝑡 𝑦 , 𝑡 𝑧 ) P 41
Matrix Composition Matrices are a convenient and efficient way to represent a sequence of transformations General purpose representation Hardware matrix multiply Efficiency with premultiplication Matrix multiplication is associative P’ = (T * (S * (R * p))) P’ = (T * S * R) * p 42
Recommend
More recommend