37d ago
AS

W2: Transformations

Introduction to Transformations

Course Title:


CSCI 3090 - TransformationsInstructor: Mark Green, Faculty of Science, Ontario Tech

Goals of the Course

By the end of today’s class, students will:

  • Use transformation matrices to calculate changes to points and vectors.

  • Explain the concept of homogeneous coordinates and its relevance in transformations.

  • Be able to program rotations around an arbitrary axis in 3D, understanding the implications of rotation matrices.

Importance of Transformations

Transformations are crucial in computer graphics, robotics, virtual reality, and modeling, as they allow for manipulation of objects in space. Key transformations include:

  • Translation: Moving objects from one location to another in a coordinate system.

  • Scaling: Changing the size of objects while maintaining their proportions or varying them non-uniformly.

    Rotation: Spinning objects around a specified point or axis. Many transformations can be represented mathematically through matrices and vector operations, facilitating efficient computations.

Types of Transformations in 2D

Objective: Represent movements of objects in space, ensuring proper spatial relationships are maintained. Common transformations include:

  • Translation: Moving points in space by a specified distance in the x and y directions.

  • Rotation: Turning points around a specific point, usually the origin, by a given angle.

  • Scaling: Altering the size of objects by applying multiplication factors to their dimensions.

  • Mirroring: Creating a mirrored image of the object across a specified axis.

  • Shearing: Distorting the shape of an object by shifting its points along an axis.

  • Combinations of the above transformations: Applying multiple transformations sequentially to achieve complex effects.

Translation in 2D

Definition: Moves a point from one position to another using a displacement vector.

Mathematical Representation: A translation of (dx, dy) moves point (x, y) to (x + dx, y + dy).Note: Translations are not commonly applied to vectors as they represent directional quantities rather than specific locations.

Scaling in 2D

Purpose: To alter the size of an object while maintaining its overall shape according to specified factors.

Scaling an object centered at the origin is performed mathematically by the equation:

  • Scale Point: (sx * x, sy * y) For points and vectors, scaling operations are straightforward.

  • Problem: If the object is not centered at the origin, perform the following steps:

  1. Translate the object center to the origin.

  2. Apply the scale transformation.

  3. Translate back to the original location.

Uniform and Non-Uniform Scaling in 2D

  • Uniform Scaling: Scaling uniformly in all directions using a scalar factor (a).

    • Mathematical Form: (x, y) -> (a * x, a * y).

  • Non-Uniform Scaling: Applying different scaling factors for x and y (a, b).


    • Mathematical Form: (x, y) -> (a * x, b * y).Note: Non-uniform scaling may not be supported by some algorithms, impacting graphical fidelity.

Rotation in 2D

Concept: Rotation occurs about the origin and is visualized as a counter-clockwise movement through an angle defined in radians.

Mathematical Representation: For point (x, y), after rotation by angle (α):

  • x' = x * cos(α) - y * sin(α)

  • y' = x * sin(α) + y * cos(α)

Transformation of Points and Objects

For transformations to apply solely to specific objects, follow this process:

  1. Translate the object to the origin to simplify calculations.

  2. Apply the intended rotation or scaling operation.

  3. Translate the object back to its original location to restore its position in the graphic space.

Matrix Representation of Transformations

Transformations such as scaling and rotation can be simplified and represented using 2x2 matrices.

Point Representation: Points in 2D can be represented as column vectors, facilitating arithmetic operations.

Combining Transformations: To combine transformations M and N, execute:

  • x'' = N(Mx) = (NM)x, which allows representation of a sequence of transformations with a single matrix to optimize performance.

3D Transformations

In 3D, we utilize 4x4 transformation matrices to encapsulate complex transformations.

3D transformations include additional complexities such as rotation along an arbitrary axis which necessitates parameters like the angle of rotation, center of rotation, and axis of rotation.

Homogeneous Coordinates

To incorporate translations seamlessly into matrix operations, a third component is added to points:

  • 2D: (x, y) becomes (x, y, 1) for uniformity.This adjustment allows translation to be represented in a matrix format (3x3) alongside other transformations.

Transforming Normal Vectors

Normal vectors must be adjusted post-transformation to remain orthogonal to surfaces. If using non-uniform scaling, the normal direction must be recalibrated using the inverse transpose of the transformation matrix to maintain accuracy in 3D calculations.

Reflection and Shear Transformations

  • Reflection: Involves reflecting objects about a specified line in 2D or a defined plane in 3D.

  • Shearing: A transformation that slides one end of an object to create a slanted effect, often requiring complex calculations when reflecting about arbitrary lines or planes.

Decomposing Transformations

In some cases, it’s essential to analyze a transformation matrix into its constituent parts.Any transformation can be decomposed into sequences of translation, rotation, and scaling matrices, facilitating better understanding and manipulation.

  • Matrix Stability: To ensure matrices exhibit desired properties, they must be symmetric, which can be verified and enhanced using techniques like Eigenvalue decomposition to ease the computation tasks.

Summary of Learning Objectives

Main Learnings: The course provides an in-depth understanding of standard transformations, homogeneous coordinates, and the mathematical principles of matrix composition. Future classes will focus on practical applications, including OpenGL programming, hierarchical modeling techniques, and the exploration of implicit and parametric geometry.

