Linienband mit Lissajous Koordinaten

  • Nachdem es sich ja schon andeutete und v.a. da die Linienroutine nun dank detlef extra gut optimiert ist und flott funktioniert (Thread), kann man ja mal noch einen Versuch wagen, die Punkte anders zu bewegen.


    Der eigentliche Witz dabei bleibt nach wie vor das "schnelle Zeichnen" per Array, nur daß diesmal die Endpunkte der Linien nicht mehr aus der Vorgängerlinie ermittelt werden sondern direkt berechnet. Dazu werden beide Endpunkte jeweils mittels Sinus- bzw. Cosinusfunktionen für die X bzw. Y Werte über den Bildschirm bewegt und zwischen ihnen die "LINE" gezeichnet.

    ( Leider fällt dabei natürlich der interessante Fakt weg, daß der Vorgängerwert direkt zur Berechnung benutzt wird.)


    Es eröffnen sich wieder jede Menge Möglichkeiten damit herumzuspielen !

    Gute Bastelparameter sind die Werte, die jede Runde erhöht werden ( fx0, fy0, fx1, fy1 ) und ihre Verhältnisse zueinander. Zudem kann man durch Ändern ihrer Startwerte schöne andere Muster erhalten.


    Und damit es bißchen flexibler und potentiell schneller wird, gibt es das Ganze auch noch mit einer fixen Winkeltabelle (eine für Sinus- und eine für Cosinus). Formal würde ja eine einzige völlig reichen und eine Winkelverschiebung um 90 Grad, aber so kann man die Bildschirmgrößen da bereits direkt für X,Y mit reinrechnen.




         


    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    3 Mal editiert, zuletzt von ThoralfAsmussen ()

  • Noch ein kleines Update - aber noch nicht aufgeräumt, d.h. funktioniert nur im VGA Modus ordentlich (wg. absoluter Koordinaten). Dafür siehts ganz nett aus - mit Pseudotiefe bzw. 3D.


    :)


       


       




    In ztab() wird ein Sinuskurvenhalbbogen ( 0 - 180 Grad ) aufbewahrt, der von 0 bis 1 läuft. Damit werden dann alle X,Y Werte kurz vorm Zeichnen multipliziert. Da diese jeweils im Koordinatenarray landen, muß man das auch nur 1x machen.


    Zusätzlich gibt es ein handgemaltes Trapez ( 4 fixe LINEs ) und einen kleinen "Mirror-Effekt" ( die langen LINE Befehle mit den komischen Multiplikationen ). Was man nicht alles tut, um gewonnene Rechenzeit wieder zu vernichten.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

    Einmal editiert, zuletzt von ThoralfAsmussen ()