Hello World, from MathPaint! (Preview)

If you’ve been following Mathaesthetics posts you’ve seen a variety of images shared – different types of generated art from fractals to repeated 2D plots to vector fields and scalar fields and more. All images on this blog are created by our flagship software product, which has been in development since November 2019. Today for … Read moreHello World, from MathPaint! (Preview)

Fractal Friday 2020.01.10

ICYMI, I’m currently writing an application that generates mathematical art. It’s created in Swift, for Mac OS desktop systems. All the images on this blog are created from it, including the fractals posted every Fractal Friday. This week I hooked up a full range of CoreImage effects to the app, and I’m having fun sending … Read moreFractal Friday 2020.01.10

Fractal Friday 2019.12.27

It’s the last Fractal Friday of the year, time for some recursive magic!  This week we’re exploring the Mandelbrot set, using two features of the Mathaesthetics prototype software: deep color mapping, and a new helpful zoom feature. Here’s where we start: In this image, there’s a color mapping with 10 different colors at various levels … Read moreFractal Friday 2019.12.27

Dev notebook: an enum alternative to GKState / GKStateMachine

I worked on my first GameplayKit project earlier this year and there were things I liked about the lightweight, general state-machine model provided by the GKState and GKStateMachine classes. However I also found a few odd patterns in these classes: their implementation without using enumeration values for states, the inelegant (StateClass).class.self syntax model required by … Read moreDev notebook: an enum alternative to GKState / GKStateMachine

Scalar fields for gradients and other graphic patterns

The Mathaesthetics flagship app will support a number of modes of mathematical image creation. I spent most of yesterday working on and improving the scalar field renderer. In a scalar field, a function f(x, y) produces a value for each point. This scalar value is then mapped to a color gradient. I’m exploring both different … Read moreScalar fields for gradients and other graphic patterns

Dev notebook: brush-like drawing in Swift, without CGPattern

I’m spending a lot of time in Cocoa drawing and Core Graphics lately, working in Swift. The API around the Core Graphics CGPattern object in Swift is a little challenging – it requires C callbacks and unsafe pointers for basic pattern-creation and drawing functionality. It also doesn’t work exactly as I’d like it to; I … Read moreDev notebook: brush-like drawing in Swift, without CGPattern