Shop Forum More Submit  Join Login


Tue Jan 8, 2019, 2:56 PM
Will be away for a couple of days for health reasons.
In short, my cat is sick and bite me as i was helping to hold him during treatment. So now my mouse clicking arm hurts a lot =(

Undiscovered Weekly

Sun Dec 16, 2018, 12:13 PM
So i'm finally back full time, also with my little sunday feature of the awesome stuff we all (shame on us) missed.

To start with... Looks like someone awesome is back <3
I learned to fractal tweaking his params :la:

Harvest by neonrauschen

And lots of other cool stuff too :la:
181209144544  by snicker02 Railway to Nebulia by mandelbulbdotfr
Forget me Not by GeaAusten Number Honey by OttoMagusDigitalArt Kodeema by bobm

IFS 104 by KrzysztofMarczak all washed up on the shores of time by timemit

The destruction of DA

Thu Nov 22, 2018, 11:19 AM
The destruction of DA by Hellypse

The destruction of DA

Comment, fav and share it you who hated Eclipse.

A little bit of fractal statistics

Mon Apr 23, 2018, 12:51 PM
Well, there was this random discussion about nature of art. I started discussing it as a sort of a classification problem, and people complained I was bringing statistics into art :dummy:
So I decided to actually do a bit of statistics about fractals.

My first project, inspired by what Esherymack is doing, is to study the colors I use in my artwork.

The dominant colors and sorting

My idea was to find the dominant colors for each work. Then, I could find clusters of those color profiles, and find out which combinations are the most common. So color profiles for each artwork are the first step.

For this task, I used the k-means idea presented in this article:…
The basic idea of using k-means to find dominant colors is that you take the color of each pixel, and then separate those in k groups, based on similarity between colors. For example, with a small number of groups, red and orange would go into same group, but blue would go into a different group. 

So now I could get the dominant colors for any picture. 50 dominant colors, why not? Here you go, 50 shades of disc for you:

Disc Dominant50 by tatasz

The optimal number of clusters may vary from one image to another. But since I wanted to group the resulting profile later on, I decided to pick some number that would work well for most. For the clustering part, I used color profiles with 10 dominant colors for each image.

This method returns the colors in no specific order. Since I wanted to also display the results visually, this was not cool, since this looks kinda messy. Once more, I was too lazy to think of something by myself, and used somebody else's results:… Out of the described methods, I liked the Hilbert curve sorting the most, and it was the method I used. On the picture above, the colors on the right are ordered using a Hilbert curve.

Clustering nightmare

Now that I had the tools to describe the colors of each image, I applied it on 1118 artworks from my gallery. For clustering, I would need to define some sort of distance measure between two profiles, a number that would describe how different the colors of two works are. The main trick here is that the colors come in no specific order: an image can have green and blue, but also can have blue and green, and my measure would need to somehow accommodate this.

Meanwhile, another pic to make sure you are following:

Sunny Dominant by tatasz

After messing around a bit, I ended up with the following: given two color profiles, A and B, I would pair the colors of A with colors of B in such way that the sum of differences between each pair would be the smallest possible (say hi, Hungarian algorithm). 

I also tinkered a lot with the distance measures between pairs of colors, ending up with a weird function of HSL, which seemed to work the best for the case. 

Finally :la: all I had to do is to run some hierarchical clustering, using the distances I calculated previously.


I use a lot of different coloring schemes :dummy: Most of the time, though, I am not fun at all. The most common color combination among my work was a gradient of brown, sometimes red, with small additions of other colors. This color scheme is used in 22% (almost one fourth, shame on me) of my works.

A few works representative of this group:

Brown Group Examples by tatasz

I make those pretty much at constant rate, and it was obviously my favorite color scheme during 2015 and 2016 - at some months, 50-60% of my work were basically brown. Below, you can see the % of brownish works out of all submitted, by month:

Brownplot by tatasz

A second typical coloring scheme observed was black and white. Over the years, I made 55 black and white stills (5% of the studied artworks). 

21 by tatasz

There are a few other typical color profiles, but they are overall less common than those two.

Undiscovered Weekly

Sun Apr 22, 2018, 7:47 AM
There are tons of awesome fractals submitted every week. Some unfortunately don't get the attention that they deserve, so a little selection of cool stuff that catch my eye during the last week that didnt get enough love.
Check them out :la:

Polar49 by Graindolium

o1 by kAoS-iNc

Pixelated by waste-and-tragedy

circus tent in the night by ediary

Free, stock,  have a nice springtime. by FractalCaleidoscope

Inside a Spiral Dream by moonhigh

Sed in umbra vitae sit ambulatio. by lecristal

Time by Venfaaniik

Undiscovered Weekly

Sun Apr 15, 2018, 8:54 AM
There are tons of awesome fractals submitted every week. Some unfortunately don't get the attention that they deserve, so a little selection of cool stuff that catch my eye during the last week that didnt get enough love.
Check them out :la:

Triple Escher by whitt107

stripes 21 by GeaAusten

Freaky Fractal by Oxnot

Robotica by madpr0ps

Rough by renatamag

Cross Stitch Style by Scratchytag

Tessellated by waste-and-tragedy

b2 by kAoS-iNc

Undiscovered Weekly

Sun Apr 8, 2018, 11:00 AM
There are tons of awesome fractals submitted every week. Some unfortunately don't get the attention that they deserve, so a little selection of cool stuff that catch my eye during the last week that didnt get enough love.
Check them out :la:

Pong 176 by AkuraPare

Emerald Garden by Szellorozsa

The Price Of A Home For A Millennial by Platinus

Alien Base by banner4

Illuminati by Masteroflemon

Hotnezhivi by Frusslopez

Forest Canopy by whitt107

Strokes by lewis-skevington

129: Let's be Friends by TheCrazyTarantula

180314222426 by snicker02

smarties by GeaAusten

When rainbow (or almost) works

Sun Mar 25, 2018, 11:25 AM
Just a little feature / collection of works where colorful rainbowy coloring works well =D

Static Doom by ChaosFissure Context Power by FarDareisMai Like Pieces of One Puzzle by Shadoweddancer Filling the space by beautifulchaos1
Not every circle wants to be a square by Fiery-Fire 010116-C by Pasternak 
CLASSIFIED by Translucent-Image Reversed Truth by davebold370 Rainbow Maze by pillemaster
Sea and Sand by Velvet--Glove Soaked in color by fractist Odds and ends by renatamag 
#573 by bezo97 Kajo II by magnusti78 Whorl Glow by SuicideBySafetyPin
Dobomog Whimsy by Velvet--Glove Feeling by heavenriver Summer Patchwork by FractalEyes 
Fantasy of the Peacock by OutsideFate  

On ladies and society

Thu Mar 8, 2018, 9:33 AM
A little random text I found on the russian side of the internet and translated.

letter blocks :EDIT: by zipper

Society: Our lovely and beautiful ladies! Take those blocks with letters "S", "H", "I", "T". The challenge today is to make the word "HAPPINESS" out of those! We believe in you! You can do it!

W1 (confused): I´m sorry, I just seem to be getting some "shit" all the time, what am I doing wrong?

Society: You are not working hard enough! Maybe you are not even a real woman?

W2 (nervous and happy): You know, at first I was always getting the word "shit" all the time too, but now i managed to make "this". Yes, it is not "happiness" yet, but already is not "shit"! I am so happy!

Society: Good work, keep doing it, sooner or later, you will get the word "happiness"!

W3: Ahem... Excuse me, are you all nuts here? Don't you see that the word "happiness" has more letters? You will never to manage to make the word "happiness" with those four letters. You only have three of the needed blocks, and so on....

Society (interrupts): God gave you letters, will also give you a bowl of soup!

W3: What? Why do I need soup? And what it has to do with all this?

Society: But you will have something to eat!

W3: I'm talking about whole different thing, look here, you need to take different blocks with different letters....

Society: Then look at Johnny here, he just managed to do it! This means it is possible!

Johnny is sitting near them. He got all the blocks with right letters, and his wife, who is sitting by his side and is very happy for him, helped him to make the word "happiness" out of those.

W2: Wow, he really did it, maybe I can do it too!

W3: You really don't notice that he got different blocks?

Society: Look, here we have a box full of blocks, you can come and pick any blocks you want! It is all in your hands! You can do anything you want!

The three women, interested, dig through the pink box. There are only blocks with letters "S", "H", "I", and "T".

W3: Listen, this box doesn't have all the blocks, where are the other blocks?

Society: It is so hard to please you, ladies. You got blocks, didn't you? Yes you did. A full box of blocks. You've seen an example of a person who did it. What else do you need? A true woman will sort out any difficult situation, will make "happiness" out of any blocks! You are always looking for someone to blame! Stop pretending you are a victim!

W3 (sees a blue box nearby, with a bunch of blocks): Wait a second, let me grab some blocks from here. Now i'll get it done!

Society: Wait! This is the box for men! Blocks for men! Help! We have our rights!

W3 (ignoring): Here we go, I did what you asked me to do. Where are the goodies I win?

Society, W1 and W2: You are a man in woman's body! You should have said so!

W3: Are you nuts? I am a woman! You told me to make the word "happiness", I made it, what is wrong with you?

Society: But women are supposed to only take blocks from the pink box!

W3: Pink box got only shit in it!

Society: So what? How can this keep you from making the word "happiness"? We really don't understand.

W3: Ok, let's do some finger counting. See the middle one?

End of the geoban

Sat Mar 3, 2018, 6:02 AM

Update: Iran geoblocked

Tue Feb 20, 2018, 5:51 AM
Yesterday they blocked Syria. Today they blocked Iran. Tomorrow, when you will try to get your furry porn, you will find out you are blocked too.

<da:thumb id="731016653"/>

No shame at all?

Mon Feb 19, 2018, 6:55 AM

on geobans and unfairness

Thu Feb 15, 2018, 3:10 PM

IFStile Introduction

Sat Oct 28, 2017, 7:00 AM by tatasz:icontatasz:

Fractal Art Week

Endless Pattern 1 by pillemaster Sky Dragons by C-91

Have you ever wondered how to create artworks like the ones above?

The answer is: substitution tilings. 

The main idea of a substitution tiling is to use a set of building blocks. In this set, each block is made up of smaller blocks having the same shape as the original set. These smaller blocks are made up of even smaller blocks, and so on. For example, let's take a square. Now, we can use 4 smaller squares to build it. And then, 4 even smaller squares.

Some well known examples of substitution tilings are:

Tiling Encyclopedia is a great resource on substitution tilings, check it out.

Substitution tilings are great source of fractal shapes, due to its recursive nature. But as you can see, there is quite a bit of mathematics involved in its construction, which can be really tricky and requires a lot of work.


IFSTile is a software that allows you to visualize substitution tilings, search for new tilings and also export the results to Apophysis.

You can download IFStile here:

Let's take a look at how to use it.

To browse examples, click on the Star Icon in the top menu:

Ifstile01 by tatasz

There is a huge list of 2D examples, and also some 3D. Each example contains between 2-3 to several hundred tilings.

If you want to export a selection of tilings to Apophysis or Chaotica to play with coloring and explore those shapes further, tick the tilings you want to export. Then, go to File >> Save Checked. If you just click save, it will save the checked tilings in the IFStile format.

If you want to use your selected tilings in Apophysis, JWF or Chaotica, you will need to add a .flame extension to flame name.

Untitled Drawing by tatasz


 If you need more examples, you can download them here:

Ammann Beenker  for IFStile by tatasz  Ammann A3  for IFStile by tatasz  Gosper Island for IFStile by tatasz
Menger IFStile by tatasz  IFStile Koch Snowflake by tatasz  IFStile examples for apo by tatasz

Lately, I've been feeling that DeviantArt lacks a gallery: one for Generative Art. 
Because lets face it, it is art, and we artists create it. And we have no room to share it here on DA, unfortunately.

Please fav, comment and share if you agree with me.


Sun Jun 4, 2017, 3:54 AM
Yesterday, bezo97 and sumopiggy were doing some wizardry. So I fed them the xaos scheme for this work:

Construct by tatasz

And got back this awesome fluxogram, coded by bezo97. This is how evil xaos looks like:

Ss+(2017-06-04+at+12.44.47) by tatasz

Speed Fractaling

Tue May 9, 2017, 3:12 AM
As you people requested (i dont really understand why, but well, you wanted it):

Chaotica Animation tips and tricks

Tue Dec 6, 2016, 11:14 AM
Random Chaotica animation rendering tips =)
(may be a bit advanced but oh well)

