Welcome

Welcome to my page! You can find me at Bluesky or Mastodon. This is a collection of various little experiments, tutorials and explainers that I made. Mostly, these are made for fun for myself. I am happy though if any of the explainers could be helpful to someone! I like to write down math that I frequently use or am interested in, because, in my opinion, many source do not provide derivations or have only parts of it listed. So this is helpful to myself when I just want a refresher and writing something down also helps in understanding things! It is also fun to see how to include interactive elements into these.

Porting old pages to this new system is still a work in progress!

Resources

Rasterization

Screenshot of the final result of the rasterization course, showcasing a 3D scene with perspective, textures and transparency

A full course on rasterization. We will build a rasterizer directly in the browser from drawing lines to full on 3D graphics!

Go to the page

Sampling

Screenshot of the result of hemisphere sampling with a cosine weight

A collection of some common sampling algorithms and derivations used in computer graphics, specifically path tracing.

Go to the page

Quaternions

Screenshot of an axis angle representation in 3D

Quaternions in the context of computer graphics and rotations are often said to be incomprehensible. This article tries to show how to get geometric meaning from the rotation formula using vector math.

Go to the page

Low-rank filter

Exploration of a low-rank approximation of a filter

Image filters are used in basically every application working with images. This article explores the idea of approximating 2D filters with a number of 1D filters for potential speed gains.

Go to the page

Translating math symbols to code

An image showing the symbols currently covered on the page

This article provides a few examples of how to read some common math symbols and how that translates into code. This is aimed at people unfamiliar with math but want to code.

Go to the page

Applications of the dot product

An image showing a visualization of the dot product

The dot product is probably one of the most powerful tools in math (your mileage may vary). This article explores the dot product itself and some applications of its properties.

Go to the page

Coordinate transforms

An image showing a visualization of two coordinate systems and a point being expressed in both

Coordinate transforms are in every application that deals with objects in space (2D,3D,...). This article details the math of how to handle the common orthogonal frames encountered in robotics or computer graphics.

Go to the page

Bézier subinterval

An image showing a Bézier curve with a curve that is a subinterval of the first curve

This article explores how to find a Bézier curve for a subinterval of the parameter space and how to derive it

Go to the page

Taylor Series

An image showing the approximation of a function by a taylor series

A short introduction to Taylor Series.

Go to the page

Integrals

An image showing the idea of approximating the area underneath a graph by placing rectangles inside of it and computing their area. The left image shows placing 5 rectangles with heights corresponding to where the left side touches the graph, whereas the right image shows the same but aligned to the right rectangle sides

Basic introduction to integrals.

Go to the page

Epicycles

An image showing the traced out image of the default epicycle configuration in the article

Simple application that draws epicycles.

Go to the page

Shadow Mapping

Preview image from the shader, showing a simple 3D scene with basic lighting and 3 different shadow mapping techniques applied.

Basic overview and implementation of a few shadow mapping techniques.

Go to the page

Multivariate Derivative Rules

Screenshot of one of the derivative rules

Summary and derivations of a few multivariate derivative rules.

Go to the page

Complex Fourier Series

An example shape drawn and traced by the fourier series

An example of how to visualize a complex 2D series as a curve. You can draw a curve and the approximation will trace it approximately!

Go to the page

View Factor - Point - Disk

Geometrical setup used in a derivation in the article

Derivation of the geometric view factor between a point and a disk.

Go to the page

Camera Ray Generation

Preview image from the sahder, showing a simple 3D scene with basic lighting

How to get a ray from screen coordinates and a (view-) projection matrix. Includes a Shadertoy demo.

Go to the page

Playground

Algeobra Showcase

A collage of some of the visualizations contained in the article

A showcase of various interactive visualizations made using my own Algeobra dynamic geometry library.

Go to the page

Geodesic Raytracer

Screenshot of the geodesic raytracer, showing the space being bent, resulting in a kind of lens effect.

A raytracer going through curved space as a Shadertoy demo. Also includes explanation of the formulas being used.

Go to the page

Curvature Visualization

Screenshot of the visualization of the principal curvature of a distance field.

Visualizing principal and Gaussian curvature on distance fields and implicit surfaces.

Go to the page

2nd Order Implicit Distance Approximation

Screenshot of an implicit surface visualized using sphere tracing. The left side uses a first order approximation and the right side a second order one

Example of approximating the distance to an implicit surface with a second order approximation.

Go to the page

Coordinate Stretching Visualization

Screenshot of the shader. On the left side, a grid is shown. The grid is transformed to the shape on the right. The colors highlight how much space is stretched or squished.

Visualizing the squishing and stretching that occurs when changing coordinates.

Go to the page

Pet Simulator

Screenshot of the game

A simple game about walking around and petting animals.

Go to the page

Evenly Matched Opponents

Screenshot of the game

A simple self-running game about multiple opponents trying to color in as much of the map as possible into their own color.

Go to the page

Friendly Robot Arm

Screenshot of the game

Simulating a robot arm trying to touch the user's cursor using two different inverse kinematik (IK) methods.

Go to the page