Seite 1 von 1

Gibt es tutorials für morpholib?

Verfasst: Dienstag 8. November 2022, 21:50
von Drachenbauer
Dieser Youtuber:
https://www.youtube.com/channel/UCu7Zwf ... yRA/videos
sagt in seinen Videobeschreibungen, dass er seine Animationen mit dem Package morpholib erstellt:
https://github.com/morpho-matters/morpholib

Da habe ich Lust bekommen, selber mal damit mit herum zuspielen.
Also habe ich die neueste Version von Python, darin dann das morpholib-Package und dazu noch die Pycharm-Umgebung zum Programmieren installiert.

Die Codes, die in dem Github Link unter Galerie in dem Dateisystem zu finden sind, kann ich so ausführen, aber das Fenster, in dem die Animationen erscheinen, flimmert komisch mit horizontalen grünen Streifen und die Linien sehen ein wenig verwackelt aus.
Wie kommt es zu diesen Grafikfehlern (Ich habe direkt vorher mit dem Turtle-Package herum getestet, könnte das vielleicht jetzt miteinander kollidieren?)

Dann wollte ivh mal ein Polygon erstellen, wo ich direkt Koordinaten für die einzelnen Punkte angeben möchte, um z.B. eine Drachenform zu erzeugen

Code: Alles auswählen

import morpholib as morpho
morpho.importAll()

from morpholib.tools.basics import *
from morpholib.video import *
from morpholib.grid import Polygon

import math, cmath, random

def kite():
    class Kite(morpho.Skit):
        def makeFrame(self):
            kitepolygon = morpho.grid.Polygon(vertices = [(0, 1), (2, 0), (0, -3), (-2, 0)])

            kitepolygon.width = 4
            kitepolygon.color = (1,1,0)
            kitepolygon.alphaEdge = 0
            kitepolygon.fill = (1,1,0)
            kitepolygon.alphaFill = 0
            kitepolygon.alpha = 0

            kitepolygon.commitTransforms()

            return morpho.Frame([kitepolygon])

    kite1 = Kite()
    kite1 = morpho.Actor(kite1)
    kite1.newendkey(6*30).t = 6

    animation = morpho.Animation(kite1)
    animation.play()

kite()
Die Koordinaten sollten eine Drachenform ergeben, bei der der Schnittpunkt der Diagonalen im Koordinaten-Ursprung liegt.

was muss ich tun, damit die Form auch angezeigt wird, muss ich die Koordinaten vielleicht anders angeben?
wenn ich so wie es jetzt ist, die Zeile mit commitTransforms nutze, regt es sich über die art auf, wie ich die Koordinaten für das Polygon zur Verfügung stelle:
File "C:\Users\"User-Name"\AppData\Roaming\Python\Python311\site-packages\morpholib\grid.py", line 2740, in <lambda>
newVertices = self.fimage(lambda s: (mat*(rot*s))+self.origin).vertices
~~~^~
TypeError: can't multiply sequence by non-int of type 'complex'
Wenn ich die Zeile auskommentiere, kommt nur ein leeres Fenster.

Re: Gibt es tutorials für morpholib?

Verfasst: Mittwoch 9. November 2022, 16:58
von Drachenbauer
https://www.geogebra.org/calculator/vfjkjth3
Hier habe ich mal auf der Geogebra-Seite gezeichnet, wie ich mir das Ergebnis von meinem morpholib-Code in etwa vorstelle.

Leider finde ich keinen Weg, meinen Beitrag zu bearbeiten.
Daher als neuer Post.

Re: Gibt es tutorials für morpholib?

Verfasst: Mittwoch 9. November 2022, 17:37
von Drachenbauer
Jetzt kann ich meine Antwort auch nicht mehr bearbeiten.
Hier noch mal ein besserer Geogebra link:
https://www.geogebra.org/geometry/pkxtbd79

Re: Gibt es tutorials für morpholib?

Verfasst: Mittwoch 9. November 2022, 19:26
von __deets__
Das bearbeiten geht nur 15 Minuten. Um nachträgliche Verfälschungen zu vermeiden. Inhaltlich kann ich zu dieser Bibliothek leider nichts sagen.