image image


image

We’re having a sine wave, a mathematical sine wave

Natürlich hat mich – nach meinen AnfangserfolgenPy5 zusammen mit dem Thonny-Plugin von Tristan Bunn nicht zur Ruhe kommen lassen. Ich wollte die Angelegenheit unbedingt mit einem weiteren Processing.py-Skript aus dem Buch »Math Adventures with Python« von Peter Farrell testen. Diesmal war es ein Skript, indem die Konstruktion der Sinuskurve visualisiert wurde (Seite 110 ff). Mutig geworden habe ich die Visualisierung optisch noch ein wenig aufgehübscht:

# Circle Sine Wave
# nach Peter Farrell: »Math Adventures with Python« p110ff.

R1 = 100   # Radius großer Kreis
R2 = 5     # Radius kleine Kreise

t = 0      # Zeit-Variable
circle_list = []

def setup():
    size(600, 600)

def draw():
    global t, circle_list
    background(132, 144, 163)
    translate(width/4, height/2) # Linkes Viertel des Fensters
    no_fill()                    # Keine Farbe im großen Kreis
    stroke(0)                    # Outline: schwarz
    circle(0, 0, 2*R1)
    
    fill(250, 0, 0, 150)         # Füllfarbe des kleinen Kreises
    y = R1*sin(t)                # auf dem großen Kreis
    x = R1*cos(t)
    circle(x, y, 2*R2)
    
    # Addiere einen Punkt zur Liste, aber nicht mehr als 200
    circle_list = [y] + circle_list[:199]
    no_stroke()
    fill(0, 255, 0, 150)         # sattes grün – leichte Transparenz)
    # Schleife über die Liste, um den Trail zu zeichnen
    for i, c in enumerate(circle_list):
        circle(200 + i, c, R2)
    
    stroke(0, 250, 0)            # Grün für die Verbindungslinie …
    line(x, y, 200, y)
    fill(0, 250, 0, 150)         # und den kleinen Endpunkt
    stroke(0)
    circle(200, y, 2*R2)    
    
    t += 0.05

Das Py5 »echtes« Python 3 und damit UTF-8-fest ist, habe ich im Quellcode gnadenlos ausgenutzt, indem ich deutsche Kommentare mit all ihren schönen Umlauten eingepflegt habe. Davon wird zwar wegen der internationalen Verständlichkeit eigentlich – und mit recht – abgeraten, aber ey, das ist mein Spielzeug und damit kann ich demonstrieren, daß es wirklich Python 3 ist.

Ansonsten ist eigentlich nur noch die Zeile

    circle_list = [y] + circle_list[:199]

interessant. Denn mit diesem Slicing Operator wird sichergestellt, daß die Liste nie mehr als 200 Elemente enthält.

Thonny mehr PDE-ähnlich

Außerdem bin ich noch einer weiteren Idee von Tristan Bunn gefolgt, und habe mit diesen kleinen Änderungen in den Einstellungen von Thonny (UI Theme: Clean Dark und Syntax Theme: Default Light) das Look and Feel von Thonny ein wenig dem Look and Feel von Processings PDE/IDE angepaßt.

image

Das ist zwar vermutlich schon bald obsolet, weil das angekündigte Processing 4 in der PDE – glaubt man den Screenshots – ein hellblaues Erscheinungsbild haben wird, aber für langjährige Nostalgiker wie mich ist es dennoch nett.

War sonst noch was? Ach ja, den Quellcode gibt es wie immer in meinem GitHub-Repositorium.


(Kommentieren) 

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung

Diese Spalte wurde absichtlich leergelassen!


Werbung


image  image  image
image  image  image


image