Visualization Tools - CFAVisual

1D, 2D, and 3D fractal point-set and image visualization

Application Scenarios

Usage Examples

1D Point (Cantor Set)

import matplotlib.pyplot as plt from FreeAeonFractal.FAVisual import CFAVisual from FreeAeonFractal.FASample import CFASample points_1d = CFASample.get_Cantor_Set(iterations=256) fig, ax = plt.subplots(figsize=(10, 2)) CFAVisual.plot_1d_points(points_1d, ax=ax) ax.set_title("Cantor Set") plt.show()

2D Point (Sierpinski Triangle)

points_2d = CFASample.get_Sierpinski_Triangle(iterations=1024) fig, ax = plt.subplots(figsize=(6, 6)) CFAVisual.plot_2d_points(points_2d, ax=ax) ax.set_title("Sierpinski Triangle") plt.show()

3D Point (Menger Sponge)

points_3d = CFASample.get_Menger_Sponge(iterations=10240) fig = plt.figure(figsize=(8, 8)) ax = fig.add_subplot(111, projection='3d') CFAVisual.plot_3d_points(points_3d, ax=ax) ax.set_title("Menger Sponge") plt.show()

Class Description

CFAVisual (all static methods)

plot_1d_points(points, ax=plt)

Horizontal scatter plot of 1D points; y-axis hidden. Use for Cantor Set and similar 1D fractals.

plot_2d_points(points, ax=plt)

points: (N, 2) array. Scatter plot of (x,y) coordinates. Use for Sierpinski Triangle, Barnsley Fern.

plot_3d_points(points, ax=None)

points: (N, 3) array. If ax=None, creates a new 3D figure. Use for Menger Sponge.

plot_2d_image(image, cmap='gray', ax=plt)

Display 2D image with imshow. cmap: any matplotlib colormap.

plot_3d_image(img, ax=plt)

Display (N,3) or (N,4) structured point cloud; 4th column used for color value.

Important Notes

  1. All methods accept ax=plt (uses pyplot directly) or an explicit axis for subplot integration
  2. For dense fractals (>100K points), consider downsampling before display
  3. plot_3d_points requires a 3D axis (projection='3d'); creates one automatically if ax=None