3d

There's a total of 10 notes.




Tue, Apr 26, 2016

Quaternions

Quaternions are an alternate way to describe orientation or rotations in 3D space using an ordered set of four numbers. They have the ability to uniquely describe any 3D rotation about an arbitrary axis and do not suffer from a problem using Euler angles called gimbal lock.
Wed, Mar 16, 2016

Culling & Clipping

The math behind culling and clipping and how it's related to the camera and what it sees. - **Culling** is a process where geometry that’s not visible from the camera is discarded to save processing time. - **Clipping** is a process that removes parts of primitives that are outside the view volume (clipping against the six faces of the view volume).
Tue, Mar 8, 2016

Transformation Matrix to Transform Objects from NDC Coordinates to Screen Coordinates (Viewport Transform)

One matrix transformation in the 3D to 2D transformation pipeline is the viewport transform, where objects are transformed from normalized device coordinates (NDC) to screen coordinates (SC). In short, it's the transformation of numbers in the range [-1, 1] to numbers corresponding to pixels on the screen, which is a linear mapping computed with linear interpolation. In this article, I cover the math behind the generation of the viewport transformation matrix.
Sun, Feb 14, 2016

Transformation Matrix for Projection of 3D Objects into a 2D Plane (Projection Transform)

In computer graphics, 3D objects created in an abstract 3D world will eventually need to be displayed on a screen. To view these objects on a 2D plane like a screen, objects will need to be projected from the 3D space to the 2D plane with a transformation matrix. In this article, I cover two types of transformations: orthographic projection and perspective projection, and analyze the math behind the transformation matrices.
Sat, Feb 13, 2016

Transformation Matrix to Transform 3D Objects from World Space to View Space (View Transform)

One matrix transformation in the 3D to 2D transformation pipeline is the view transform, where objects are transformed from world space to view space using a transformation matrix. In this article, I cover the math behind the generation of this transformation matrix.
Fri, Feb 5, 2016

Translating Objects with a Transformation Matrix

We build different types of transformation matrices to translate objects along cardinal axes and arbitrary axes in 2D and 3D with matrix multiplication!
Fri, Feb 5, 2016

Shearing Objects with a Transformation Matrix

Shearing is a transformation that skews the coordinate space. The idea is to add a multiple of one coordinate to another.
Tue, Dec 15, 2015

Introduction to Rotation for Computer Graphics

The basics of rotation in 2D and 3D for computer graphics, with a focus on 3D rotation about cardinal axes and 3D rotation with quaternions. For quaternions, please also look at [https://eater.net/quaternions](https://eater.net/quaternions) for amazing animations!
Tue, Oct 20, 2015

Scaling Objects with a Transformation Matrix

We build different types of transformation matrices to scale objects along cardinal axes and arbitrary axes in 2D and 3D with matrix multiplication!
Thu, Oct 15, 2015

Transformation Matrix

A linear transformation can be represented with a matrix that transforms vectors from one space to another. Transformation matrices allow arbitrary transformations to be displayed in the same format. Also, matrices can be multiplied to enable [composition](../combining-transformations). This article covers how to think and reason about these matrices and the way we can represent them (row vectors vs. column vectors).