Application Scenarios
- Fractal Teaching: Visualize 1D/2D/3D fractal point sets
- Research Verification: Display generated fractals to validate IFS parameters
- Image Display: Show 2D analysis results side by side
- 3D Point Cloud: Visualize 3D fractal structures
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
- All methods accept
ax=plt(uses pyplot directly) or an explicit axis for subplot integration - For dense fractals (>100K points), consider downsampling before display
plot_3d_pointsrequires a 3D axis (projection='3d'); creates one automatically ifax=None