There are a few tricks that i consider when creating animations. Those tips are mostly for fellow i5 and laptop users who try making animations against all odds.

1. Consider AA1 as possibility
2. Use relatively low stopping SL, such as 8
3. Never use ultraquality

This is the most important imho. When you render it, there are few things that you can do really, but you casn chose wisely the parameters you will animate and the way you will animate them.

1. Some transforms are slower than others (for example, spherical and linear are fast, and julian and bipolar are slow). If you have something against rendering for a month, you may consider animating some parameters that are fast to render.
Consider creating something using only transforms such as linear, spherical, hemisphere, eyefish, splits...
Rule of thumb: make a basic spherical plant (…). This is close to the best your pc can do (or if you are lazy and dont want to make some awesome spherical plants, just pick Chaotica random). Put it to render with the resolution and AA you want for your animation and note down the DE speed. Use this as reference: if the params you want to animate render with similar speed, this is as good as it can get.

2. Try removing variations that dont make a big difference. For instance, if you have a transform with 1 linear and 0.01 eyefish, maybe just take the eyefish off? 

3. If you use blurs, consider removing them and letting motion blur do the blurrying job instead.

4. Efficiency. High efficiency = better, in general: with low efficiency, takes longer to achieve the stopping SL.
Also, once you made your animation, make sure all your frames (if you need to go 1 by 1, then do it) have reasonably high efficiency. As Chaotica interpolates between frames, you may accidentally end up with a couple of 0.1% efficiency frames in the mix. Those could take virtually infinite time to render (even if other frames are fast renders), and you don´t want it.

