# Isometric Fractal Art Tutorial - Part 2

93 Favourites
8K Views
In this tutorial, i will explain how i created some of my recent "isometric" works. For example:

Softwares needed: Apophysis and Chaotica.
Prerequisites: you will need some previous knowledge on how to use Apo and Chaotica. If you have any doubts, please check those out:

Plugins used: square.

# Tip 4 - creating blocks from blank

You can use weights (xaos) to create blocks or groups of elements, to move around several parts of the tile at once, duplicate, rotate and flip.

Lets first see how to create a block when starting from blank. Create your first element, then add a linked transform to it. I suggest you name the linked transform, to avoid the mess later. Now, just duplicate the first trasnform to add another elements to the block. You shall end up with something like this:

<flame name="sq" version="Apophysis 7x Version 15C.9" size="777 510" center="-0.345200343200343 -0.270760188760189" scale="155.4" oversample="1" filter="0.2" quality="1" background="0 0 0" brightness="4" gamma="4" gamma_threshold="0.01" estimator_radius="9" estimator_minimum="0" estimator_curve="0.4" enable_de="0" plugins="" new_linear="1" curves="0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1" >
<xform weight="1" color="0.34" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025403784439 -0.5 -6.12303176911189E-017 1 0 0" chaos="0 0 0 " opacity="0" />
<xform weight="1" color="0.52" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="-0.866025 -0.5 0 1 -0.866025 0" chaos="0 0 0 " opacity="0" />
<xform weight="0.5" color="0.64" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 0.5 -0.866025 0.5 -0.433013 -0.75" chaos="0 0 0 " opacity="0" />
<xform weight="0.5" color="0" symmetry="1" linear="1" coefs="1 0 0 1 0 0" chaos="1 1 1 0 " opacity="1" />
<palette count="256" format="RGB">
65907571896F8D735A9D6E50D36F23E88520EC9D0DEFA520
84BDC888BEDA8FB1BB8DB7B69FB390B2AC6EC9B266D5A745
E19A2EEDA421F1AB29F4B93BF8CE62FBE27BF7F39AE2CE9C
B3BD809AA67477835D66745A686B5A696854826E49B06F2F
D4761FEB9A0BE38F09D0721BB05B259D321E791B13321B13
1E161331301E4954434758524A595E59695F5C70645C6C5F
63695B6E624A785E479D3D24C33026D12E25D64123DC4321
D5471FC34C2AB2603AA475579F8264868B6284815880795D
8380777B898A7096A3709AA66E979B8B8472A38958B79150
C78F45BAA065A6A8678DA66D7C867E6C7D6D5F7F68558369
59736A5F726C5970665E77616677656C695A6867526A624D
635D4D6C5D466E5946773826992B1EA42A1DAA2B1CA43625
9443256D5D44575F54425750284A562949543E293C7F1E15
9D19148F1F1B913D2166563F675C466B634E98644CC35733
BB432BB03F21A83020991F1A82161351311C2926130F0B08
1D140F3F24197215109E3329B62D25BD2824C22921BA321C
AC2A1AA0241A9C331DA53C1FC14B19CD511ED3511DD74A1F
DB4C20D64E24D45020DA5D27DB6923EE8E28ECA320F0B237
D19E65C3B171A6BD87AFCD97B9D89DBDC687BABD76B4B977
B4BA7EA6BA7BA5B881B3C184C3CC89FDEF8EFDF094FEEBB0
A3CACF78A2AE5F827E4A6D694C69644764604A605D4A6459
516B5E596B53676058674D664A445E3957613B5C6532616B
3A656E4063674B69674D6A664D6B5F4B6B603C6859406158
3F5F5A3F5D5D425E5F3E5F664965694C6965516669536A62
526C5F4F675A465F5948595345595043524D43362E5F3B25
7451314D504949554B475852435B5D4C6663547469577A74
638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
</palette>
</flame>
On the params above, the transform 4 is the one that contains the block, and transforms 1-3 are the block elements.

Now, if you want to create another cube, you do not need to repeat all the cube creation steps. All you need is to duplicate and move around the transform 4.

For example, below, i added 2 more cubes to the design by duplicaing the transform 4:

