Isometric Fractal Art Tutorial - Part 2

13 min read
tatasz's avatar
By tatasz
93 Favourites
26 Comments
8K Views
In this tutorial, i will explain how i created some of my recent "isometric" works. For example:

Staircase to Heaven by tatasz Surface by tatasz

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
      F3B431EEBB50D1B279AD9C8879A1AD7DADC18AACB686B1BA
      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
      5A778568787570817B98A973A0AD779DB47E95A5787F8885
      638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
      D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
      6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
      E6702AD76121D05720D55121DA5021E46020E77723EC8B22
   </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:

3 Cubes by tatasz

<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
      F3B431EEBB50D1B279AD9C8879A1AD7DADC18AACB686B1BA
      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
      5A778568787570817B98A973A0AD779DB47E95A5787F8885
      638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
      D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
      6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
      E6702AD76121D05720D55121DA5021E46020E77723EC8B22
   </palette>
</flame>

Also, you can and should create blocks of blocks =D


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):

3 Elements by tatasz

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
      F3B431EEBB50D1B279AD9C8879A1AD7DADC18AACB686B1BA
      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
      5A778568787570817B98A973A0AD779DB47E95A5787F8885
      638D9D6B8F8F7B867E8EA06CA8A173B8846CE06232D85827
      D05023C5441ABA3F1DB3371BB6421DB24620A06045716C56
      6E6C606E74667D7B54919362A8A967C8963DEB9524E18927
      E6702AD76121D05720D55121DA5021E46020E77723EC8B22
   </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.

Staircase to Heaven by tatasz


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:

Block by tatasz

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
      A8BBB5C5CFC4E3D7B1FADEAFFFDDACF7E8A7FFFCB7FFFECF
      FEFDE8FDFCDEC9E3D693C5C476B1B5558DA455889D5A8AA0
      6787927B8489A67C6EB4655EA43E3C781B4A4C1E2B391328
      2508241A112C2822442524463135585246505B4750574249
      322E4F2F2E4D24294F2A3960253B6A44546E6B82908AA6A7
      A9D4CBC1DDD1C6DED1C9DDD1C7D9CBBCDCCFA9C2BC95ADC5
      5C8CA23061892B4170303B5B2E3150392B4C583B4F603D41
      6545505E4E4F603F4A45283C441E33592031984227B0593E
      E3844AF7C772ECD39AE6D5A1D3CC9ECAC395CFCAACD6CFA5
      D9C69BE0AAA8C993A39A5D6C6E4A56472B371E10270E082A
      0809280C0829130C2B1D0D285729347F41429C513AC85E2E
      DD7B4AE59771EFA075E2A392CAAD9DC5C4A8BAD1C9BCD8CC
      BFD6CCC5D1C3E5E4C5E1E0B4ECDDA4F6BF7FFC825BD44E43
      B4483EA933279F34248F2529943229863F3B66454C413549
      322948262243231D3F231D412B28453936555C515F7D6C7C
      A29582BBB49AB9CEBFA0B8B882959C59738E4E6076414E6E
      424D6D424D69624C4F8C5958AF5658B3734FB4866E8E8E8C
      838D977886936D868D6F87916E879B87919A9F8E7EA8825D
      965C4888484960374545182F45041C34071E2806211A081E
      18091E0E05200B052108052208092806092C0B0E310E0E30
      08082A05072D04072A040728050625050625040426030423
      01001F01001F02041D07031A07031C0302210808240A0929
      0C1035060F481D264F152B651C295D1C2149161535130C2D
      170C2C161032171338181B3C2E192A49192F5C2B2E6F2E28
   </palette>
</flame>

And then you just tile the resulting pattern:

Boxes by tatasz


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:

Mountain Mist by tatasz

Published:
© 2014 - 2020 tatasz
Comments26
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In
stunam1's avatar
in Chaotica I discovered tiling last block with transform 'Escher' or 'mirror-x' or 'mirror-y' saves time.
tatasz's avatar
not necessarely, and depends a lot of the effect you want to achieve.
Overall, I would not recommend using such solution
Adrolyn's avatar
Squee! (again).
ABlipinTime's avatar
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.
tatasz's avatar
=D those things are pretty easy :shh:
FarDareisMai's avatar
Very organized and well-written tutorial :thumbsup:
tatasz's avatar
thank you :la:
i still need to write a third part, with some ideas how to put it into fractal patterns like grand julians, hipertiles, foci =D
CyrinaM's avatar
Beautiful, and quite helpful ^^ Excellent work!
tatasz's avatar
CyrinaM's avatar
Yeah, absolutely ^^
rce-ordinary's avatar
same like above/below
tatasz's avatar
=D :eager: to see what you make out of it
lyc's avatar
tatasz's avatar
tatasz's avatar
Arichy's avatar
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In