Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Question About Fractals

34 views
Skip to first unread message

Brian

unread,
Jan 19, 2013, 3:10:20 PM1/19/13
to
Hi, I was reading an article about fractals, and the article says that
fractals by themselves have no shape or form, but that computers can
be used to convert fractals into images. What exactly is a fractal?

Brian

Geoff

unread,
Jan 19, 2013, 3:45:15 PM1/19/13
to
Hmmm... where on the web might we find a decent description?

http://en.wikipedia.org/wiki/Fractal

Brian

unread,
Jan 19, 2013, 4:09:35 PM1/19/13
to
On Jan 19, 3:45 pm, Geoff <ge...@invalid.invalid> wrote:
> On Sat, 19 Jan 2013 12:10:20 -0800 (PST), Brian <briansip...@yahoo.com> wrote:
> >Hi, I was reading an article about fractals, and the article says that
> >fractals by themselves have no shape or form, but that computers can
> >be used to convert fractals into images.  What exactly is a fractal?
>
> >Brian
>
> Hmmm... where on the web might we find a decent description?
>
> http://en.wikipedia.org/wiki/Fractal

Thank you for the link, Geoff. The Wikipedia article on fractals
answered my question.

Geoff

unread,
Jan 19, 2013, 5:16:06 PM1/19/13
to
You're welcome. As you can see it isn't a very simple answer.

Enjoy.

Robin Vowels

unread,
Jan 19, 2013, 6:53:06 PM1/19/13
to
The formula for creating images is almost trivial ...

Chris M. Thomasson

unread,
Feb 18, 2013, 6:53:26 PM2/18/13
to
"Brian" wrote in message
news:b3b13a29-514f-43b1...@gu9g2000vbb.googlegroups.com...

> Hi, I was reading an article about fractals, and the article says that
> fractals by themselves have no shape or form, but that computers can
> be used to convert fractals into images. What exactly is a fractal?

Self-similarity across various levels of scaling. Think of repeating
patterns that can curve around and repeat themselves at a slightly lower
scale until it hits critical limit. Critical limit can be how far you are
willing to go wrt the infinitely repeating pattern. For instance, a simple
fractal could be something as simple as finding the points of intersections
between a set of cirlces. Then simply draw smaller circles around said
points. Repeat!

FWIW, and since this is comp.programming, here is a retarded first attempt
at creating such circle intersection fractal, presented in AS3 of course!


