Ich versuche, eine effiziente Möglichkeit zum Zeichnen von Linienmustern auf einem Bildschirm mit Python zu erarbeiten.Effizientes Zeichnen von Linien mit Python
Vor einiger Zeit habe ich einen Code zusammengeschustert, der einen LAser Spirograph steuern könnte. Das sind im Grunde 3 Kreise, die sich jeweils um einen beweglichen Punkt des Umfangs drehen. Dies erzeugt eine Reihe von Punkten, die verschiedene Muster in Abhängigkeit von den relativen Geschwindigkeiten ableiten, mit denen sich jeder der Kreise dreht.
So jetzt habe ich eine lange Liste von x, y Schnur, die ich als eine einzige Linie zeichnen möchte, gibt es eine Funktion in Python (derzeit mit Pygames spielen), die eine Reihe von Punkten nehmen und sie mit a glatte gekrümmte Linie.
zum Beispiel sagen, ich habe ein paar hundert Punkte, die das Muster in diesem link beschreiben, gibt es einen "einfachen" Weg in Python, um das volle Muster auf dem Bildschirm zu rendern. Ich gehe davon aus, dass dies schneller wäre, als zu versuchen, jeden von mehreren tausend Punkten zu plotten, um das Aussehen einer Linie zu erhalten.
EDIT
ich davon aus habe, dass es ein schnellerer Weg sein, den Bildschirm zu zeichnen sagt einen Halbkreis um eine Funktion des Start- und Endpunkt sowie den Radius, indem. anstatt 2000 Punkte auf der Kurve zu berechnen und sie getrennt entweder als Punkte oder kurze Geraden zu zeichnen. Ich nehme auch an, dass es schneller ist, eine gerade Linie mit 100 Punkten zu zeichnen, als die gleiche Linie als separate Punkte auszugeben?
[** 'pygame.draw.lines' **] (http://www.pygame.org/docs/ref/draw.html#pygame.draw.lines) –
Hallo, wie ich es verstanden Draws Eine Reihe von Linien zwischen den nicht glatten Punkten setzt sich fort.Zum Beispiel können drei Punkte mit zwei geraden Flusen verbunden werden und einen Engel oder eine glatte Kurve bilden. Ich möchte die Kurve. – DevilWAH
Sie müssten die Tangenten und das Gewicht der Endpunkte definieren. Welchen Weg sollte die Kurve sonst verfolgen? –