Visitors Counter
10267 visitors since Jan 2010
All pictures from Acheron 2.0


Introduction Back to Top
The euclidean geometry uses objects that have integer topological dimensions. A line or a curve is an object that have a topological dimension of one while a surface is described as an object with two topological dimensions and a cuve as an object with three dimensions. This geometry adequately describes the regular objects but failed to be applicable when it comes to consider natural irregular shapes.
Benoit B. Mandelbrot introduced a new concepts, that he called fractals, that are useful to describe natural shapes as islands, clouds, landscapes or other fragmented structures. According to Mandelbrot, the term fractals is derived from the latin adjective fractus meaning fragmented. According to Mandelbrot, a fractal can be defined as 'a set for which the HausdorffBesicovitch dimension strictly exceeds the topological dimension'. This clever mathematical definition, albeit quite obscure for noninitiated people, means that a fractal curve is a mathematical
function that produce an image having a topological dimension between one and two. Intuitively, fractals can be seen as curves partially filling a twodimentional area. These curves are often described as spacefilling curves.
Fractals curves exhibit a very interesting property known as selfsimilarity. If you observe precisely the details of a fractal curve, it appears that a portion of the curve replicates exactly the whole curve but on a different scale. Mathematicians have in fact created geometrical fractal curves long before the introduction of the fractal geometry by Benoit Mandelbrot. Some
of these curves are wellknown as the Von Koch's snowflake or the triangle of Sierpinsky.



The Squares Curve is a nice fractal curve, build using a recursive procedure. I saw a sample of this curve in the wellknown book 'Algorithms in C' written by Robert Sedgewick (AddisonWesley Publ. ISBN 0201514257). It was not named from its inventor so I call it the Squares Curve. As almost all the geometric fractal curves, this curve shares the fascinating property of having an infinite curve length in a finite area.. 

Construction Back to Top
The starting point of the recursive method for drawing the Squares curve is
a simple square.
Use the four corners of the square as the center of 4 smallers squares,
each having half the size of the main square. The first iteration gives:
The same procedure gives already a nice picture at the second iteration:
Properties Back to Top
 Curve Length
The following reasoning concerns the curve for which only the outline is drawn.
This gives a close curve with an univocal perimeter.
Take the initial square and name N the length of its side. The
perimeter of the 'curve' is N * 4.
On the first iteration, the four corners are replaced by four smaller
squares. So, the length of the curve is now equal to the sum of the segments
common between recursion 0 (initial square) and recursion 1 plus the length
of the newly added segments. The total length of the two segments removed at
each corner is N/2, so the total removed is (N/2) * 4. The total length of the
segments making the smaller squares is N/2 * 3 and 4 are added, one on each
corner. Looking only at the added segments, the length increase is:
L_{inc} = (N/2)*3*4  (N/2)*4 = (N/2)*8
On the second iteration, the four small squares added at the first
iteration will be replaced by four smaller squares. Here, the length of the
segments removed on each square corner is equal to N/4 and the length of the
smaller squares added is equal to (N/4) * 3. Looking only at the added segments,
the length increase is:
L_{inc} = (N/4)*3*3*4  (N/4)*3*4 = (N/4)*24
The formula for the length increase can be generalized as:
L_{inc} = (N/2^{Rec}) * 8 * 3^{(Rec  1)}
where Rec is the iteration number (starting at 0)
Here is a summary of the length increase and total length of the curve.
v
Iteration Number  Length Increase  Total Length 
0  ...  ...  N * 4 
1  (N/2) * 8  N * 4  N * 8 
2  (N/4) * 24  N * 6  N * 14 
3  (N/8) * 72  N * 9  N * 23 
4  (N/16) * 216  N * 13.5  N * 36.5 
5  (N/32) * 648  N * 20.25  N * 56.75 
The Ratio of the length increase between two successive iterations is:
Ratio = ((N/2^{(Rec+1)}) * 8 * 3^{Rec}) / ((N/2^{Rec}) * 8 * 3^{(Rec1)})
Solving the equation gives Ratio_{inc} = 1.5, demonstrating what
is quite obvious from the figures in the above table.
The formula of the length increase can then be generalized to:
L_{inc} = N * 4 * r^{Rec1} where r = 1.5
The total length of the curve is equal to the original length plus the
sum of all the length increases.
Using the following identitiy,
1 + x + x^{2} + x^{3} + ... + x^{n} = (x^{n+1}  1) / (x  1)
the total length can be generalized:
L_{Tot} = N * (( r^{Rec} * 8)  4)
Graphically, it gives a nice view of the ever increasing length:
 Area
Take the initial square and name N the length of its side. The
area of the 'curve' is noted N2. Using a reasoning analogous to the one
followed for the determination of the curve length, the formula for the curve
area is obtained.
The area increase at each iteration can be generalized as:
Area_{inc} = (4 * 3^{Rec}) / 4^{Rec+1}
Solving for the Ratio of the area increase between two successive
iterations gives: Ratio = r^{Rec} where r = 0.75
The total area of the curve can then be expressed as:
Area^{Tot} = N2 + ( 1 + r^{Rec} + r^{(Rec+1)} + .. r^{(Rec+n)})
Using the following identitiy,
1 + x + x^{2} + x^{3} + ... + x^{n} = (x^{n+1}  1) / (x  1)
the total area can be generalized:
Area^{Tot} = N2 * 4 * ( 1  r^{Rec+1})
As r^{Rec+1} tends to Zero when iteration increases, the area tends
to 4 times its original value.
Graphically, it gives a nice view of the finite area:
 Fractal Dimension
The fractal dimension is computed using the
BoxCouting Method equation:
D = log (N) / log ( r)
The following picture helps finding the figures required by the formula:
Replacing r by 14 ( as the grid is 14 * 14) and N by 148 ( the number of
small squares covered by the fractal curve) in the
the BoxCounting equation gives:
D = log(148) / log(14) = 1.89356
 SelfSimilarity
Looking at two successive iterations of the drawing process provides graphical
evidence that this property is also shared by this curve.
Variations Back to Top
All Variations described are available using Acheron 2.0
 Iteration Level
Eight recursion levels are available. Above this iteration number, the overall
aspect of the curve remains essentially unaffected.
 Curve Style
Three ways for rendering the curve are available:
Author Biography Back to Top


Warning: include(./../../tgmadvertising.html): failed to open stream: No such file or directory in /customers/c/7/b/tgmdev.be/httpd.www/applications/acheron/curves/curvesquares.php on line 316
Warning: include(): Failed opening './../../tgmadvertising.html' for inclusion (include_path='.:/usr/share/php') in /customers/c/7/b/tgmdev.be/httpd.www/applications/acheron/curves/curvesquares.php on line 316