__________________________________________________________________________
package
{
import flash.display.Sprite;
import flash.events.Event;

/**
* ...
* @author Chris M. Thomasson
*/
public class Main extends Sprite
{

private var mcr1:Number = 3;
private var mcr2:Number = 3;



public function
prv_draw(i:uint, cmp1:Array, cmp2:Array):void {

if (i > 33 || ! cmp1 || ! cmp2) return;

//cmp1[2] * 314628
//.5 / (i / 22)
// c=(i + 1) * (cmp1[2] * cmp1[2]) * (cmp1[2] * cmp1[2]) *
314628
this.graphics.lineStyle(.277 / (i / 22),
0xFFFF00, .03);
prv_circle_draw(cmp1, 0);

if (cmp1 != cmp2)
{
//this.graphics.lineStyle(.75 / (i / 22), 0x00FFFF, 1);
//prv_circle_draw(cmp2, 0);
}


var isect1:Array = prv_circle_isect(cmp1, cmp2, 0, 3);


if (isect1)
{
// prv_circle_draw(isect1, 0);


prv_draw(i + 1, isect1, cmp1);
prv_draw(i + 1, isect1, cmp2);


prv_draw(i + 1, cmp1, isect1);
prv_draw(i + 1, cmp2, isect1);
}




/*

var isect1:Array = prv_circle_isect(cmp1, cmp2, 0, 3);
var isect2:Array = prv_circle_isect(cmp2, cmp1, 0, 3);

if (isect1)
{
prv_circle_draw(isect1, 0);

prv_draw(i + 1, cmp1, isect1);
prv_draw(i + 1, cmp2, isect1);
prv_draw(i + 1, isect1, cmp1);
prv_draw(i + 1, isect1, cmp2);
}

if (isect2)
{
prv_circle_draw(isect2, 0);

prv_draw(i + 1, cmp1, isect2);
prv_draw(i + 1, cmp2, isect2);
prv_draw(i + 1, isect2, cmp1);
prv_draw(i + 1, isect2, cmp2);
}

*/
}



public function
Main():void {





//prv_cdraw_render();

addEventListener(Event.ENTER_FRAME, prv_cdraw_render);


/*
var circles:Array = [
200, 300, 100,
250, 300, 100];

this.graphics.lineStyle(1, 0xFFFFFF);


//prv_circle_draw(circles, 0);


//prv_circle_draw(circles, 3);

//var isect:Array = prv_circle_isect(circles, circles, 0, 3);

//if (! isect) return;

var i:uint = 0;

for (var ci:uint = 0; ci < circles.length && i < 22; ci += 3,
++i)
{
var ci2:uint = ci + 3;
if (ci2 + 3 > circles.length) break;



var isect_fresh:Array =
prv_circle_isect(circles, circles, ci, ci2);

if (! isect_fresh) continue; //fixup?

prv_circle_draw(circles, ci);

prv_circle_draw(isect_fresh, 0);

circles = circles.concat(isect_fresh);
}



*/



/*

prv_circle_draw(isect, 0);



var isect2a:Array = prv_circle_isect(circles, isect, 0, 0);
var isect2b:Array = prv_circle_isect(isect, circles, 0, 3);


prv_circle_draw(isect2a, 0);
prv_circle_draw(isect2b, 0);



var isect3a:Array = prv_circle_isect(circles, isect2a, 0, 0);
var isect3b:Array = prv_circle_isect(isect2b, circles, 0, 3);


prv_circle_draw(isect3a, 0);
prv_circle_draw(isect3b, 0);


//isect2:Array = prv_circle_isect(circles, isect, 0, 0);

*/
}







public function
prv_cdraw_render(e5:Event = null):void {
this.graphics.clear();

var circles:Array = [
355, 300, 222,
555, 300, 177];


this.graphics.lineStyle(1, 0xFFFFFF, .1);

this.graphics.drawCircle(circles[0], circles[1], circles[2]);
this.graphics.drawCircle(circles[3], circles[4], circles[5]);

prv_draw(0, circles, circles);


//var circles2:Array = [
// 200, 100, 333 - mcr2,
// 444, 100, 333 - mcr2];

//this.graphics.drawCircle(circles2[0], circles2[1],
circles2[2]);
//this.graphics.drawCircle(circles2[3], circles2[4],
circles2[5]);
//
// prv_draw(0, circles2, circles);

mcr1 -= .007;
mcr2 += .17;
}




public function
prv_draw_mid_point_circle(
circles:Array,
offset:uint
):Array {

this.graphics.moveTo(circles[0], circles[1]);
var dis:Number = prv_distance(circles, 0);

this.graphics.lineStyle(circles[2]);
this.graphics.lineTo(circles[3], circles[4]);


this.graphics.moveTo(circles[0], circles[1]);
this.graphics.lineStyle(circles[5], 0xFFFF00);

var ggg:Array = prv_mid_point(circles, 0);
this.graphics.lineTo(ggg[0], ggg[1]);


this.graphics.lineStyle(circles[5] + circles[2], 0x3366AA);
this.graphics.drawCircle(ggg[0], ggg[1], dis / 2);

return ggg;
}




public function
prv_distance(
points:Array,
offset:uint
):Number {

var x_diff_sq:Number =
(points[offset + 3] - points[offset]) *
(points[offset + 3] - points[offset]);

var y_diff_sq:Number =
(points[offset + 4] - points[offset + 1]) *
(points[offset + 4] - points[offset + 1]);

return Math.sqrt(x_diff_sq + y_diff_sq);
}




public function
prv_mid_point(
points:Array,
offset:uint
):Array {

var x_mid_pt:Number =
(points[offset] + points[offset + 3]) / 2;

var y_mid_pt:Number =
(points[offset + 1] + points[offset + 4]) / 2;

return [x_mid_pt, y_mid_pt, 0];
}




