File:3D Julia-set (IFS 001).jpg

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

3D_Julia-set_(IFS_001).jpg(600 × 600 pixels, file size: 94 KB, MIME type: image/jpeg)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
English: Julia set, a fractal, here in three dimensions. The image was created from using a "iterated function system". This is not a quaternion - only three parameters; x, y, z was used in the reversed formula . In 2D the root function rotates to half the previous angle and scales to the root of the previous length. I developed a method to do this using three parameters, (see formula in C-code below).
Source Own work
Author user:Solkoll

See also:

External link:



Image: User:Solkoll.
Public domain This work has been released into the public domain by its author, Solkoll. This applies worldwide.

In some countries this may not be legally possible; if so:
Solkoll grants anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


More 3D fractals from my tool:

All freaktal images are from self-written tools. Linear fractals from my : "3D IFS studio" and "3D DTIFS" (dragon trees), non-linear IFS from "3D RJIFS" (3D rev Julia).

See also: Solkoll & Solkoll 2D


Source-code:[edit]

C-code snippet:
// Notes:
// All variables are declared as "float" or "double".
// x, y, z is the 3D variable "Z".
// a, b, c is the 3D constant "C" (the Julia-coordinate).
// RND is a random float in the range 0 - 1, define it like this:
// #define RND ( ( float ) rand ( ) / RAND_MAX )
// Here the function:
x -= a;
y -= b;
z -= c;
length = sqrtl ( x*x + y*y + z*z );
root = sqrtl ( length );
if ( length == fabsl ( x ) )
{
if ( x < 0.0f )
{
angle = RND * pi * 2.0f;
y = cosl ( angle ) * root;
z = sinl ( angle ) * root;
x = 0.0f;
}
else
{
x = root;
}
}
else if ( length > 0.0f )
{
x = ( ( x - length ) / 2.0f ) + length;
y = y / 2.0f;
z = z / 2.0f;
length = root / sqrtl ( x*x + y*y + z*z );
x *= length;
y *= length;
z *= length;
}
// This is the IFS: randomly select any of the two roots :)
if ( int ( RND * 2 ) )
{
x = - x;
y = - y;
z = - z;
}
If you like to get more information about this function?

then write at: User talk:Solkoll or drop me a wikimail.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current11:10, 26 March 2005Thumbnail for version as of 11:10, 26 March 2005600 × 600 (94 KB)Solkoll~commonswiki (talk | contribs)'''Julia set''', here in three dimensions, not a quartenion - only three parameters; x, y, z was used, (reversed technolog) in a "iterated function system". '''See also:''' * w:en:Julia set * w:en:Iterated function system {{Solkoll 3D}}

File usage on other wikis

The following other wikis use this file:

Metadata