mathr / blog / #

RSSgraphics

Deep zoom theory and practice (again)

Perturbation with rebasing, and bilinear approximation, for efficient rendering of fractal images.

Reflex reboot

A forward-rendered project from 2009 is remade using ray-tracing of signed distance fields.

kf-2.15.5 released

Many new features, bugfixes and speed improvements.

kf-2.15.4 released

Many new features, bugfixes and speed improvements.

Old Wood Dish

Analysis of a fractal artwork by JWM.

kf-2.15.3 released

Many enhancements for speed and comfort.

Legendary Colour Palette

Embedding a 2D image into a 1D palette that gets wrapped back to 2D by fractal spirals.

Deep zoom theory and practice

Perturbation and rescaling for efficient rendering of fractal images.

kf 2.15.2 released

Design your own custom colouring algorithms in OpenGL GLSL shader fragments.

Optimizing weights for iterated function systems

Optimal in the sense of most uniform distribution of points.

kf 2.15 released

OpenCL acceleration, hybrid formula designer, exponential map, and more.

Optimizing zoom animations again

Finding the optimal zoom ratio when reusing the center portion.

Fast density estimation

Histograms of histograms to blur separably bucket by bucket.

Slow mating of quadratic Julia sets

Gluing two \(z^2+c\) quadratic Julia sets sometimes gives a \(\frac{z^2+a}{z^2+b}\) rational Julia set.

Harry

Text-mode audio file viewer.

Exrtact

Extract channels of EXR files.

EVA London

Conference paper: At the Helm of the Burning Ship

Autostereograms

An autostereogram is a single-image stereogram, designed to create the visual illusion of a three-dimensional scene from a two-dimensional image.

Exhibition photos

Photos of exhibition at Chalton Gallery, by Pau Ros.

IFS fractals in Inkscape

A multiple copy reduction machine via linked images.

meshwalk-3.0

Animated Voronoi cells on a sphere.

free_art_-_source (Rijeka)

Jul 6th-13th 2018, opening Friday July 6th, 8 PM, at Filodrammatica Gallery (Korzo 28/I, Rijeka)

Art In Flux

Video screening at the Art In Flux Exhibition this week in London.

eRR0R(iii)

Exploring the fertility of errors and questioning our inherited worldview.

Accelerating circle packing using histogram pyramids

A fast way to pick a random unoccupied pixel in an image.

Log-polar graph paper

Fading between levels of detail to avoid huge scale differences and sharp edges.

Iterated function systems with cube maps

Model the whole complex plane via the Riemann sphere as an OpenGL cube map.

Möbius transformations and the Riemann sphere

Sphere rotations correspond to certain elliptic Möebius transformations, which can be interpolated in a Bézier fashion.

Inflector Gadget v0.3.2

Keyframe animation and the return of single precision support with OpenGL 3.3 (OpenGL 4 double precision still an option)

Efficent automated Julia morphing

Nucleus finding, Misiurewicz point finding, and a bit of guesswork, combine for successful O(period) automatic Julia morphing.

A more accurate elliptic variation

Improving image quality by avoiding catastrophic cancellations.

Morphogenesis colouring book

A self-published physical artifact of reaction-diffusion.

Hatching

Based on a SIGGRAPH 2001 paper, with blue noise generated by inverse Fourier transform.

Clusters 3D

Endosymbiosis simulation leads to sticky boid-like flocks that behave like super-organisms.

Periodicity scan

Finding periodic points in the Mandelbrot set to make annotated images.

Coupled continuous cellular automata

Patterns similar to multi-layer reaction diffusion systems.

OEIS Diagrams

Five diagrams on the number 70.

Calendar 2015 - Lyapunov FM

Image from 2013 LAC paper, Lyapunov Space of Coupled FM Oscillators.

Shades of Gray

Five-bit Gray code rotary encoder.

Fractal dimension of Julia sets

A familiar picture emerges.

Plastic rectangles

The non-trivial partitioning of a square into 3 similar rectangles.

Prismatic

Physics-based ray-tracing in curved space.

Adventures with radiosity

Porting rrv to OpenGL 3 for a 30x speed boost.

Möbius Infinity

Square cross-section lemniscate of Bernoulli, with a twist.

Dithering

Adding noise improves image quality during quantization.

Making seasonal cards with Snowglobe