5. Consider using low gamma values: this way, the noisy low density areas will be more transparent and pop up less, so you will be able to stop at lower SL.

6. Screw that, consider using gamma threshold if necessary to get rid of extensive noisy areas.
For example, on picture below, see the left side and the subtle noise behind the pattern:
Hyperspace by tatasz
I would totally threshold it for an animation.

7. Make a render friendly crop: for example, on the picture below, see the upper left corner
Hyper Stare by tatasz
This noise will hardly ever go away, and you will need something like SL 10+ to make it look decent. 

Rule of the thumb: try rendering your parameters up to SL 8-8,5. If it looks smooth enough, then go ahead.

Last but not least, a bonus:
AVOID RED when making videos (its fine for gifs). Most compressions are not friendly to red, and the risk of having some ugly pixelated stuff is higher.
I have no clue really, but there is a link where some smart person explains it better:…

I decided to write this tutorial as most of the IFS tutorials are focused on Apo, and don't really explore all the possibilities Chaotica offers: a nice and flexible transform system, allowing effects that cannot be achieved in Apo without resorting to complex weight and "xaos" structures.

I will present here 5 examples to illustrate those possibilities.

Before reading this tutorial, you may take a look at the tutorial below, as it may help to understand some of the examples:

Pre and Post variationsA quick tutorial about how variations (transforms), pre_variations (pre_transforms) and post_variations (post_transforms) work. Specifically, what happens when there is a mix of variations, for example. Or several post ariaions together.
Shortly, pre and post variations work same way as pre and post linked transforms.
As a consequence, there are some things that are equivalent:
pre_variation = a pre linked transform with the variation (normal one, not pre)post_variation = a post linked transform with the variation (normal one, not post)variation1 + post_variation2 on same transform = pre_variation1 + variation2 on same transform
Below, we will only talk about the behaviour when they are mixed.
Lets start with a simple checkboard pattern. I will do all changes in the final transform (camera transform in chaotica). You may also use a shared linked transform to apply the variations to the whole pattern without breaking it. (Take a look at the params: C

Also, notice that the focus of this tutorial is to explain a technique and not to teach you how to make some specific setup.

Example 1: Blur with double spherical

The first example is based on the technique described here:

Filling in with bubblesLets take a look at frameworks where you have a circular hole that needs to be filled to create a pattern.

The basic idea
Here, you have a variation or a combination of variations that has a round hole, which you need to fill with something to create a round pattern:

We have basically two elements here - the framework itself and the filler. Lets take a look at some frameworks and fillers.
Plastics and Blooms
There are many tutorials on those structures (both frameworks and fillers):

And yeah, blooms are also plastics (just look at the transfor 2 of the 2D tutorial - linear + spherical) ;)

