What is Fractal Art?
Fractal art is a type of digital art which is usually an image generated by a program based on fractal math. I assume the term could also refer to music generated fractally, but I'm not very sure about how that would sound.
How to Create Fractal Art
To create fractal art, normally you would use an application like Apophysis that provides tools to easily create, edit and render fractals. You could program your own fractal art generator, but that isn't something most people would normally do.
To have a better idea of how it works, let's see an example.
The image above was generated in Apophysis. Its source code is the following XML:
<flame name="BALL" version="Apophysis 2.08 3D hack" size="480 480" center="0.286633300956469 -0.28877207866438" scale="176.457740608603" cam_pitch="1.07337748997651" cam_yaw="0.191986217719376" cam_perspective="0.2" oversample="1" filter="0.2" quality="1" background="0 0 0" brightness="1.99130434782609" gamma="1.85" gamma_threshold="0.0199" >
<xform weight="0.5" color="0.595119666540995" symmetry="1" linear3D="1" ztranslate="2.74092412926257" coefs="1 0 0 1 0 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0 0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 0.5" />
<xform weight="0.5" color="0" julian="1" coefs="0.014919 0 0 0.014919 0 0" julian_power="2" julian_dist="1" />
<xform weight="0.5" color="0.299" linear3D="1" coefs="1.012932 0 0 1.012932 0 0" />
<xform weight="0.5" color="0.468304102774709" symmetry="1" linear3D="1" ztranslate="1.59215245989617" coefs="1 0 0 1 0 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0 0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0.5 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 0 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 -0.5" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 0" />
<xform weight="0.5" color="0" symmetry="1" linear3D="1" coefs="1 0 0 1 -0.5 0.5" />
<xform weight="0.5" color="0" linear3D="1" coefs="1.012932 0 0 1.012932 0 0" />
<finalxform color="0" symmetry="1" curl3D="1" coefs="1.001014 0 0 1.001014 0 0" curl3D_cx="0" curl3D_cy="0.873079" curl3D_cz="0.0718684" />
<palette count="256" format="RGB">
9E0000A40000AF0000BB0000C70000D20000EA0000F00000
F60000FD0000F2160BE82C16DD4221C76E37BC8342B2994D
ACA452A7AF589CC56392DB6E87F17980FF8080E99680E39B
80DEA180D3AC80C8B780BEC180B3CC809DE2808EF08080FF
7A80F47580E96A80D35F80BD5480A74980913380662D805B
2880501D803A12802407800E0080002C841A378420428526
5887336E8940838B4D998D5AAF8E66C59073FF9595FF9393
FF9292FF9090FF8D8DFF8B8BFF8888FF8383FF8181FF8080
FF7E7EFF7B7BFF7979FF7777FF7783FF768EFF769AFF75A6
FF75B1FF74BDFF74C9FF73D4FF73E0FF72F8FF71FBFF71FF
FF6BEDFF65DBFF5FC9FF5AB7FF54A5FF4E93FF4881FF426F
FF3C5DFF374BFF2D2DFA293AF62548F12155ED1E63E81A70
E4167EDF128BDB0E99D60AA6D106B4CD02C1CA00CACC00B9
CE00A7CF0096D10085D30073D50062D70050D8003FDA002E
DC001CDE000BDF0000D90C06D4180CCE2413C82F19C33B1F
BD4725B7532BB25F32AC6B38A6773E9D8A489D7E429E723C
9E66359F5B2FA04F29A04323A1371DA12B16A21F10A3130A
A30804A40000A000009C00009800009400009000008C0000
8800008400008000007C0000750000FF0000D31616BD2121
A72C2C9137377C4242714747664D4D3A63631D7171008080
008B8B00969600A1A100ACAC00B1B100B7B700CCCC00D7D7
00E2E200EDED00F8F800FBFB00FFFF2CF0FF42E8FF58E0FF
6DD8FF83D1FF8ECDFF99C9FFAFC2FFC5BAFFFFA6FFE9A2FF
D39FFFBD9CFFA799FF9C97FF9196FF668FFF508CFF3A89FF
2485FF0E82FF0781FF0080FF0B80FF1680FF2C80FF3780FF
4280FF4D80FF5880FF5D80FF6380FF7980FF7785F4758BE9
6A96D35FA1BD59A6B254ACA749B7913EC17C28D7501DE23A
12ED2409F61200FF0016E9002CD30058A7006D9100837C00
996600AF5000BA4500C53A00DB2400F10E00E90B00D31600
BD2100B22600A72C009137007C42005058003A6300246E00
1973000E79000080000A7500146A001E5F003249003C3E00
4633004B2D005028005A1D006512008100008C0000980000
</palette>
</flame>
What this means is that it's possible to put this code in Apophysis and generate exactly the same image.
Observe how it's not really a lot of code compared to a SVG image, for example. In fact, most of the text is simply due to XML being too verbose. All we have is a few "xform
" elements where coefficients are specified. Apophysis just does the math and to calculate the value of each pixel in grayscale. The image has color because it uses the color data specified in the "palette
" element. This is very much like using a "gradient map" filter on Krita, for example.
In Apophysis, you wouldn't have to type this source code. Instead, it provides a graphical user interface for you to manipulate the coefficients, edit the palette, etc.
Leave a Reply