Rotating in Full Colour Will Make Your Eyes Hurt



January 14th, 2021 by Diana Coman

In short, being otherwise rather busy with other matters, I just added the "rotated" pattern to my previous puzzle set and then let it fill my hard-drive with wondrous and amazing... art1. Being the art lover that I am, I've also made sure to bin first a few hundreds GB of previous art, since it's all getting a bit out of balance here and it's all so expensive and hard to make and worth a ton of money upfront that I'm happy I don't have to print all this art too, or I'll be looking very soon for an even larger rubbish bin.

Back to the matter at hand, the rotated pattern is a combination of domain distortion and multifractals: first it distorts the input space by means of a rotation around the 3 axes by 3 different, pseudo-randomly generated amounts, then it applies a first fbm fractal (Perlin-based) and then it tops that with another pattern (which is in turn a multifractal-based domain distortion and transformation - the "layered" effect from the early prototype). Does all that sound rather complicated? Well, it's more complicated to write up than to do it, as it's really just a straightforward combination of existing puzzle pieces - a matter of a few lines added to my puzzle set and then a few days of listening to the purring of one computer busy churning out the results.

Although I rather knew what to expect this time (and hence, what values for each parameter would lead to something useful), I still let the generator try out both grayscale and colour mappings for a full set of octaves, hurst coefficients and seeds. As a result, I can provide here some samples of the direct RGB mapping approach to make your eyes hurt and your head spin - the higher the number of octaves, the dizzying the result, too, unsurprisingly (all parameters are coded in the filenames, the images show the results for 2 seeds, with fixed hurst at 0.812 and number of octaves going for each from 3 to 6):

rotated_7_fbm3_s4009_rotated_h0812_o3_w512_h512_normc_pal3d_default.jpg
rotated_8_fbm3_s4009_rotated_h0812_o4_w512_h512_normc_pal3d_default.jpg
rotated_9_fbm3_s4009_rotated_h0812_o5_w512_h512_normc_pal3d_default.jpg
rotated_10_fbm3_s4009_rotated_h0812_o6_w512_h512_normc_pal3d_default.jpg
rotated_11_fbm3_s4010_rotated_h0812_o3_w512_h512_normc_pal3d_default.jpg
rotated_12_fbm3_s4010_rotated_h0812_o4_w512_h512_normc_pal3d_default.jpg
rotated_13_fbm3_s4010_rotated_h0812_o5_w512_h512_normc_pal3d_default.jpg
rotated_14_fbm3_s4010_rotated_h0812_o6_w512_h512_normc_pal3d_default.jpg

Despite the above pain in primary colours, this rotated pattern can work in grayscale, as long as one keeps to a relatively low number of octaves. Due to the rotation being chosen based on the prng seed, there is also enough variation from one seed to another without having to change otherwise any other parameter. To my eye, the results seem possibly best around 3-4 octaves - fewer than that makes for too little detail in there while more than that packs possibly way too much, so that the result looks more like a mess than some sort of landscape with any features worth the mention. Here are some samples for illustration, with all parameters coded in the filenames (2 seeds, with fixed hurst at 0.812 and number of octaves going for each from 3 to 5):

rotated_1_fbm3_s4007_rotated_h0812_o3_w512_h512_normc_graytrig.jpg
rotated_2_fbm3_s4007_rotated_h0812_o4_w512_h512_normc_graytrig.jpg
rotated_3_fbm3_s4007_rotated_h0812_o5_w512_h512_normc_graytrig.jpg
rotated_4_fbm3_s4008_rotated_h0812_o3_w512_h512_normc_graytrig.jpg
rotated_5_fbm3_s4008_rotated_h0812_o4_w512_h512_normc_graytrig.jpg
rotated_6_fbm3_s4008_rotated_h0812_o5_w512_h512_normc_graytrig.jpg

Considering the above as a possible candidate method for heightmap generation brings up the number of such candidates to at least 3. And so I'm increasingly itching to get to try in practice at least *some* of those, to see how they might work or not for actual walking on and digging into. Just looking at the heightmap image doesn't do all that much (or at least not for me at the moment) but there are still quite a few steps missing before I could basically deploy a heightmap generator even for testing. So for now I'll just let the patterns accumulate and maybe even manage to refrain from adding more patterns every other week or so...


  1. Supposedly, playing around with fractals for making pretty images makes one a "fractal artist" so now I'm stuck trying really hard to make horrible images instead, if I'm to stand any chance of rejecting being called *that* name, too! I'll count it as good motivation too, since the more I keep running into pretty (or at least not downright ugly) fractals at all steps, the more I'd rather find a way to make some properly terrifying ones too, all that pretty starts getting on my nerves already. I have a hunch that it's probably *harder* to make truly terrifying fractal-based images, at that. 

Comments feed: RSS 2.0

Leave a Reply