Fractal Sample Generator - CFASample

Application Scenarios

The CFASample class generates classic fractal patterns based on Iterated Function Systems (IFS). Main application scenarios include:

Usage Examples

Cantor Set

from FreeAeonFractal.FASample import CFASample from FreeAeonFractal.CFAVisual import CFAVisual import matplotlib.pyplot as plt

# Generate Cantor Set (fractal dimension ≈ 0.63)

cantor = CFASample.get_Cantor_Set( init_point=np.array([0.0]), iterations=2000 )

# Visualize

plt.figure(figsize=(12, 2)) CFAVisual.plot_1d_points(cantor) plt.title('Cantor Set (Dimension ≈ 0.63)') plt.show()

Sierpinski Triangle

# Generate Sierpinski Triangle (fractal dimension ≈ 1.58) triangle = CFASample.get_Sierpinski_Triangle( init_point=np.array([0.0, 0.0]), iterations=10000 )

# Visualize

plt.figure(figsize=(8, 8)) CFAVisual.plot_2d_points(triangle) plt.title('Sierpinski Triangle (Dimension ≈ 1.58)') plt.axis('equal') plt.show()

Barnsley Fern

# Generate Barnsley Fern (fractal dimension ≈ 1.67) fern = CFASample.get_Barnsley_Fern( init_point=np.array([0.0, 0.0]), iterations=50000 )

# Visualize

plt.figure(figsize=(6, 10)) CFAVisual.plot_2d_points(fern) plt.title('Barnsley Fern (Dimension ≈ 1.67)') plt.axis('equal') plt.show()

Convert Points to Image

# Generate fractal point set points = CFASample.get_Sierpinski_Triangle(iterations=50000)

# Convert to image

image = CFASample.get_image_from_points( points, img_size=(512, 512), margin=0.05 )

# Visualize

plt.figure(figsize=(8, 8)) CFAVisual.plot_2d_image(image, cmap='binary') plt.title('Sierpinski Triangle as Image') plt.show()

Installation

pip install FreeAeon-Fractal

Class Description

CFASample

Description: Fractal sample generator using Iterated Function Systems (IFS) to generate classic fractal patterns.

All methods are static, called using CFASample.method_name().

Main Generation Methods

MethodDimensionFractal DimTransformsDefault Iter

----------------------------------------------------------
get_Cantor_Set()1D0.632256
get_Sierpinski_Triangle()2D1.583256
get_Barnsley_Fern()2D1.6744096
get_Menger_Sponge()3D2.732010240

Methods

##### 1. get_Cantor_Set(init_point, iterations)

Description: Generate Cantor Set (1D fractal). Parameters: Return: numpy.ndarray, shape (iterations, 1) Fractal Dimension: ≈ 0.6309

##### 2. get_image_from_points(points, img_size=(512, 512), margin=0.05)

Description: Convert 2D point set to image. Parameters: Return: numpy.ndarray, uint8 binary image

References