<flame name="sq" version="Apophysis 7x Version 15C.9" size="777 510" center="0.495812011517894 0.495117784176608" scale="132.09" oversample="1" filter="0.2" quality="1" background="0 0 0" brightness="4" gamma="4" gamma_threshold="0.01" estimator_radius="9" estimator_minimum="0" estimator_curve="0.4" enable_de="0" plugins="" new_linear="1" curves="0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1" >
<xform weight="1" color="0.34" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025403784439 -0.5 -6.12303176911189E-017 1 0 0" chaos="0 0 0 " opacity="0" />
<xform weight="1" color="0.52" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="-0.866025 -0.5 0 1 -0.866025 0" chaos="0 0 0 " opacity="0" />
<xform weight="0.5" color="0.64" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 0.5 -0.866025 0.5 -0.433013 -0.75" chaos="0 0 0 " opacity="0" />
<xform weight="0.5" color="0" symmetry="1" linear="1" coefs="1 0 0 1 0 0" chaos="1 1 1 0 0 0 " opacity="1" />
<xform weight="0.5" color="0" symmetry="1" linear="1" coefs="1 0 0 1 1.73205 0" chaos="1 1 1 0 0 0 " opacity="1" />
<xform weight="0.5" color="0" symmetry="1" linear="1" coefs="1 0 0 1 0.866025 1.5" chaos="1 1 1 0 0 0 " opacity="1" />
<palette count="256" format="RGB">
65907571896F8D735A9D6E50D36F23E88520EC9D0DEFA520
84BDC888BEDA8FB1BB8DB7B69FB390B2AC6EC9B266D5A745
E19A2EEDA421F1AB29F4B93BF8CE62FBE27BF7F39AE2CE9C
B3BD809AA67477835D66745A686B5A696854826E49B06F2F
D4761FEB9A0BE38F09D0721BB05B259D321E791B13321B13
1E161331301E4954434758524A595E59695F5C70645C6C5F
63695B6E624A785E479D3D24C33026D12E25D64123DC4321
D5471FC34C2AB2603AA475579F8264868B6284815880795D
8380777B898A7096A3709AA66E979B8B8472A38958B79150
C78F45BAA065A6A8678DA66D7C867E6C7D6D5F7F68558369
59736A5F726C5970665E77616677656C695A6867526A624D
635D4D6C5D466E5946773826992B1EA42A1DAA2B1CA43625
9443256D5D44575F54425750284A562949543E293C7F1E15
9D19148F1F1B913D2166563F675C466B634E98644CC35733
BB432BB03F21A83020991F1A82161351311C2926130F0B08
1D140F3F24197215109E3329B62D25BD2824C22921BA321C
AC2A1AA0241A9C331DA53C1FC14B19CD511ED3511DD74A1F
DB4C20D64E24D45020DA5D27DB6923EE8E28ECA320F0B237
D19E65C3B171A6BD87AFCD97B9D89DBDC687BABD76B4B977
B4BA7EA6BA7BA5B881B3C184C3CC89FDEF8EFDF094FEEBB0
A3CACF78A2AE5F827E4A6D694C69644764604A605D4A6459
516B5E596B53676058674D664A445E3957613B5C6532616B
3A656E4063674B69674D6A664D6B5F4B6B603C6859406158
3F5F5A3F5D5D425E5F3E5F664965694C6965516669536A62
526C5F4F675A465F5948595345595043524D43362E5F3B25
7451314D504949554B475852435B5D4C6663547469577A74
638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
</palette>
</flame>

Also, you can and should create blocks of blocks

# Tip 5 - Grouping existing transforms into blocks

Sometimes, you see you need some blocking when you already created some elements. Now you will need to set up the xaos

• Change all the block elements transforms opacity to 0.
• Add a new transform and set its color speed to 1. Still on this transform, set xaos equal to 1 to all square transforms, and 0 to everything else. Make sure the xaos to itself is 0.
• On the elements transforms, set xaos equal to 1 to the new transform you just added, and 0 to everything else.

You should end up with same parameters as above.

# Tip 6 - Using blocks and sYmmetry to complete in patterns

Isometric patterns frequently feature some sort of symmetry, so you can use rotated, shifted and flipped blocks instead of adding all elements all over.

For example, on the pattern below, you can see the same block repeated three times (in white, red and blue):

Here, i used 3 transforms to create the blue block, and then just repeated it 3 times, shifting, flipping and rotating accordingly. In the params below, transforms 1,3,4 are the base elements for one block, and the "container" transforms are the blocks.

