[PYTHON] Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen

Schildkrötenmodul

Eine Python-Version von Turtle Graphics, mit der Sie eine Schildkröte mit einem Stift bearbeiten können, um ein Bild zu zeichnen. Scratch ist berühmt für Kinder, aber es scheint ein gutes Unterrichtsmaterial zu sein, je nachdem, wie Sie es verwenden. Ich fand diese Zeichnung fantastisch und versuchte sie zu verwenden ...

――Sie können eine solche Strichzeichnung zeichnen (wie einen Wald oder einen Wald)

スクリーンショット 2020-06-15 23.35.58.jpg

Hier ist der Beispielcode. Erstellen wir eine Funktion namens Gesamtstruktur.

turtlePicture.py


#
#Importiere Schildkröte und zeichne eine Linie
# 2020.06.15 ProOJI
#
import turtle

#kameSan-Objekterstellung
kameSan = turtle.Turtle()

#Erstellen Sie eine Methode (rekursive Verwendung)
def forest(n, length:int=1000)->None:
    if n <= 0:
        kameSan.forward(length)
        return

    '''Rekursiv 1 Länge= 1000 * 0.5 '''
    forest(n-1, length * 0.5)

    #85 Grad nach rechts drehen
    #Von sanft bis scharf
    kameSan.right(85)

    '''Rekursive 2 Länge= 1000 ÷ 3 '''
    forest(n-1, length / 3)

    #170 Grad nach links drehen
    #Zeichnen Sie eine scharfe Nadel in einer scharfen Kurve
    kameSan.left(170)

    '''Rekursive 3 Länge= 1000 ÷ 3 '''
    forest(n-1, length / 3)

    #85 Grad nach rechts drehen
    #Lande wieder in einer sanften Richtung
    kameSan.right(85)
    '''Rekursive 4 Länge= 1000 ÷ 0.38 '''
    forest(n-1, length * 0.38)

if __name__ == '__main__':
    kameSan.penup()
    kameSan.setpos(270, -20)
    kameSan.pendown()
    kameSan.left(180)
    kameSan.speed(0)
    forest(5)
    kameSan.done()

Auf diese Weise können Sie eine Linie zeichnen. Wenn Sie einige Änderungen vornehmen und eine Farbänderung im rekursiven Teil festlegen ...

スクリーンショット 2020-06-15 23.52.20.jpg

turtlePictureWithColor.py


#
#Importiere Schildkröte und zeichne eine Linie
#kameSan zeichnet beim Bewegen Linien
# 2020.06.15 ProOJI
#
import turtle

#kameSan-Objekterstellung
kameSan = turtle.Turtle()

#Erstellen Sie eine Methode (rekursive Verwendung)
def forest(n, length:int=1000)->None:
    if n <= 0:
        kameSan.forward(length)
        return

    '''Rekursiv 1 Länge= 1000 * 0.5 '''
    kameSan.pencolor("red")
    forest(n-1, length * 0.5)

    #85 Grad nach rechts drehen
    #Von sanft bis scharf
    kameSan.right(85)

    '''Rekursive 2 Länge= 1000 ÷ 3 '''
    kameSan.pencolor("blue")
    forest(n-1, length / 3)

    #170 Grad nach links drehen
    #Zeichnen Sie eine scharfe Nadel in einer scharfen Kurve
    kameSan.left(170)

    '''Rekursive 3 Länge= 1000 ÷ 3 '''
    kameSan.pencolor("green")
    forest(n-1, length / 3)

    #85 Grad nach rechts drehen
    #Lande wieder in einer sanften Richtung
    kameSan.right(85)
    '''Rekursive 4 Länge= 1000 ÷ 0.38 '''
    forest(n-1, length * 0.38)

if __name__ == '__main__':
    #penup Keine Zeichnung, da der Stift angehoben ist
    kameSan.penup()
    #In Position bewegen
    kameSan.setpos(270, -20)
    #pendown Der Stift wird abgesenkt, sodass er von hier aus gezeichnet wird
    kameSan.pendown()
    #180 Grad nach links drehen
    kameSan.left(180)

    kameSan.speed(0)
    forest(5)
    kameSan.done()

Sie können sehen, welcher Code die Linie zeichnet und wie.

Recommended Posts

Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, mit Python eine Pseudofraktalfigur zu zeichnen
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, Pythonect, eine Programmiersprache für den Datenfluss, zu verwenden.
Ich habe versucht, eine CSV-Datei mit Python zu lesen
Ich habe versucht, die Datenbank (sqlite3) mit kivy zu verwenden
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, ein Beispielmodell von Pytorch mit TorchServe zu hosten
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
[Python] Ich habe versucht, einen lokalen Server mit flask auszuführen
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, Daten aus einer Datei mit Node.js zu lesen.
Ich habe versucht, Python (3) anstelle eines Funktionsrechners zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, ein Deep-Learning-Modell von TensorFlow mit TensorFlow Serving zu hosten
Ich habe versucht, Tensorboard zu verwenden, ein Visualisierungstool für maschinelles Lernen
Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe einen Line-Bot mit Python gemacht!
Zeichnen einer Silbersteinkurve mit Python
Ich habe versucht, Rotrics Dex Arm zu verwenden