Paul Bourke has some images and explanation of the thorn fractal. This implementation features some naive anti-aliasing, iterative improvement, and it's open source.

The fractal is generated by computing the escape time for the functions

$$ x_n+1 = \frac{x_n}{\cos(y_n)} + cx $$

$$ y_n+1 = \frac{y_n}{\sin(x_n)}+ cy $$