Lets first make the basic framework. Start with a New World, and add 2 iterators.

To iterator 1, add a new transform, with spherical = 1. Then, add a second transform with eyefish = 0.2.

01 by tatasz 02 by tatasz

Then, add a transform to iterator 2, with hemisphere = 0.4. And, back to iterator 1, set its weight to something like 10.

03 by tatasz 04 by tatasz

Now, lets edit the affite of iterator 1. Scale it down, and then move and rotate:

05 by tatasz

You should have something like this:

06 by tatasz

This is the base for this example. Now, we will use the tricks =)

Lets add some pre transforms to iterator 2, in the order listed below:
  1. spherical = 1
  2. pre_blur = 0.1
  3. spherical = 1

07 by tatasz 08 by tatasz 09 by tatasz

This is something you cannot really do in Apophysis, as you don't have many pre_ and post_ transforms avaliable and cannot use more than one instance of same transform at once, unlike in Chaotica.

What does this thing do? First spherial inverts the thing inside the hemisphere, then pre_blur blurs the middle of it, and then second spherical inverts it back. This way, we get exactly the same thing, not inverted (as we inverted it twice, thats back to original ;)), but with blurred edges and sharper center:

10 by tatasz

We can develop this further. On iterator 2, remove all the pre and transforms we added. And replace them with the following setup:

  1. Pre_transform: spherical  1
  2. Transform: linear = 0.95
  3. Transform: starblur = 0.05 (set power to 3 and range to 1)
  4. Post_transform: spherical = 1
  5. Post_transform: hemisphere = 0.4