public function
prv_circle_draw(
circles:Array,
oi:uint
):void {

if (! circles) return;

//this.graphics.beginFill(0xFF0000, .025);

this.graphics.moveTo(circles[oi + 3], circles[oi + 4]);

if (circles[oi + 2] < 33)
{
this.graphics.lineTo(circles[oi + 0], circles[oi + 1]);
/*
this.graphics.drawCircle(
circles[oi + 0],
circles[oi + 1],
circles[oi + 2]);

*/



}
// this.graphics.endFill();

//this.graphics.beginFill(0x0000FF, .025);


this.graphics.moveTo(circles[oi + 0], circles[oi + 1]);

if (circles[oi + 5] < 33)
{
this.graphics.lineTo(circles[oi + 3], circles[oi + 4]);

/*
this.graphics.drawCircle(
circles[oi + 3],
circles[oi + 4],
circles[oi + 5]);
*/


}
//this.graphics.endFill();
}




public function
prv_circle_isect(
circles:Array,
circles2:Array,
ci1:uint,
ci2:uint
):Array {

if (circles[ci1 + 0] == circles2[ci2 + 0] &&
circles2[ci2 + 1] == circles2[ci2 + 1])
{
return null;
}

if (circles[ci1 + 2] < 1 || circles2[ci2 + 2] < 1)
{
return null;
}

var distance:Number =
prv_distance(
circles,
0);


var dx:Number = circles2[ci2 + 0] - circles[ci1 + 0];
var dy:Number = circles2[ci2 + 1] - circles[ci1 + 1];
var d:Number = Math.sqrt((dy * dy) + (dx * dx));

if (d > circles[ci1 + 2] + circles2[ci2 + 2])
{
return null;
}

if (d < Math.abs(circles[ci1 + 2] - circles2[ci2 + 2]))
{
return null;
}


var a:Number =
((circles[ci1 + 2] * circles[ci1 + 2]) -
(circles2[ci2 + 2] * circles2[ci2 + 2]) +
(d * d)) / (2 * d);

var x2:Number = circles[ci1 + 0] + (dx * a / d);
var y2:Number = circles[ci1 + 1] + (dy * a / d);
var h:Number = Math.sqrt((circles[ci1 + 2] * circles[ci1 + 2]) -
(a * a));

// center circle
// this.graphics.drawEllipse(x2 - (h * 2), y2 - h, d * 2, h * 2);
// this.graphics.drawCircle(x2, y2, h);



var rx:Number = -dy * (h / d);
var ry:Number = dx * (h / d);


var p1x:Number = x2 + -h * (circles2[ci2 + 1] - circles[ci1 +
1]) / d;
var p1y:Number = y2 + h * (circles2[ci2 + 0] - circles[ci1 + 0])
/ d;
var p2x:Number = p1x - ((p1x - x2) * 2);
var p2y:Number = p1y - ((p1y - y2) * 2);

/*
this.graphics.drawCircle(p1x, p1x, 10);
this.graphics.drawCircle(p2x, p2y, 10);
this.graphics.moveTo(p1x, p1y);
this.graphics.lineTo(p2x, p2y);
*/

var hr:Number = h / mcr1;

return [p1x, p1y, hr, p2x, p2y, hr];
}






