Hallo an alle,
ich habe ein kleines Python Skript geschrieben um die Koch Kurve zu plotten jedoch ist das Ergebnis nicht ganz das was ich mir erhofft habt. irgendwie wird nur ein Teil der Schneeflocke geplottet und ich weiß nicht wieso. Vielleicht kann mir ja jemand helfen. Mein Code sieht wie folgt aus
import numpy as np
import matplotlib.pyplot as plt
def KochKurve(A,B,depth):
L = []
if depth == 0:
L.append(A)
L.append(B)
else:
R = np.array([[np.cos(np.pi/3), -np.sin(np.pi/3)],[np.sin(np.pi/3), np.cos(np.pi/3)]])
C = A + (B-A)/3
D = A + 2*(B-A)/3
E = C + R@(D-C)
L = KochKurve(A,C,depth-1) + KochKurve(C,E,depth-1) + KochKurve(E,D,depth-1) + KochKurve(D,B,depth-1)
return L
if __name__ == "__main__":
L = KochKurve(np.array([0,0]),np.array([1,0]),4)
L = np.array(L)
plt.plot(L[:,0],L[:,1])
plt.axis("scaled")
plt.axis("off")
plt.show()
Das hier ist meine Ausgabe: