## Dual Numbers & Automatic Differentiation

In the last post, I talked about imaginary numbers, complex numbers, and how to use them to rotate vectors in 2d. In this post, I want to share another interesting type of number called a “Dual Number” that uses the … Continue reading

## Using Imaginary Numbers To Rotate 2D Vectors

I’m a big fan of “exotic” math and programming techniques. There’s nothing I like more than seeing something common used in an uncommon way to do something that I didn’t know was possible. In this post I share a technique … Continue reading

## Four Ways to Calculate Sine Without Trig

Is it possible to sin without trig? That is a question that has plagued theologians for centuries. As evil as trigonometry is, modern science shows us that yes, it is possible to sin without trig. Here are some ways that … Continue reading

## One Dimensional Bezier Curves

I was recently looking at the formula for bezier curves: Quadratic Bezier curve: A * (1-T)^2 + B * 2 * (1-T) * T + C * T ^2 Cubic Bezier curve: A*(1-T)^3+3*B*(1-T)^2*T+3*C*(1-T)*T^2+D*T^3 (more info available at Bezier Curves Part … Continue reading

## What if My Equation DOESN’T Equal Zero??

Take a simple equation such as y = 2x. You can transform that into the equation 2x – y = 0, and then could write it as f(x,y) = 2x – y = 0. Now we have some function of … Continue reading

## Analytic Fog Density

There are a number of ways to implement the effect of fog with modern real time rendered graphics. This blog post will explain how to render fog that has varying density, based on a function of X,Y,Z location in space, … Continue reading

## Feistel Networks – Do They Have to use XOR?

If you have no idea what a Feistel network is, but like cryptography and/or random number generation algorithms, read this link first: Fast & Lightweight Random “Shuffle” Functionality – FIXED! As a quick refresher, to encrypt data with a Feistel … Continue reading

## Bezier Curves Part 2 (and Bezier Surfaces)

This is a follow up post to Bezier Curves. My plan was to write a post about b-splines and nurbs next, but after looking into them deeper, I found out they aren’t going to work for my needs so I’m … Continue reading

## Implicit vs Parametric vs Explicit Surfaces

Implicit Surface It’s always R = 0 where R is a function of one or more variables. Like the unit circle equation: x^2 + y^2 -1 = 0. Parametric Surface The components of the output are based on some parameter … Continue reading

## Bezier Curves

Bezier curves are pretty cool. They were invented in the 1950s by Pierre Bezier while he was working at the car company Renault. He created them as a succinct way of describing curves mathematically that could be shared easily with … Continue reading