<flame name="block" version="Apophysis 7x Version 15C.9" size="777 510" center="-0.520532257662692 -0.242382769078421" scale="116.512704" oversample="1" filter="0.2" quality="1" background="0 0 0" brightness="4" gamma="4" gamma_threshold="0.01" estimator_radius="9" estimator_minimum="0" estimator_curve="0.4" enable_de="0" plugins="" new_linear="1" curves="0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1" >
<xform weight="0.5" color="0.34" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 0 1 0 0" chaos="0 1 0 1 1 0 " opacity="0" />
<xform weight="0.5" color="0" symmetry="1" linear="1" coefs="1 0 0 1 0 0" chaos="1 0 1 0 0 " opacity="1" name="container"/>
<xform weight="1" color="0.34" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 0 2 -1.73205 -0.5" chaos="0 1 0 1 1 0 " opacity="0" />
<xform weight="0.5" color="0.52" symmetry="-1" linear="1" coefs="-1 0 0 1 -0.866025 0" chaos="1 0 1 0 0 " opacity="1" name="container"/>
<xform weight="0.5" color="0.64" symmetry="-1" linear="1" coefs="-0.500002 -0.86603 0.866025 -0.5 -0.433012 -0.75" chaos="1 0 1 0 0 " opacity="1" name="container"/>
<xform weight="0.5" color="0.34" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 0 1 -0.866025 -1.5" chaos="0 1 0 1 1 0 " opacity="0" />
<palette count="256" format="RGB">
65907571896F8D735A9D6E50D36F23E88520EC9D0DEFA520
84BDC888BEDA8FB1BB8DB7B69FB390B2AC6EC9B266D5A745
E19A2EEDA421F1AB29F4B93BF8CE62FBE27BF7F39AE2CE9C
B3BD809AA67477835D66745A686B5A696854826E49B06F2F
D4761FEB9A0BE38F09D0721BB05B259D321E791B13321B13
1E161331301E4954434758524A595E59695F5C70645C6C5F
63695B6E624A785E479D3D24C33026D12E25D64123DC4321
D5471FC34C2AB2603AA475579F8264868B6284815880795D
8380777B898A7096A3709AA66E979B8B8472A38958B79150
C78F45BAA065A6A8678DA66D7C867E6C7D6D5F7F68558369
59736A5F726C5970665E77616677656C695A6867526A624D
635D4D6C5D466E5946773826992B1EA42A1DAA2B1CA43625
9443256D5D44575F54425750284A562949543E293C7F1E15
9D19148F1F1B913D2166563F675C466B634E98644CC35733
BB432BB03F21A83020991F1A82161351311C2926130F0B08
1D140F3F24197215109E3329B62D25BD2824C22921BA321C
AC2A1AA0241A9C331DA53C1FC14B19CD511ED3511DD74A1F
DB4C20D64E24D45020DA5D27DB6923EE8E28ECA320F0B237
D19E65C3B171A6BD87AFCD97B9D89DBDC687BABD76B4B977
B4BA7EA6BA7BA5B881B3C184C3CC89FDEF8EFDF094FEEBB0
A3CACF78A2AE5F827E4A6D694C69644764604A605D4A6459
516B5E596B53676058674D664A445E3957613B5C6532616B
3A656E4063674B69674D6A664D6B5F4B6B603C6859406158
3F5F5A3F5D5D425E5F3E5F664965694C6965516669536A62
526C5F4F675A465F5948595345595043524D43362E5F3B25
7451314D504949554B475852435B5D4C6663547469577A74
638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
</palette>
</flame>

In a different symmetry pattern below, you can see that the grey parts are identical to black parts, just flipped and shifted. So, instead of creating all the elements again, i used the block technique.

# Tip 7 - Using blocks for coloring

You can also use blocks to create a "randomized" color effect. The idea is to create multiple copies of the same block with different colourings, and then tile that group of blocks:

In the parameters below, transforms 1-3 are the base elements, and transforms 4-6 create the base shape, which is the same as we created in previous section. Pay attention to the coloring: transforms 4-6 have color speed -1, to make sure each element is entirely same color.

Transforms 7-13 create the 7 copies of the base shape. For those, the color speed is 0. This way, we can easily recolour the base shape, without having to go down to each individual element.

