Please share your favorite algorithms to generate your own fractal structure.
10,000 sats for the best-looking final figure as decided by the most upvotes.
Please show both the code and figure.
I went for a Levy Curve.
import numpy as np import matplotlib.pyplot as plt A = np.array([[0.5, 0.5], [-0.5, 0.5]]) B = np.array([[0.5, -0.5], [0.5, 0.5]]) def blueFun(x): y = A @ x # Matrix multiplication return y def redFun(x): y = B @ x - np.array([[0.5], [0.5]]) # Matrix multiplication return y # Initialize x = np.array([[0.0], [0.0]]) yVecR = [] # Red points yVecB = [] # Blue points # Iteration with random selection for _ in range(25000): if np.random.rand() < 0.5: # Randomly choose blue or red function x = blueFun(x) yVecB.append(x) # Append to blue points else: x = redFun(x) yVecR.append(x) # Append to red points # Convert lists to arrays for plotting yVecR = np.hstack(yVecR).T if yVecR else np.empty((0, 2)) yVecB = np.hstack(yVecB).T if yVecB else np.empty((0, 2)) # Plotting the results plt.scatter(yVecR[:, 0], yVecR[:, 1], s=0.1, color='red', label='Red Function') plt.scatter(yVecB[:, 0], yVecB[:, 1], s=0.1, color='red', label='Blue Function') plt.xlabel('x') plt.ylabel('y') plt.legend() plt.title("Levy C Curve with Red and Blue Points") plt.show()
(I used ChatGPT to clean up my code)
You can easily run this code using Google Colab in case you don't have Jupyter installed on your own computer.
Here a visual representation of what the algorithm is doing.