Tuesday, 31 March 2009
Postcards from paradise
Posted by UltraGnosis at 08:24 0 comments
Labels: art, fractal art, fractals
Thursday, 26 March 2009
The shaman's mask
The smaller version at the forehead represents the opening of the third eye in the form of the shaman's higher self in direct contact with unseen dimensions.
Posted by UltraGnosis at 09:24 2 comments
Labels: art, fractal art, fractals, shaman
Wednesday, 25 March 2009
Death's heads
"We ended up having to eat each other."
Initial parameters from this Spherical-Juliascope script.
Posted by UltraGnosis at 15:27 0 comments
Labels: art, fractal art, fractals
Tuesday, 24 March 2009
Timewave zero
During his famously monumental psilocybin session in the early '70s, Terrence McKenna 'downloaded' the idea of connecting the I Ching with a description of time. The result was the Fractal Timewave, predicted to complete its final infinitessimal cycle in 2012, as the ingress of novelty approaches the infinite.
First outing for the excellent new qwave plugin: http://keeps.deviantart.com/art/qwave-116810485
Full view essential.
Posted by UltraGnosis at 20:32 0 comments
Labels: art, fractal art, fractals
Glynn goes clubbing
Posted by UltraGnosis at 19:18 2 comments
Labels: art, color, colour, colourful, fractal art, fractals, pink
After the rain
Posted by UltraGnosis at 14:36 0 comments
Labels: abstract, art, fractal art, fractals
Monday, 23 March 2009
Only 313 shopping days left till Christmas
Posted by UltraGnosis at 17:01 0 comments
Labels: abstract, art, fractal art, fractals
Saturday, 21 March 2009
Dream alembic
Posted by UltraGnosis at 09:34 0 comments
Labels: abstract, art, dreams, fractal art, fractals
Friday, 20 March 2009
Sunday, 15 March 2009
Tip: ad hoc scripting #2 - rapidly change variables for a group of transforms
I have already published a set of utility scripts for working on groups of transforms (link). It's easy enough to write scripts that generalise when it comes to working with variations (one simply needs to maintain a list of currently installed plugins in alphabetical order): the old method of referencing variations by number is most useful in this context. But it doesn't allow for easy manipulation of variables. Rather than write an enormous script that covers all, I've developed a (wait for it) spreadsheet that picks up all the variables via a lookup table. But it's not necessary - just a code snippet repository or, better, a clipboard utlility (e.g. ArsClip, my review) will do the trick. As an example, we'll take the lazysusan variation - all that's required is:
Transform.lazysusan_spin := 3.14159;
Transform.lazysusan_space := 0;
Transform.lazysusan_twist := 0;
Transform.lazysusan_x := 0;
Transform.lazysusan_y := 0;
These are the default values. Also, a loop wrapper:
for i := a to b do
begin
SetActiveTransform(i);
...variables...
end
where a and b are the first and last transforms of the group (zero-based counting, that is the first transform of the flame is in fact transform #0).
Running Apophysis with the script editor window open (Ctrl-D), just click the New tool and paste in the code, amend the values as desired and click the Run tool - one click to perform what would take perhaps 30 seconds to accomplish in the Transform Editor.
Posted by UltraGnosis at 08:40 0 comments
Saturday, 14 March 2009
Friday, 13 March 2009
Tip: ad hoc scripting #1 - batch rendering multiple .flame files
Following on from the previous tip, this becomes a very simple but powerful tool to enhance lengthy unattended rendering, ideal for setting up before a weekend away. With reference to the previous tip, [script code] represents the chosen block of script for rendering the contents of a single .flame file. The choice of method may be varied for each .flame file. The following code will render the content of three .flame files in a single run:
SetFlameFile('full path\filename1.flame');
[script code]
SetFlameFile('full path\filename2.flame');
[script code]
SetFlameFile('full path\filename3.flame');
[script code]
The snippet may be stored in a text file and then amended and copied to the clipboard (Ctrl-C). In Apophysis, open the script editor (Ctrl-D), click New and paste (Ctrl-V), then click Run. This way, you don't end up with a load of stored scripts that won't be used again.
Posted by UltraGnosis at 12:44 0 comments
Morning shadows brush away the traces of last night's bloodshed
Posted by UltraGnosis at 09:28 0 comments
Labels: art, fractal art, fractals, surreal
Thursday, 12 March 2009
Wednesday, 11 March 2009
Information: Changes
I have become 'stalled' at deviantART (for a variety of reasons which needn't detain us here), but haven't been altogether idle in the interim. I have launched myself at Fine Art America in the hope of earning a little income from my art, and so new work posted here will link directly there. Also notice the widget, hand-coded in order to retain the complete list of available prints, rather than just the latest 15 that the site's feed offers.
I've been working on a new style of abstracts, plus there's a backlog of disc-julians and some miscellaneous others. Not all will make it to the print stage, but I may decide to upload elsewhere so that the preview images here may link to something satisfyingly larger. Also some more tips on the way, and I have draft notes for the outline of 'The definitive guide to disc-julians' which may eventually surface as a stylish (sic!) .pdf ;-)
Posted by UltraGnosis at 07:44 0 comments
Labels: information
The Sultan's bedchamber
Posted by UltraGnosis at 07:09 0 comments
Labels: art, fractal art, fractals, opulent, pink, rich, sumptuous
Tuesday, 10 March 2009
Saturday, 7 March 2009
Tip: batch rendering
Historically, this was always accomplished using a script, whether with the internal renderer or flam3. We now have a bulit-in batch rendering command, plus I have my own custom (script) method. Which method to use depends very much on one's preferred workflow. Essentially, we can divide this into two groups:
1. All renders share the basic rendering parameters.
2. Each render has individual requirements.
Case #1 is simple: its simplest solution is to use the bulit-in method Flame, Render All Flames (Ctrl-Alt-R), offering the usual dialogue for setting parameters. Scripted, the equivalent is:
Renderer.Width := ##;
Renderer.Height := ##;
for i := 0 to FileCount - 1 do
begin
LoadFlame(i);
Flame.SampleDensity := ##;
Flame.Oversample := ##;
Flame.FilterRadius := ##;
Renderer.Filename :='path' + Flame.Name + '.ext';
SetRenderBounds;
Render;
end;
UpdateFlame := False;
where ##, path and ext should be specified as desired.
To render the contents of a .flame file other than the current one, simply precede the code with:
SetFlameFile('full path\filename.flame');
Case #2 requires a little more work, but provides more flexibility. Each parameter set would require saving with the desired dimensions, set on the Image Size tab of the Adjust dialogue (make sure to click Apply). The script code would then read:
for i := 0 to FileCount - 1 do
begin
LoadFlame(i);
Renderer.Width := Flame.Width;
Renderer.Height := Flame.Height;
Flame.SampleDensity := ##;
Flame.Oversample := ##;
Flame.FilterRadius := ##;
Renderer.Filename :='path' + Flame.Name + '.ext';
SetRenderBounds;
Render;
end;
UpdateFlame := False;
But there is no easy way to set individual values for quality, oversample and filter radius, other than editing the .flame file manually, either with a text or XML editor. To this end, I developed a spreadsheet in which values for each parameter set are entered into adjacent cells, then a button pressed that copies the code to form a consecutive set of instructions, like this:
LoadFlame(0);
Renderer.Width := 6000;
Renderer.Height := 6000;
Flame.FilterRadius := 1.2;
Flame.Oversample := 1;
Flame.SampleDensity := 1000;
Renderer.Filename := 'C:\Program Files\Apophysis 2.0\Prints\' + Flame.Name + '.jpg';
SetRenderBounds;
Render;
LoadFlame(1);
Renderer.Width := 6000;
Renderer.Height := 6000;
Flame.FilterRadius := 0.8;
Flame.Oversample := 1;
Flame.SampleDensity := 500;
Renderer.Filename := 'C:\Program Files\Apophysis 2.0\Prints\' + Flame.Name + '.jpg';
SetRenderBounds;
Render;
.
.
.
etc.
This takes very little time and provides complete flexibility for parameter choice for unattended rendering.