64bitdragon
Categories
3d graphics
Faces
A face is a collection of vertices that is rendered by a renderer. Includes example code in Python.
Vertices
Vertices are used to describe points in 3d space. Includes example code in Python.
Computer Graphics
Heightmaps
Heightmaps represent a 3D surface as a 2D image. Each pixel is a point on the surface with it's brightness as the elevation. includes example code in Python.
Cryptography
One-way Functions
One-way functions are a special subset of functions that are easy to compute but hard to compute their inverse. Includes example code in Python.
Trapdoor Functions
Trapdoor functions are infeasible to invert without an extra piece of information. Includes example code in Python.
Data Encoding
base64
Base64 is a method of converting binary data into text data to make it easier to store and transfer. Includes example code in Python.
Binary And Text data
Data can be represented either as a represented as a sequence of characters or as a sequence of bytes. Includes example code in Python.
Bit Shifting
Bit shifting is an operation that works on the bits of individual bytes or multi-byte structures such as integers. Bits can be shifted either left or right. Includes example code in Python.
Bitwise Operations
An introduction to Bit Manipulation and Bitwise Operations of AND, OR, and XOR. Includes example code in Python.
Fixed Point Numbers
Fixed point numbers are a simple approach to encoding decimal numbers in a binary format.
Data Processing
Min-Max Normalization
Min-max normalization is an operation which rescales a set of numbers to a new range. Includes example code in Python.
Data Structures
Properties of Binary Trees
A binary tree is a type of tree in which each each node has at most two child branches. This article lists its various properties.
Binary Trees
A binary tree is a tree in which each node has at most two child branches. Types of binary tree include full trees, complete trees, and perfect trees.
Storing complete trees in arrays
A full binary tree can be stored in an array by first labelling each node with a number in ascending order, and then using that label as the array index.
Properties of Full Binary Trees
A full binary tree is a binary tree in which each node has exactly 0 or 2 child branches. This article lists its various properties.
Trees
Trees are structures that represent hierarchical data. They are formed of nodes in parent-child relationships. Includes example code in Python.
machine learning
Tensor Operations
Tensor operations modify tensors, either as an input, output, or both. Includes example code in python.
Tensors
Tensors are containers of multi-dimensional data, they have a rank, shape, and data type. Includes example code in Python.
Numerical Analysis
Interpolation
Interpolation is the method of estimating the value of y for a given x when we don't have a data point for it.
Kahan Summation
Kahan Summation is an algorithm that sums a set of floating point numbers while reducing the affects of rounding errors. Includes example code in Python.
Lagrange Interpolation
Lagrange interpolation is a method of finding a polynomial that interpolates a set of points. Includes example code in Python.
Linear Interpolation
Linear interpolation is a simple type of interpolation. It involves drawing a straight line between the two known points. Includes example code in Python.
Nearest Neighbor Interpolation
Nearest neighbor interpolation is the most simple type of interpolation, it's value is set to the closest known point. Includes example code in Python.
Quadratic Spline Interpolation
Quadratic spline interpolation interpolates a set of points by creating a quadratic curve between each of them.
Procedural Generation
Data structures for mazes
Using 2D arrays to store mazes. Includes example code in Python.
Generating Terrain Textures from Heightmaps
Uses image derivatives and other techniques to generate textures from a heightmap. Includes example code in OpenCV/EmguCV.
Maze generation with binary trees
How to represent and generate mazes as binary trees. Includes example code in Python.
Maze Generation with the Aldous-Broder algorithm
The Aldous-Broder algorithm can produce perfect completely random mazes, but is very slow. Includes example code in Python.
Maze generation with the hunt and kill algorithm
The hunt and kill algorithm can produce perfect mazes quickly, but favours long winding passages. Includes example code in Python.
Maze generation with the recursive backtracking algorithm
The recursive backtracking algorithm genrates mazes quickly by storing the current path as a stack, and backtracking when it hits a deadend. Includes example code in Python.
Maze generation with the sidewinder algorithm
How to represent and generate mazes using the Sidewinder algorithm. Includes example code in Python.
Maze generation with Wilson's algorithm
Wilson's algorithm can produce perfect completely random mazes, but is very slow. Includes example code in Python.
Midpoint Displacement in one dimension
Midpoint displacement is a recursive algorithm that subdivides a line into segments, adding randomness at each round. Includes example code in Python.
Midpoint Displacement in two dimensions
An extension to the midpoint displacement algorithm to generate noise in two dimension, includes example code written in Python.
Noise Functions
Noise functions generate random sequences that look more natural and organic than random number generators. Includes example code in Python.
Perlin Noise
Perlin noise produces good quality noise in any number of dimensions. Includes code in Python.
The Diamond Square Algorithm
The diamond square algorithm allows us to generate 2D heightmaps that can be used for terrain generation. Includes example code in Python.