public function
prv_circle_isectx1111(
circles:Array,
ci1:uint,
ci2:uint
):Array {

if (circles[ci1 + 2] < .5 || circles[ci2 + 2] < .5)
{
return null;
}

var distance:Number =
prv_distance(
circles,
0);


var dx:Number = circles[ci2 + 0] - circles[ci1 + 0];
var dy:Number = circles[ci2 + 1] - circles[ci1 + 1];
var d:Number = Math.sqrt((dy * dy) + (dx * dx));

if (d > circles[ci1 + 2] + circles[ci2 + 2])
{
return null;
}

if (d < Math.abs(circles[ci1 + 2] - circles[ci2 + 2]))
{
return null;
}


var a:Number =
((circles[ci1 + 2] * circles[ci1 + 2]) -
(circles[ci2 + 2] * circles[ci2 + 2]) +
(d * d)) / (2 * d);

var x2:Number = circles[ci1 + 0] + (dx * a / d);
var y2:Number = circles[ci1 + 1] + (dy * a / d);
var h:Number = Math.sqrt((circles[ci1 + 2] * circles[ci1 + 2]) -
(a * a));

// center circle
// this.graphics.drawEllipse(x2 - (h * 2), y2 - h, d * 2, h * 2);
// this.graphics.drawCircle(x2, y2, h);



var rx:Number = -dy * (h / d);
var ry:Number = dx * (h / d);


var p1x:Number = x2 + -h * (circles[ci2 + 1] - circles[ci1 + 1])
/ d;
var p1y:Number = y2 + h * (circles[ci2 + 0] - circles[ci1 + 0])
/ d;
var p2x:Number = p1x - ((p1x - x2) * 2);
var p2y:Number = p1y - ((p1y - y2) * 2);

/*
this.graphics.drawCircle(p1x, p1x, 10);
this.graphics.drawCircle(p2x, p2y, 10);
this.graphics.moveTo(p1x, p1y);
this.graphics.lineTo(p2x, p2y);
*/



return [p1x, p1y, h, p2x, p2y, h];
}




public function
prv_circle_isectxx(
circles:Array,
ci1:uint,
ci2:uint
):Array {

if (circles[ci1 + 2] < .5 || circles[ci2 + 3] < .5)
{
return null;
}

var distance:Number =
prv_distance(
circles,
0);


var dx:Number = circles[ci2 + 0] - circles[ci1 + 0];
var dy:Number = circles[ci2 + 2] - circles[ci1 + 1];
var d:Number = Math.sqrt((dy * dy) + (dx * dx));

if (d > circles[ci1 + 2] + circles[ci2 + 3])
{
return null;
}

if (d < Math.abs(circles[ci1 + 2] - circles[ci1 + 3]))
{
return null;
}


var a:Number =
((circles[ci1 + 2] * circles[ci1 + 2]) -
(circles[ci2 + 3] * circles[ci2 + 3]) +
(d * d)) / (2 * d);

var x2:Number = circles[ci1 + 0] + (dx * a / d);
var y2:Number = circles[ci1 + 1] + (dy * a / d);
var h:Number = Math.sqrt((circles[ci1 + 2] * circles[ci1 + 2]) -
(a * a));

// center circle
// this.graphics.drawEllipse(x2 - (h * 2), y2 - h, d * 2, h * 2);
// this.graphics.drawCircle(x2, y2, h);



var rx:Number = -dy * (h / d);
var ry:Number = dx * (h / d);


var p1x:Number = x2 + -h * (circles[ci2 + 2] - circles[ci1 + 1])
/ d;
var p1y:Number = y2 + h * (circles[ci2 + 0] - circles[ci1 + 0])
/ d;
var p2x:Number = p1x - ((p1x - x2) * 2);
var p2y:Number = p1y - ((p1y - y2) * 2);

/*
this.graphics.drawCircle(p1x, p1x, 10);
this.graphics.drawCircle(p2x, p2y, 10);
this.graphics.moveTo(p1x, p1y);
this.graphics.lineTo(p2x, p2y);
*/



return [p1x, p1y, h, p2x, p2y, h];
}