Here, we did the same, but instead of pre_blur we used a mix of linear and starblur. The spherical pre_transform, again, does the inversion. The mix of linear and starblur creates a bokeh effect. Note that, to mix up properly, those two have to be in the regular transform slot. So, we place them as regular transforms, and then apply the second spherical as post_transform to invert it all back. Then, as we still need to put this all in a hemisphere, we add back the hemisphere, as the last post_transform.

11 by tatasz

Below, I added a crackle transform and messed up with weights a little bit to highlight the bokeh effect:

12 by tatasz

Example 2: several instances of the same transform

As we already observed in the example above, you can use multiple instances of the same transform. Here, we use the technique described in the tutorial below:

A new(?) apo trick - includes paramsIf you've been hanging around aposhack at all the past few days, you've probably seen me excitedly linking to images like these:

Well, now I'm going to teach you how to get that intertwining.
We are going to start from the sphereye-bubble template that comes with Apo 7x. If, for some reason, you don't have that/don't know how to get to it/are using a different version of apo, here are the params:

Basically, lets start with the parameters we created in the Example 1. Then:
  1. Toggle Camera transform
  2. Add a new transform to Camera, with julian = 1 (set power to 5)
  3. Add another transform to Camera, with julian = 2 (set power to 3)
13 by tatasz 14 by tatasz

In the tutorial I linked, FarDareisMai uses julian and julian2 - but we can achieve the very same effect in Chaotica by just using julian twice (as none of the special parameters of julian2 was really used). Also, this solution is slightely faster, which makes a difference for animations and large renders.

If you did everything correctly, you should have something like this:

15 by tatasz

And, with a few more tweaking (basically, I moved and rotated the affine of iterator 1, and also the camera transform):

16 by tatasz

Example 3: Double Bubble Simplified

With smart usage of pre_ and post_ transforms, we can basically avoid most of the "xaos" / weight use that Apophysis usually requires.

Lets take a look at the Double Bubble Tut by piethein21.
You may also check my speed fractaling video: [link]

But, this time, we will use pre_ and post_ transforms to avoid messing up with weights.

Start with a blank world. In the editor, add a new iterator, with following transforms:
  1. Pre_transform: spherical = 1
  2. Transform: hemisphere = 1
  3. Post_transform: mobius = 1
17 by tatasz 18 by tatasz 19 by tatasz

Add a second iterator, and add same 3 transforms to it, so both iterators are identical.

Curl, used in the original tutorial, is a particular case of mobius, which we will now set up to replace curl:
  1. On iterator 1: set mobius re_b to -1 and re_c to 1
  2. On iterator 2: set mobius re_b to 1 and re_c to -1

20 by tatasz 21 by tatasz

The result should look like this:

22 by tatasz

Move around the pre_affines to obtain different patterns such as one below:

23 by tatasz

Example 4: Flux Simplified

