ScholarQuill logoScholarQuillUniversity Notes
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
Study Tools
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
Contact
ScholarQuill logo
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
ScholarQuill logoScholarQuillUniversity Notes
Study PortalCOMP3145Homogeneous Coordinate…
Ctrl + K
Login
Explore
Search
Semester
Papers
CGPA
    COMP3145

    HCI & Computer Graphics

    Progress0 / 73 done
    Topics73
    1Input-output channels2Human memory3Thinking, Reasoning, Problem solving4Emotions and Individual differences5Psychology and design of interacting systems
    6Text entry devices7Positioning, Pointing, and drawing devices8Display devices9Devices for virtual reality and 3D interaction10Physical controls, Sensors and special devices11Paper printing and scanning12Memory, Processing and networks
    13Models of interaction14Frameworks and HCI15Ergonomics16Interaction styles17Elements of the WIMP interfaces18Interactivity and Context of interaction
    19Introduction20Paradigms for interaction
    21What is design22Process of design and User focus23Navigation design24Screen design and layout25Iteration and prototyping
    26Software life cycle27Usability engineering28Iterative design and prototyping29Design rationale30Design rules and Guidelines31Golden rules and heuristics32HCI patterns33Evaluation techniques and methods34Task analysis35Universal design36User support systems37Computer Supported Cooperative Work38Groupware systems39Implementation of synchronous groupware40Ubiquitous computing41History of Computer Graphics42Graphics architectures and software
    43Pinhole camera, Human vision, Synthetic camera44Modeling vs. rendering45OpenGL Architecture46Displaying simple two-dimensional geometric objects47Positioning systems and windowed environment48Color perception and models49RGB, CMY, HLS color models50Color transformations
    51RGB and indexed color
    52Network environment and client-server computing
    53event, sample and request input54Using callbacks and picking
    55translation, rotation, scaling, shear56Homogeneous coordinates and concatenation57Current transformation and matrix stacks
    58Classical viewing59Specifying views in 3D60Affine transformation in 3D61Projective transformations62Ray tracing
    63Illumination and surface modeling64Phong shading model65Polygon shading
    66Line drawing via Bresenham's algorithm67Clipping and polygonal fill68BitBlt operations69Hidden surface removal (z buffer)
    70Buffers71Reading and writing bitmaps and pixel maps72Texture mapping73Compositing
    5 min read
    Topic 56 of 73
    Topic Study Note Illustration
    56

    Homogeneous coordinates and concatenation

    Definition: Homogeneous coordinates are a system of coordinates used in computer graphics that allows affine transformations (translation, rotation, scaling, shear) to be represented as matrix multiplications .

    1. Homogeneous Coordinates

    Definition: Homogeneous coordinates are a system of coordinates used in computer graphics that allows affine transformations (translation, rotation, scaling, shear) to be represented as matrix multiplications.

    • In 2D: a point (x,y)(x, y)(x,y) is represented as (x,y,1)(x, y, 1)(x,y,1)
    • In 3D: a point (x,y,z)(x, y, z)(x,y,z) is represented as (x,y,z,1)(x, y, z, 1)(x,y,z,1)

    Why use homogeneous coordinates?

    • Translation can be represented as matrix multiplication, like other linear transformations
    • Allows concatenation of multiple transformations into a single matrix
    • Simplifies computations in graphics pipelines

    Example (2D Translation): Point P=(x,y)P = (x, y)P=(x,y) Translation by (tx,ty)(tx, ty)(tx,ty):

    T=[10tx 01ty 001],P′=T⋅[x y 1]=[x+tx y+ty 1]T = \begin{bmatrix} 1 & 0 & tx \ 0 & 1 & ty \ 0 & 0 & 1 \end{bmatrix}, \quad P' = T \cdot \begin{bmatrix} x \ y \ 1 \end{bmatrix} = \begin{bmatrix} x + tx \ y + ty \ 1 \end{bmatrix}T=[1​0​tx 0​1​ty 0​0​1​],P′=T⋅[x y 1​]=[x+tx y+ty 1​]

    2. Concatenation of Transformations

    Definition: Concatenation is the process of combining multiple transformations into a single matrix by matrix multiplication.

    Key Points:

    • If you have multiple transformations (e.g., scale, then rotate, then translate), you can concatenate them:
    Mfinal=T⋅R⋅SM_{\text{final}} = T \cdot R \cdot SMfinal​=T⋅R⋅S
    • Then apply the single matrix MfinalM_{\text{final}}Mfinal​ to the point:
    P′=Mfinal⋅PP' = M_{\text{final}} \cdot PP′=Mfinal​⋅P
    • This reduces computation and simplifies transformation pipelines.

    Important:

    • Order matters! Matrix multiplication is not commutative.

      • Example: Translate → Rotate ≠ Rotate → Translate

    3. Example in 2D

    Suppose we want to scale, rotate, and translate a point P=(2,3)P = (2, 3)P=(2,3):

    1. Scale: Sx=2,Sy=3Sx = 2, Sy = 3Sx=2,Sy=3
    S=[200 030 001]S = \begin{bmatrix} 2 & 0 & 0 \ 0 & 3 & 0 \ 0 & 0 & 1 \end{bmatrix}S=[2​0​0 0​3​0 0​0​1​]
    1. Rotate: θ = 90°
    R=[0−10 100 001]R = \begin{bmatrix} 0 & -1 & 0 \ 1 & 0 & 0 \ 0 & 0 & 1 \end{bmatrix}R=[0​−1​0 1​0​0 0​0​1​]
    1. Translate: tx=5,ty=2tx = 5, ty = 2tx=5,ty=2
    T=[105 012 001]T = \begin{bmatrix} 1 & 0 & 5 \ 0 & 1 & 2 \ 0 & 0 & 1 \end{bmatrix}T=[1​0​5 0​1​2 0​0​1​]

    Concatenated Transformation:

    Mfinal=T⋅R⋅SM_{\text{final}} = T \cdot R \cdot SMfinal​=T⋅R⋅S

    Apply to point:

    P′=Mfinal⋅[2 3 1]P' = M_{\text{final}} \cdot \begin{bmatrix} 2 \ 3 \ 1 \end{bmatrix}P′=Mfinal​⋅[2 3 1​]

    This gives the final transformed position in one step.


    4. Advantages of Homogeneous Coordinates and Concatenation

    • All transformations (translation, rotation, scaling, shear) are matrix multiplications.
    • Enables easy combination of multiple transformations.
    • Essential in graphics pipelines, animation, and modeling.
    • Facilitates 3D transformations and projections.

    5. Summary

    Concept Definition Benefit
    Homogeneous coordinates Extend points with an extra dimension (x, y, 1) or (x, y, z, 1) Allows translation to be expressed as matrix multiplication
    Concatenation Combining multiple transformations into one matrix Efficient computation, single-step transformation, easier pipeline
    ← Previous topic 55
    Affine transformations: translation, rotation, scaling, shear
    Next topic 57 →
    Current transformation and matrix stacks

    Past Papers

    Open this section to view and download past papers

    Click on Show Past Papers to load available exam papers.

    Reading Progress
    0%
    5mremaining
    841words
    Beginnerlevel
    On This Page

    No headings found

    Study Toolkit

    Subject Portal

    HCI & Computer Graphics