public function
prv_circle_isectx(
circles:Array
):Array {

if (circles[2] < .5 || circles[5] < .5)
{
return null;
}

var distance:Number =
prv_distance(
circles,
0);


var dx:Number = circles[3] - circles[0];
var dy:Number = circles[4] - circles[1];
var d:Number = Math.sqrt((dy * dy) + (dx * dx));

if (d > circles[2] + circles[5])
{
return null;
}

if (d < Math.abs(circles[2] - circles[5]))
{
return null;
}


var a:Number =
((circles[2] * circles[2]) -
(circles[5] * circles[5]) +
(d * d)) / (2 * d);

var x2:Number = circles[0] + (dx * a / d);
var y2:Number = circles[1] + (dy * a / d);
var h:Number = Math.sqrt((circles[2] * circles[2]) - (a * a));

// center circle
// this.graphics.drawEllipse(x2 - (h * 2), y2 - h, d * 2, h * 2);
// this.graphics.drawCircle(x2, y2, h);



var rx:Number = -dy * (h / d);
var ry:Number = dx * (h / d);


var p1x:Number = x2 + -h * (circles[4] - circles[1]) / d;
var p1y:Number = y2 + h * (circles[3] - circles[0]) / d;
var p2x:Number = p1x - ((p1x - x2) * 2);
var p2y:Number = p1y - ((p1y - y2) * 2);

/*
this.graphics.drawCircle(p1x, p1x, 10);
this.graphics.drawCircle(p2x, p2y, 10);
this.graphics.moveTo(p1x, p1y);
this.graphics.lineTo(p2x, p2y);
*/



return [p1x, p1y, h / 1.14, p2x, p2y, h / 1.14];
}
}
}
__________________________________________________________________________



Perhaps it might be of service to your query.

Chris M. Thomasson

unread,
Feb 18, 2013, 7:36:06 PM2/18/13
to
"Chris M. Thomasson" wrote in message
news:kfuetu$msp$1...@speranza.aioe.org...

> "Brian" wrote in message
> news:b3b13a29-514f-43b1...@gu9g2000vbb.googlegroups.com...

> > Hi, I was reading an article about fractals, and the article says that
> > fractals by themselves have no shape or form, but that computers can
> > be used to convert fractals into images. What exactly is a fractal?

[...]

> FWIW, and since this is comp.programming, here is a retarded first attempt
> at creating such circle intersection fractal, presented in AS3 of course!

__________________________________________________________________________
[...]
__________________________________________________________________________


IMVVHO, this actually ends up creating a fairly pretty picture. Kind of
looks like two galaxy's on the verge of merging, and folding their black
holes together into a single singularity.

James Dow Allen

unread,
Feb 19, 2013, 12:45:25 PM2/19/13
to
Perhaps the most interesting method of image compression I've ever read
about is Fractal Compression. The idea is "VQ" or codebook compression --
each small image block is represented by an index into a codebook, along
with parameters to scale luminance, contrast, etc.

What's the difference between Fractal Compression and ordinary VQ
compression? NO CODEBOOK IS TRANSMITTED! The image itself (scaled down)
is ITS OWN CODEBOOK! (If it seems like the decompression task is
impossible, light a candle and whisper "recursion"!)

Fractal compression was used for Microsoft's Encarta, but I don't know what
the present status is. I coded my own simple version for fun -- it's
trivial to do. The method works best on certain types of image; ferns and
mountains being the most well-known examples.

Jams Dow Allen

Chris M. Thomasson

unread,
Feb 19, 2013, 4:11:21 PM2/19/13
to
> "James Dow Allen" wrote in message
> news:XnsA16D7B156E6...@178.63.61.175...

> Perhaps the most interesting method of image compression I've ever read
> about is Fractal Compression.

[...]

I "think" the guy who invented it appears within the following video:

http://www.youtube.com/watch?v=Lk6QU94xAb8

If I am wrong, I am sorry about the non-sense!

;^/

Chris M. Thomasson

unread,
Feb 20, 2013, 9:25:10 PM2/20/13
to
"Chris M. Thomasson" wrote in message
news:kfuhds$skb$1...@speranza.aioe.org...

> FWIW, and since this is comp.programming, here is a retarded first attempt
> at creating such circle intersection fractal, presented in AS3 of course!
[...]