This is just another case of mobius usage to replace curl. You may take a look at more half plane ideas in the tutorial below:

Filling Half PlanesThere are a few variations that map the whole plane to a half plane. For example, flux, deltaA and several others (either by themselves or in combination).
Lets first take a look at a few works featuring those and then learn how to fill it up.

Those transformations take the whole plane and map it into half plane, leaving the other half empty. Flux and DeltaA are two examples of such transforms.
To see how it works, lets start with a simple checkboard pattern:

Now, we apply Flux as camera transform (fx):

And DeltaA:
deltaA by tatasz

Start with a new blank world, and add two iterators. Add the following transforms:
  1. To iterator 1, add a flux transform
  2. To iterator 2, add a hemisphere transform

24 by tatasz 25 by tatasz

Now, to iterator 2, add a mobius post transform, and set mobius re_b to -1 and re_c to 1:

26 by tatasz 27 by tatasz

Now, you should have something like this:

28 by tatasz

After scaling, moving and rotating the pre affines, you could end up with something like:

29 by tatasz

Example 5: Foci Simplified

And, of course, this wouldn't be me if i didn't find a way to put some foci into it.

Lets start with the parameters from the previous example. Toggle the camera transform, and add a hemisphere tranform to it. Then, add a ngon post transform (with ngon = 0.5), and set ngon power to 0:

30 by tatasz 31 by tatasz

Now, let's keep adding post transforms. First, add a tile_log post transform. Then, on top, add a mobius post transform. Set re_a to 0.785398 (as in pi/4), and im_a to 2.08.

32 by tatasz 33 by tatasz

Finally, add a foci post_transform (so you will have a whole 4 post transforms on your camera transform):

34 by tatasz

The result will look like this:

35 by tatasz

If you want to be really evil, you can, instead of putting this into cam transform, incorporate foci into the fractal itself.

To do this, add the following pre_transforms to iterator 2:
  1. hemisphere = 1
  2. ngon = 0.5 with power = 0
  3. tile_log = 1
  4. mobius = 1 with  re_a = 0.785398 and im_a = 2.08
  5. foci = 1

The result should look like this:

36 by tatasz

Untitled by tatasz

I've spend quite some time trying to re-code some of the transforms made by zy0rg recently, and I guess I feel a bit like rambling a bit about it - specifically about some cool and underappreciated aspects.

First of all, if you happen to not have the post_smartcrop dll, download it here:…

Post_smartcrop is very commonly used as a regular post transform, with variable static = 2. An example of this is the picture that opens this article. The smartcrop parameters that produce this crop shape are the following:

Untitled by tatasz

You may find a few more examples o this smartcrop usage on Deviant Art, in plangkye's gallery:…

But there is a different approach to it. Not common at all - it is well possible that Zy0rg is actually the only person using it, and this is why I want to highlight it. We can mix up post_smartcrop with other transfrms.

For example, take a look below:

Untitled by tatasz

Here, I used static = 1 to apply blur_zoom only on the areas outside of the flower shape created by smartcrop.

Second example, suppose you want to apply swirl, but only on part of the whole area. That is another job for smartcrop:

Swirl E by tatasz

Take a look at the parameters: Swirl Crop Example

As you can see, we have basically one transform made out of two here. Smartcrop works a sort of intensity frunction, specifying where the second transform of the combo will be applied and where it will not be.

Another example of this approach is post_depth, again by Zy0rg. Once more, we have one transform that defines where and with what intensity the other transform will be applied.

City Lights by zy0rg

The point of all this is actually to highlight this approach to transform making. It works in Apo and JWF (I suppose) and is a neat to give the users insane amount of creative freedom. Take post_depth for example. If you would turn it into a single transform thing, you would end up with either 100500 different post_depth transforms, one for each blur, or some crazy and unefficient monster with 100500 variables. And instead, you can just have one extra transform, which instead of being a function to be applied specifies how any other function would be applied.

Unfortunately, it is implemented in a slightely hacky way (i suppose), so those transforms won´t work in Chaotica the way they are currently made. But, imho, it would be a great addition to allow the user to specify the way two transforms are mixed up.

As one last example, a quick hack: waves2 with a different intensity function built in - the waves2 amplitude is zero around the origin, then interpolates linearly from 0 to a set value, then constant on the set value:

Pct by tatasz