N
N
Nikolai Shepelev2016-06-11 12:23:28
Programming
Nikolai Shepelev, 2016-06-11 12:23:28

How to determine the fractal dimension of a surface using the triangulation method?

I tried to implement this method, but normal numbers do not come out. Who will help, I will be very grateful. For on the Internet, I did not find any theory better than below.
A bit of theory.
The triangulation method is quite similar to the cube counting algorithm and is also based directly on the definition of fractal dimension based on box counting. The method works as follows: a grid with a cell size of one unit l is placed on the surface. This defines the positions of the vertices of a set of triangles. When, for example, l = X/4, the surface is covered with 32 triangles of different areas, inclined at different angles with respect to the xy plane. The areas of all triangles are calculated and summed to give an approximate surface area S(l) corresponding to l. the grid size is then reduced sequentially by a factor of two at each step, as before, the process continues until then. until l becomes equal to the distance between two adjacent points. The slope of the graph S(l) versus log(1/l) corresponds to Df − 2.
How do I.
There is a matrix - height map z[x][y]. As mentioned above - I break the surface into 1, 8, 32, 512, ... triangles. I count the corresponding areas S1, S8, S32, S512, .... Then I plot the points S(l) from log(1/l) on the graph and approximate them with a straight line. I find the tangent of the slope of this line, and I find Df.
Df (fractal dimension of the surface) should vary within 2 <= Df <=3. But I often have quite a strong value goes beyond these boundaries.
How would you implement this method? What could be wrong with me?
References:
Source of theory
One scientific article on this topic

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question