Bring the noise! MathPaint gets more algorithms, plus templates

The forthcoming MathPaint beta now has a fairly complete noise-rendering feature set. There are several algorithmic noise-generation modes – Perlin, Billow, Ridged, and Voronoi – as well as MathPaint’s own random-shape drawing mode. In addition to the feature, I’m starting to build the collection of templates that will ship with the app as starting points … Read moreBring the noise! MathPaint gets more algorithms, plus templates

Fractal Friday 2020.02.07

This week I’m sharing the results of a cool new feature in MathPaint: fractals warped by real-valued functions. The application now supports defining a custom real-valued function that is applied during each iterative evaluation to the real part of the complex number ‘z’, before z is squared. The possible effects are endless – from slight … Read moreFractal Friday 2020.02.07

Fractal Friday 2019.12.20

The fractal renderer used to draw this week’s graphics has a new feature – rendering in ‘edge’ mode. Rather than filling the value regions with different colors, edge-mode detects the change in output values and draws a line at the boundary between them. Here’s the classic Mandelbrot set rendered this way: Here’s a simple black-and-white … Read moreFractal Friday 2019.12.20

Dev notebook: Converting scale & position of circular NSSlider for degrees

The standard Cocoa control NSSlider comes in a circular variety that resembles a rotating knob with an indicator point. Among the ideal applications for such a control is representing a circular angle. In the application I’m developing I wanted to use this to control the angle of the brush image used for drawing. I began … Read moreDev notebook: Converting scale & position of circular NSSlider for degrees

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