<flame name="color block example" version="Apophysis 7x Version 15C.9" size="777 510" center="1.30840093240093 2.66975990675991" scale="38.85" oversample="1" filter="0.2" quality="1" background="0 0 0" brightness="84.1304347826087" gamma="5" gamma_threshold="0.210323913049096" estimator_radius="9" estimator_minimum="0" estimator_curve="0.4" enable_de="0" plugins="" new_linear="1" curves="0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1" >
<xform weight="0.5" color="0.895602794131264" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 -6.12303176911189E-017 1 0 0" chaos="0 0 0 1 1 1 0 0 0 0 0 0 0 " opacity="0" />
<xform weight="1" color="0.895602794131264" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 0 2 -1.73205 -0.5" chaos="0 0 0 1 1 1 0 0 0 0 0 0 0 " opacity="0" />
<xform weight="0.5" color="0.895602794131264" symmetry="-1" square="1" coefs="1 0 0 1 0 0" post="0.866025 -0.5 0 1 -0.866025 -1.5" chaos="0 0 0 1 1 1 0 0 0 0 0 0 0 " opacity="0" />
<xform weight="0.5" color="0.704112746752799" symmetry="-1" linear="1" coefs="1 0 0 1 0 0" chaos="0 0 0 0 0 0 " opacity="0" name="container"/>
<xform weight="0.5" color="0.320817471947521" symmetry="-1" linear="1" coefs="-1 0 0 1 -0.866025 0" chaos="0 0 0 0 0 0 " opacity="0" name="container"/>
<xform weight="0.5" color="0.606331832474098" symmetry="-1" linear="1" coefs="-0.5 -0.866025 0.866025 -0.5 -0.433013 -0.75" chaos="0 0 0 0 0 0 " opacity="0" name="container"/>
<xform weight="0.5" color="0.135963678592816" linear="1" coefs="1 0 0 1 0 0" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.559790554689243" linear="1" coefs="1 0 0 1 3.4641 0" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.117963746655732" linear="1" coefs="1 0 0 1 5.19615 3" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.860052364645526" linear="1" coefs="1 0 0 1 1.73205 3" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.667673198506236" linear="1" coefs="1 0 0 1 -1.73205 3" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.146988352993503" linear="1" coefs="1 0 0 1 3.4641 6" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<xform weight="0.5" color="0.776230379473418" linear="1" coefs="1 0 0 1 0 6" chaos="1 1 1 0 0 0 0 0 0 0 0 0 0 " opacity="1" name="block"/>
<palette count="256" format="RGB">
F5D5AEC59D9E8379784B526F2A3E610F386E1C4579204879
324E7546739455839A667B8E6C74815C5567513544402A41
2514361211310F0E300D0E2C0D10310C0E3513113613173C
191D42132458142E6B143071082664131F5B0D0F3F0C0C32
0D092A180B2530092457131E8B2F32BD4930C4603ED7774F
B7AE8DB9B592B5B49F98A0A3758B9668848F66819252859A
52849D4C7E975B72844E6078414C6A2D31561F25491B1B41
151436222141343A5E354E6D4E6285668EA77B9CA195A9C4
FEFDE8FDFCDEC9E3D693C5C476B1B5558DA455889D5A8AA0
6787927B8489A67C6EB4655EA43E3C781B4A4C1E2B391328
2508241A112C2822442524463135585246505B4750574249
322E4F2F2E4D24294F2A3960253B6A44546E6B82908AA6A7
5C8CA23061892B4170303B5B2E3150392B4C583B4F603D41
6545505E4E4F603F4A45283C441E33592031984227B0593E
E3844AF7C772ECD39AE6D5A1D3CC9ECAC395CFCAACD6CFA5
D9C69BE0AAA8C993A39A5D6C6E4A56472B371E10270E082A
0809280C0829130C2B1D0D285729347F41429C513AC85E2E
BFD6CCC5D1C3E5E4C5E1E0B4ECDDA4F6BF7FFC825BD44E43
B4483EA933279F34248F2529943229863F3B66454C413549
322948262243231D3F231D412B28453936555C515F7D6C7C
A29582BBB49AB9CEBFA0B8B882959C59738E4E6076414E6E
424D6D424D69624C4F8C5958AF5658B3734FB4866E8E8E8C
838D977886936D868D6F87916E879B87919A9F8E7EA8825D
965C4888484960374545182F45041C34071E2806211A081E
18091E0E05200B052108052208092806092C0B0E310E0E30
08082A05072D04072A040728050625050625040426030423
01001F01001F02041D07031A07031C0302210808240A0929
0C1035060F481D264F152B651C295D1C2149161535130C2D
170C2C161032171338181B3C2E192A49192F5C2B2E6F2E28
</palette>
</flame>

And then you just tile the resulting pattern:

For a better result, you may repeat this once more, taking the newly created big blocks and creating several differently coloured copies of them.

A little example of what you can get with this technique:

Published:
in Chaotica I discovered tiling last block with transform 'Escher' or 'mirror-x' or 'mirror-y' saves time.
not necessarely, and depends a lot of the effect you want to achieve.
Overall, I would not recommend using such solution
Squee! (again).
Thanks for sharing. I forget from time to time that we can do these things since most of the time I'm trying to do something with curls.
those things are pretty easy
Very organized and well-written tutorial
thank you
i still need to write a third part, with some ideas how to put it into fractal patterns like grand julians, hipertiles, foci
Beautiful, and quite helpful ^^ Excellent work!
thank you
Yeah, absolutely ^^
awesome!
same like above/below
to see what you make out of it
awesome!
thank you
awesome!
thank you
awesome!