Sorry about all the comments and renamed functions in the code. FWIW, here
is the same but, cleaned up a bit:
__________________________________________________________________
package
{
import flash.display.Sprite;
import flash.events.Event;

/**
* ...
* @author Chris M. Thomasson
*/
public class Main extends Sprite
{

private var mcr1:Number = 3;
private var mcr2:Number = 3;



public function
prv_draw(i:uint, cmp1:Array, cmp2:Array):void {

if (i > 33 || ! cmp1 || ! cmp2) return;

var c:Number = cmp1[2] + cmp2[2];

c = (c * 314) * (c * 628) + 0xFF0000;

this.graphics.lineStyle(.277 / (i / 22),
0xFFFFFF, .1);

prv_circle_draw(cmp1, 0);



var isect1:Array = prv_circle_isect(cmp1, cmp2, 0, 3);


if (isect1)
{
prv_draw(i + 1, isect1, cmp1);
prv_draw(i + 1, isect1, cmp2);


prv_draw(i + 1, cmp1, isect1);
prv_draw(i + 1, cmp2, isect1);
}

}



public function
Main():void {
addEventListener(Event.ENTER_FRAME, prv_cdraw_render);

}



public function
prv_cdraw_render(e5:Event = null):void {
this.graphics.clear();

var circles:Array = [
222, 266, 222,
488, 300, 222];


this.graphics.lineStyle(1, 0xFFFFFF, .1);

this.graphics.drawCircle(circles[0], circles[1], circles[2]);
this.graphics.drawCircle(circles[3], circles[4], circles[5]);

prv_draw(0, circles, circles);


mcr1 -= .007;
mcr2 += .17;
}



public function
prv_distance(
points:Array,
offset:uint
):Number {

var x_diff_sq:Number =
(points[offset + 3] - points[offset]) *
(points[offset + 3] - points[offset]);

var y_diff_sq:Number =
(points[offset + 4] - points[offset + 1]) *
(points[offset + 4] - points[offset + 1]);

return Math.sqrt(x_diff_sq + y_diff_sq);
}



public function
prv_circle_draw(
circles:Array,
oi:uint
):void {

if (! circles) return;

this.graphics.moveTo(circles[oi + 3], circles[oi + 4]);

if (circles[oi + 2] < 33)
{
this.graphics.lineTo(circles[oi + 0], circles[oi + 1]);


}


this.graphics.moveTo(circles[oi + 0], circles[oi + 1]);

if (circles[oi + 5] < 33)
{
this.graphics.lineTo(circles[oi + 3], circles[oi + 4]);



}
}



var rx:Number = -dy * (h / d);
var ry:Number = dx * (h / d);


var p1x:Number = x2 + -h * (circles2[ci2 + 1] - circles[ci1 +
1]) / d;
var p1y:Number = y2 + h * (circles2[ci2 + 0] - circles[ci1 + 0])
/ d;
var p2x:Number = p1x - ((p1x - x2) * 2);
var p2y:Number = p1y - ((p1y - y2) * 2);


var hr:Number = h / mcr1;

return [p1x, p1y, hr, p2x, p2y, hr];
}
}
}
__________________________________________________________________



Chris M. Thomasson

unread,
Feb 26, 2013, 5:21:51 AM2/26/13
to
> "Chris M. Thomasson" wrote in message
> news:kfuetu$msp$1...@speranza.aioe.org...

> "Brian" wrote in message
> news:b3b13a29-514f-43b1...@gu9g2000vbb.googlegroups.com...

> > Hi, I was reading an article about fractals, and the article says that
> > fractals by themselves have no shape or form, but that computers can
> > be used to convert fractals into images. What exactly is a fractal?

> Self-similarity across various levels of scaling.

> [...]

FWIW, here are some links to images created by the algorithm:


http://webpages.charter.net/appcore/fractal/cisect_imgs/p1.jpg

http://webpages.charter.net/appcore/fractal/cisect_imgs/p2.jpg

http://webpages.charter.net/appcore/fractal/cisect_imgs/p3.jpg


Humm... The border looks fairly "rough" to me...


;^)

Chris M. Thomasson

unread,
Mar 3, 2013, 8:59:33 PM3/3/13
to
"Chris M. Thomasson" wrote in message
news:kgi2c2$vdn$1...@speranza.aioe.org...
Here is another, IMHO, nice image:

http://webpages.charter.net/appcore/fractal/cisect_imgs/p4.jpg

