A French/American mathematician Dr Benoit Mandelbrot discovered Fractals. The word fractal was derived from a Latin word fractus which means broken. Fractals are very complex pictures generated by a computer from a single formula. They are created using iterations. This means one formula is repeated with slightly different values over and over again, taking into account the results from the previous iteration.

Fractals are used in many areas such as −

- Astronomy − For analyzing galaxies, rings of Saturn, etc.
- Biology/Chemistry − For depicting bacteria cultures, Chemical reactions, human anatomy, molecules, plants,
- Others − For depicting clouds, coastline and borderlines, data compression, diffusion, economy, fractal art, fractal music, landscapes, special effect, etc.

**Generation of Fractals**

Fractals can be generated by repeating the same shape over and over again as shown in the following figure. In figure (a) shows an equilateral triangle. In figure (b), we can see that the triangle is repeated to create a star-like shape. In figure (c), we can see that the star shape in figure (b) is repeated again and again to create a new shape.

We can do unlimited number of iteration to create a desired shape. In programming terms, recursion is used to create such shapes.

**Geometric Fractals**

Geometric fractals deal with shapes found in nature that have non-integer or fractal dimensions. To geometrically construct a deterministic (nonrandom) self-similar fractal, we start with a given geometric shape, called the initiator. Subparts of the initiator are then replaced with a pattern, called the generator.

As an example, if we use the initiator and generator shown in the above figure, we can construct good pattern by repeating it. Each straight-line segment in the initiator is replaced with four equal-length line segments at each step. The scaling factor is 1/3, so the fractal dimension is D = ln 4/ln 3 ≈ 1.2619.

Also, the length of each line segment in the initiator increases by a factor of 4/3 at each step, so that the length of the fractal curve tends to infinity as more detail is added to the curve as shown in the following figure −

**Fractal:-**

A fractal is defined as a rough or fragmented geometric shape that can be split into parts, each of which is approximately a reduced-size reproduction of the complete shape based on the property known as **self- similarity**. It was derived from the Latin word **fractus** which means broken or fractured. Natural objects can be realistically described using fractal geometry methods. **Eg.- cloud, mountains, trees, stone etc.**

Fractal methods use procedures rather than equations to model objects. so it uses procedural modelling.The major characteristic of any procedural model is that the model is not based on data ,but rather on the implementation of the procedure following a particular set of rules.

A fractal combines the following characteristic:

a) Its parts have the same form or structure as a whole, except that they are at a different scale and may be slightly deformed.

b) Its form is extremely irregular or fragmented, and remains so, whatever the scale of examination.

c) It is formed by iteration i.e the procedure is used repeatedly(recursively)

Eg: if P0 = (X0, Y0, Z0) is a selected initial position, the successive levels P1 = F (P0), P2 = F (P1), …… Pn = F (Pn-1) are generated by a transformation function F.

d) Fractional dimensions.

**Classification of Fractals:-**

The fractals can be classified as

**• Self similar**

**• Self affine and**

**• Invariant**

**Self similar fractals:-**

These fractals have parts those arc scaled-down versions of the entire object. In these fractals object subparts are constructed by applying a scaling parameter ‘s’ to the overall initial shape. It is a choice of user to use the same scaling factor ‘s’ for all subparts, or use different scaling factors for different scaled-down parts of the object. Another sub class of self similar fractals is statistically self-similar fractals, in which user can also apply random variations to the scaled down subparts. These fractals are commonly used to model trees, shrubs, and other plants.

**Self-affine fractals:-**

These fractals have parts those are formed with different scaling parameters. sx, sy, sz ,in different co-ordinate directions. In these fractals,we can also apply random variations to obtain statistically self-affine fractals.These fractals are commonly used to model water, clouds and terrain.

**Invarient fractals:-**

In these fractals, nonlinear transformation is used, It includes self squaring fractals such as the Mandelbrot set. Which are formed with squaring functions and self inverse fractals, form with inversion procedures.

**Topological Dimension:-**

Consider an object composed of elastic or clay. If the object can be deformed into a line or line segment we assign its dimension Dt = 1. If object deforms into a plane or half plane or disk we assign its dimension Dt = 2. If object deforms into all space or half space or sphere, we assign its dimension Dt = 3. The dimension Dt, is referred to as the topological dimension.

Fractal Dimension:-

It is the second measure of an object dimension. Imagine that a line segment of length L. is divided into N identical pieces. The length of each line segment l can be given as

**l = L / N**

The ratio of length of original line segment and the length of each part of the line segment is referred to as scaling factor and is given as

**s = L / l**

From above two equations we can write

**N = s i.e N = s1**

In other words we can say that if we scale a line segment by a factor 1/s then we have to add N pieces together to get the original line segment. If we scale square object by a factor 1/s we will get a small square. In case of s = 2, we require 4 pieces of square to get original square. In general we can write

**N = s2**

similarly for cubical object we have, (Refer Fig. (15))

**N = s3**

We have seen that we can specify the dimension of the object by Variable D. Here the exponent of S is a measure of object dimension. Thus we can write

**N = sD**
Solving for D we get

**D = log N/logs**