knowt logo

W2: Transformations

Introduction to Transformations

Course Title:

CSCI 3090 - TransformationsInstructor: Mark Green, Faculty of Science, Ontario Tech

Goals of the Course

By the end of today’s class, students will:

  • Use transformation matrices to calculate changes to points and vectors.

  • Explain the concept of homogeneous coordinates and its relevance in transformations.

  • Be able to program rotations around an arbitrary axis in 3D, understanding the implications of rotation matrices.

Importance of Transformations

Transformations are crucial in computer graphics, robotics, virtual reality, and modeling, as they allow for manipulation of objects in space. Key transformations include:

  • Translation: Moving objects from one location to another in a coordinate system.

  • Scaling: Changing the size of objects while maintaining their proportions or varying them non-uniformly.

    Rotation: Spinning objects around a specified point or axis. Many transformations can be represented mathematically through matrices and vector operations, facilitating efficient computations.

Types of Transformations in 2D

Objective: Represent movements of objects in space, ensuring proper spatial relationships are maintained. Common transformations include:

  • Translation: Moving points in space by a specified distance in the x and y directions.

  • Rotation: Turning points around a specific point, usually the origin, by a given angle.

  • Scaling: Altering the size of objects by applying multiplication factors to their dimensions.

  • Mirroring: Creating a mirrored image of the object across a specified axis.

  • Shearing: Distorting the shape of an object by shifting its points along an axis.

  • Combinations of the above transformations: Applying multiple transformations sequentially to achieve complex effects.

Translation in 2D

Definition: Moves a point from one position to another using a displacement vector.

Mathematical Representation: A translation of (dx, dy) moves point (x, y) to (x + dx, y + dy).Note: Translations are not commonly applied to vectors as they represent directional quantities rather than specific locations.

Scaling in 2D

Purpose: To alter the size of an object while maintaining its overall shape according to specified factors.

Scaling an object centered at the origin is performed mathematically by the equation:

  • Scale Point: (sx * x, sy * y) For points and vectors, scaling operations are straightforward.

  • Problem: If the object is not centered at the origin, perform the following steps:

  1. Translate the object center to the origin.

  2. Apply the scale transformation.

  3. Translate back to the original location.

Uniform and Non-Uniform Scaling in 2D

  • Uniform Scaling: Scaling uniformly in all directions using a scalar factor (a).

    • Mathematical Form: (x, y) -> (a * x, a * y).

  • Non-Uniform Scaling: Applying different scaling factors for x and y (a, b).

    • Mathematical Form: (x, y) -> (a * x, b * y).Note: Non-uniform scaling may not be supported by some algorithms, impacting graphical fidelity.

Rotation in 2D

Concept: Rotation occurs about the origin and is visualized as a counter-clockwise movement through an angle defined in radians.

Mathematical Representation: For point (x, y), after rotation by angle (α):

  • x' = x * cos(α) - y * sin(α)

  • y' = x * sin(α) + y * cos(α)

Transformation of Points and Objects

For transformations to apply solely to specific objects, follow this process:

  1. Translate the object to the origin to simplify calculations.

  2. Apply the intended rotation or scaling operation.

  3. Translate the object back to its original location to restore its position in the graphic space.

Matrix Representation of Transformations

Transformations such as scaling and rotation can be simplified and represented using 2x2 matrices.

Point Representation: Points in 2D can be represented as column vectors, facilitating arithmetic operations.

Combining Transformations: To combine transformations M and N, execute:

  • x'' = N(Mx) = (NM)x, which allows representation of a sequence of transformations with a single matrix to optimize performance.

3D Transformations

In 3D, we utilize 4x4 transformation matrices to encapsulate complex transformations.

3D transformations include additional complexities such as rotation along an arbitrary axis which necessitates parameters like the angle of rotation, center of rotation, and axis of rotation.

Homogeneous Coordinates

To incorporate translations seamlessly into matrix operations, a third component is added to points:

  • 2D: (x, y) becomes (x, y, 1) for uniformity.This adjustment allows translation to be represented in a matrix format (3x3) alongside other transformations.

Transforming Normal Vectors

Normal vectors must be adjusted post-transformation to remain orthogonal to surfaces. If using non-uniform scaling, the normal direction must be recalibrated using the inverse transpose of the transformation matrix to maintain accuracy in 3D calculations.

Reflection and Shear Transformations

  • Reflection: Involves reflecting objects about a specified line in 2D or a defined plane in 3D.

  • Shearing: A transformation that slides one end of an object to create a slanted effect, often requiring complex calculations when reflecting about arbitrary lines or planes.

Decomposing Transformations

In some cases, it’s essential to analyze a transformation matrix into its constituent parts.Any transformation can be decomposed into sequences of translation, rotation, and scaling matrices, facilitating better understanding and manipulation.

  • Matrix Stability: To ensure matrices exhibit desired properties, they must be symmetric, which can be verified and enhanced using techniques like Eigenvalue decomposition to ease the computation tasks.

Summary of Learning Objectives

Main Learnings: The course provides an in-depth understanding of standard transformations, homogeneous coordinates, and the mathematical principles of matrix composition. Future classes will focus on practical applications, including OpenGL programming, hierarchical modeling techniques, and the exploration of implicit and parametric geometry.