:^)

Chris M. Thomasson

unread,
Mar 4, 2013, 4:17:41 PM3/4/13
to


"Chris M. Thomasson" wrote in message
news:kgi2c2$vdn$1...@speranza.aioe.org...
[...]

> FWIW, here are some links to images created by the algorithm:

Some more:

http://webpages.charter.net/appcore/fractal/cisect_imgs/p5.jpg

http://webpages.charter.net/appcore/fractal/cisect_imgs/p6.jpg

http://webpages.charter.net/appcore/fractal/cisect_imgs/p7.jpg


Perhaps I should make a webpage for this crap...

;^)

Chris M. Thomasson

unread,
Mar 10, 2013, 9:10:24 PM3/10/13
to
"Chris M. Thomasson" wrote in message
news:kgi2c2$vdn$1...@speranza.aioe.org...

[...]

>> FWIW, here are some links to images created by the algorithm:

Here are some more fairly "awesome" circle intersection fractal images
of mine:

http://webpages.charter.net/appcore/fractal/cisect_imgs/p8.jpg

http://webpages.charter.net/appcore/fractal/cisect_imgs/p9.jpg


FWIW, `p9.jpg' is a zoom of `p8.jpg' upper left hand corner. The zoom
was not further iterated, and you still get further detail...

Also, closely examine all of the black regions enclosed in color. Then
examine the border of the fractal.

The black basically defines the set.
Any other color is out of the set.

The sets are all oozing from self-similarity...


What do you think?

Chris M. Thomasson

unread,
Mar 10, 2013, 9:21:05 PM3/10/13
to
"Chris M. Thomasson" wrote in message
news:kgi2c2$vdn$1...@speranza.aioe.org...

[...]

>> FWIW, here are some links to images created by the algorithm:

> Here are some more fairly "awesome" circle intersection fractal images
> of mine:

> http://webpages.charter.net/appcore/fractal/cisect_imgs/p8.jpg

> http://webpages.charter.net/appcore/fractal/cisect_imgs/p9.jpg

Oops. I forgot to post this one, which is basically an "x-ray" for image
`p8.jpg':

http://webpages.charter.net/appcore/fractal/cisect_imgs/p10.jpg

I say x-ray because I decrease the alpha channel, and you can see further
inner structure and self-similarity... :^)

luser droog

unread,
May 17, 2013, 9:55:30 PM5/17/13
to
That one's really cool. A wreath, or a small baobab-infested planetoid.

Chris M. Thomasson

unread,
May 18, 2013, 1:27:31 AM5/18/13
to
> "luser droog" wrote in message
> news:03b5602c-f698-436f...@googlegroups.com...
>
> On Sunday, March 3, 2013 7:59:33 PM UTC-6, Chris M. Thomasson wrote:
> > "Chris M. Thomasson" wrote in message
> >
> > news:kgi2c2$vdn$1...@speranza.aioe.org...
> > [...]
> > > FWIW, here are some links to images created by the algorithm:
> > [...]
> > Here is another, IMHO, nice image:
> >
> > http://webpages.charter.net/appcore/fractal/cisect_imgs/p4.jpg
> > [...]


> That one's really cool. A wreath, or a small baobab-infested planetoid.

Thanks. IMVHO, it kind of looks like entropy contained within the event
horizon of a black hole. Well, infinite until you hit plank...

Can one link a plank pixel to both sides of a black hole?





-- some crazy ramblings ---


I think there is a way to get around plank limit and have a
fractal universe. Imagine that our big bang was the result of
a massive super nova in a parent dimension of time. A star in our
parent universe happened to collapse into a singularity and
condensed matter into our big bang. In other words, the creation
of a singularity might be able to contain a child universe in and
of itself, but at a radically different interpretation of time wrt
the parent. 5 Minutes relative to the parent might be thousands
of years relative to the child.

If a parent dimension of time can create a child via ultra massive
black hole... That means our own universe/dimension of time has
many children... Each quasar might have child universes. Humm...


Sorry about that. There has to be a way around plank limits.

0 new messages