Combining saved flake images using command line tools.

ReCode Project - Topographic Form animated

Reimplementing computer art from the 1970s, part 4.

Jellyfish T-Shirt

Multicoloured spray paint stencil.

ReCode Project - Exploitation Quantitative...

Reimplementing computer art from the 1970s, part 3.

ReCode Project - Topographic Form

Reimplementing computer art from the 1970s, part 2.

ReCode Project - Traveling Through the Square Series

Reimplementing computer art from the 1970s.

Haystack Situations podcast

Your daily dose.

Lozenge

Interleaved dither patterns.

Distance estimation for voting simulation visualisation

Applying a technique used for fractal rendering.

Haystack Situations trailer

Haystack Situations trailer

Lyapunov Space of Coupled FM Oscillators

Paper presentation at Linux Audio Conference 2013.

Fish variations

Generalizing a tiling into hyperbolic variants.

Rolling torus

Looping without energy loss.

Stroking curves of constant width

An approximation for relatively narrow widths.

Butterfly Variations

triangular vertex symmetry using p²+q²+pq colours

Escher's Butterflies

reverse-engineering a tesselation

mightymandel

Mandelbrot Set explorer using OpenGL 4

mathr.co.uk

New website, new beginnings.

gearbox

gearbox

snowglobe

snowglobe

Disco Balls

Disco Balls

The Sky Cracked Open

The Sky Cracked Open

Poincaré half-plane metric for zoom animation

Poincaré half-plane metric for zoom animation

ruff-0.3 and gruff-0.3 released

ruff-0.3 and gruff-0.3 released

ruff-0.2 and gruff-0.2 released

ruff-0.2 and gruff-0.2 released

emndl-0.1 released

emndl-0.1 released

Histogram equalization

Histogram equalization

Exponential mapping and OpenMP

Exponential mapping and OpenMP

Features up to period 5

26 images of the Mandelbrot Set

Abstract Mandelbrot tree

abstract Mandelbrot tree

Lavaurs' Algorithm

Lavaurs' Algorithm

Konstrukt 3

Konstrukt 3

Circular wavefronts

Following distance estimates.

Distance estimation

distance estimation

gmndl-0.3 released

gmndl-0.3 released

gmndl-0.2 released

gmndl-0.2 released

gmndl-0.1 released

gmndl-0.1 released

Mandulia at AngloHaskell 2010

Lots to think about.

Optimizing zoom animations

Optimizing zoom animations

GPU Julia Sets

GPU Julia Sets

Konstrukt 2

Konstrukt 2

fl4m6e proof of concept

fl4m6e proof of concept

Konstrukt

Konstrukt

Glo

Glo

Parallel transport in hyperbolic tilings

Parallel transport in hyperbolic tilings

ray42 as a Lua package using tolua

ray42 as a Lua package using tolua

ray42: nD raytracing

ray42: nD raytracing

GraphGrow realtime preview

GraphGrow realtime preview

An obscure colour space for saturation adjustment

An obscure colour space for saturation adjustment

Hexeract

6D cube in OpenGL/GLSL.

GraphGrow: SVG + JavaScript

GraphGrow SVG JavaScript

PostScript experiments

PostScript experiments

Dorkbot London presentation

Tone mapping for high dynamic range imaging.

hidyra: tools for high dynamic range imagery

Dynamic range compression.

Misinterpretation is fun

Data is data is data.

Polyhedra

Polyhedra

Five Cubes

Five Cubes

Fluxus

Fluxus

Hypercube update

Hypercube update

386 hypercube fun

386 hypercube fun

Fonts in GridFlow

Fonts in GridFlow

ANSI Text Cellular Automata

ANSI Text Cellular Automata

Anti-Aliasing with Gridflow

Go large for high quality.

The Joy Project

A unique interactive DVD.

My First Visual Art Commission (with artwork!)

Large portion of file.

My First Visual Art Commission

Responded to a poster calling for works.

D'ohPaint Resurrected

Fixes crashes but features are lost.

I'm out of CaB Photoshop Tennis 2005

Ggetting as far as I got is pretty good going, I think!

Audio-Visual Bonanza

Phase3, Scanned, Robin Lustig, Moonlight Lens Flare, Sierpinski Circles, Photoshop Tennis, Flickr,

A new place to live

Contract on a flat.