Interpolieren einer geschlossenen Kurve mit scipy

Ich schreibe ein Python-Skript, um eine bestimmte Menge von Punkten mit Splines zu interpolieren. Die Punkte werden durch ihr @ definie[x, y] Koordinaten.

Ich habe versucht, diesen Code zu verwenden:

x = np.array([23, 24, 24, 25, 25])
y = np.array([13, 12, 13, 12, 13])
tck, u = scipy.interpolate.splprep([x,y], s=0)
unew = np.arange(0, 1.00, 0.005)
out = scipy.interpolate.splev(unew, tck) 

das gibt mir eine Kurve wie folgt:

Ich brauche jedoch eine glatte geschlossene Kurve - auf dem Bild über den Ableitungen an einem der Punkte sind offensichtlich nicht die gleichen. Wie kann ich das erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage