FDC 3D user notes (draft)

Written by Paul Bourke
February 1993

The following are some introductory notes on Fractal Dimension Calculator for 3 dimensional geometric datasets. It is assumed that the reader is familiar with the previous application by the author called FDC which computes the dimension of objects represented by 2 dimensional images using box counting. This application superceeds that program in that it will analyse 2D geometric representations as well. However this program requires a vector representation in 2D or 3D whereas the previous application worked on images which are normally easier to acquire.

File format

This program takes a geometric representation stored in a text file of the following format.

u 0 0 0
d 2 0 0
d 2 1 0
d 0 1 0
d 0 0 0
d 0 0 3
d 2 0 3
d 2 1 3
d 0 1 3
d 0 0 3
u 2 0 0
d 2 0 3
u 2 1 0
d 2 1 3
u 0 1 0
d 0 1 3

The first character of each line is the "pen" state which is either "u" up or "d" down. The next three numbers separated by spaces or tabs are the x,y,z coordinates of the point to move to. The above example is a box with x axis length of 1, y axis length of 2 and z axis length of 3. The format only allows the representation of line segments, it has been made simple so as to maximise the possibility of creating translators from other 3D formats to this format. For 2D geometric forms one of the coordinates x,y, or z can be set to 0, or indeed FDC3D will read just two coordinates and set the third to 0 by itself. So a legal file format for 2D geometry might be

u 0 0
d 1 0
d 1 1
d 0 1
d 0 0
The above represents a box.

3D viewing

Since this program reads and analyses 3D geometric datasets it need to display these and allow the user to view the geometry from any position. The program will automatically position the user at a "home" position whenever a datafile is read successfully. The user may pan around this view point by using the arrow keys on the keyboard. For more comprehensive view control see the camera dialog box, it is shown below.

Distributed with this software are some example files, the following might be a typical view point for the hilbert5 curve.

You will notice that the structure being analysed is drawn n black. The blue represents the bounding box of the geometry, it is used by the box counting algorithm to determine the volume to be analysed. As the analysis proceeds the boxes which intersect the geometry will be drawn in red, see the example below.

Control of the box sizes is made through the "Box size" menu item. The units for the boxes are the same units as those for the object itself. The dimensions of the bounding box are shown on this dialog to assist in determining a suitable range.

The results and graphs are exported exactly the same way as the authors 2D FDC program. The slope analysis is left up the user, it can be done with almost any graphing or statistics package which provides linear curve fitting.


Users should be aware of the computational requirements of performing box counting with very small box sizes.

The user should verify any analysis process by going through the process for objects with known dimension. For example a line and a 2D fractal of known dimension.