[Python-Programmierung (2)] Grundlegende Grafikzeichnung von Python

1 Beispiel: Python-Zeichnung

#PythonDraw.py
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40, 80)
    turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()

Fügen Sie hier eine Bildbeschreibung ein

2 Verwendung der Schildkrötenbibliothek

2.1 Zeichnungsform für Schildkröten

Der Leinwandbereich der Schildkröte ist unten dargestellt:
Fügen Sie hier eine Bildbeschreibung ein
Die Position der oberen linken Ecke des Zeichenformulars repräsentiert die Position des Formulars, und die Länge und Breite des Formulars repräsentieren die Größe des Formulars.
Fügen Sie hier eine Bildbeschreibung ein
Die Größe und Position des Fensters kann mit der Funktion setup () gezeichnet werden:

turtle.setup (Breite, Höhe, Startx, Starty)

  • Die letzten beiden der 4 Parameter sind optional
  • setup () ist nicht erforderlich

Die Funktion setup () wird wie folgt verwendet:
Fügen Sie hier eine Bildbeschreibung ein

2.2 Schildkrötenraum-Koordinatensystem

Im absoluten Koordinatensystem der Schildkröte ist rechts die positive x-Richtung und oben die positive y-Richtung.
Fügen Sie hier eine Bildbeschreibung ein
Die Funktion goto () kann sich direkt zur angegebenen Koordinatenposition bewegen. Die Funktion lautet wie folgt:

turtle.goto (x, y)

Beispiel:

import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(0,0)

Die Implementierung ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein
Kreis (r, Winkel) zeichnet einen Kreis mit der Position links vom aktuellen Punkt im Abstand r als Mittelpunkt des Kreises, und der Winkel ist der Winkel
fd (d), der den Vorwärtsabstand d darstellt
Fügen Sie hier eine Bildbeschreibung ein

2.3 Winkelkoordinatensystem der Schildkröte

Fügen Sie hier eine Bildbeschreibung ein
Die Funktion seth () kann die Fahrtrichtung ändern.
turtle.seth (Winkel)

  • Winkel ist der absolute Grad
  • seth () ändert nur die Richtung, fährt aber nicht

Die Funktionen left () und right geben jeweils einen bestimmten Drehwinkel von links nach rechts an:
turtle.left (Winkel)
turtle.right (Winkel)

Beispiel:

import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

Implementierung:
Fügen Sie hier eine Bildbeschreibung ein

2.4 RGB-Farbsystem

Alle Dinge bestehen aus drei Farben

  • RGB bezieht sich auf die Farbkombination von drei Kanälen Rot, Blau und Grün
  • Decken Sie alle Farben ab, die das Sehen wahrnehmen kann
  • RGB jeder Farbwertbereich 0-255 Ganzzahl oder 0-1 Dezimalzahl
Englischer Name RGB-Ganzzahlwert RGB-Dezimalwert Chinesischer Name
Weiß 255, 255, 255 1, 1, 1 Weiß
Gelb 255, 255, 0 1, 1, 0 Gelb
Magenta 255, 0, 255 1, 0, 1 Magenta
Cyan 0, 255, 255 0, 1, 1 Blau
Blau 0, 0, 255 0, 0, 1 Blau
schwarz 0, 0, 0 0, 0, 0 Schwarz
Muschel 255, 245, 238 1, 0,96, 0,93 Muschel
Gold 255, 215, 0 1, 0,84, 0 Golden
Rosa 255, 192, 203 1, 0,75, 0,80 Pink
braun 165, 42, 42 0,65, 0,16, 0,16 Braun
lila 160, 32, 240 0,63, 0,13, 0,94 Lila
Tomate 255, 99, 71 1, 0,39, 0,28 Tomatenfarbe

Der Standardwert ist dezimal und kann auf einen ganzzahligen Wert umgeschaltet werden

turtle.colormode (Modus)

  • 1.0: RGB-Dezimalwertmodus
  • 255: RGB-Ganzzahlwertmodus

3 Analyse der Syntaxelemente des Schildkrötenprogramms

3.1 Bibliotheksreferenz und Import

Bibliotheksreferenzen: Möglichkeiten zur Erweiterung der Funktionalität von Python-Programmen

  • Verwenden Sie zum Importieren reservierte Wörter, um <a> zu übernehmen. <B> () Codierungsstil
    importieren <Bibliotheksname>
    <Bibliotheksname>. <Funktionsname> (<Funktionsparameter>)

Beispiel:
Fügen Sie hier eine Bildbeschreibung ein

Aber Schildkröten oft zu schreiben ist sehr mühsam, es gibt einen anderen Weg, es zu schreiben, es ist einfacher

  • Verwenden Sie reservierte Wörter aus und importieren Sie sie zusammen, um sie
    aus <Bibliotheksname> zu vervollständigen. Importieren Sie <Funktionsname>
    aus <Bibliotheksname
    >.

Beispiel:
Fügen Sie hier eine Bildbeschreibung ein
Vergleich zweier Schreibmethoden:

Schreiben eines :
Importieren Sie <Bibliotheksname>
<Bibliotheksname>. <Funktionsname> (<Funktionsparameter>)

Zwei schreiben :
aus <Bibliotheksname> <Funktionsname> importieren
aus <Bibliotheksname> importieren *
<Funktionsname> (<Funktionsparameter>)

Die erste Methode verursacht kein Problem mit dem doppelten Namen der Funktion, die zweite Methode wird angezeigt

Mehr Verwendung importieren : Alias-Bibliothek

  • Verwenden Sie import und als reservierte Wörter, um den
    Import <Bibliotheksname> als <Bibliotheksalias>
    <Bibliotheksalias> abzuschließen . <Funktionsname> (<Funktionsparameter>)

Verknüpfen Sie die aufgerufene externe Bibliothek mit einem kürzeren und besser geeigneten Namensbeispiel
:
Fügen Sie hier eine Bildbeschreibung ein

3.2 Kontrollfunktion für Schildkrötenstifte

Es gibt vier Steuerfunktionen für penup (), pendown (), pensize () und pencolor () des Stifts.

  • turtle.penup () alias turtle.pu ()
    hebt den Stift an
  • turtle.pendown () alias turtle.pd ()
    drop pen
  • turtle.pensize (Breite) alias turtle.width (Breite)
    Stiftbreite
  • turtle.pencolor (Farbe) Farbe ist eine Farbe , Schnur oder r, g, b - Werte von
    der Stiftfarbe

Pencolor (Farbe) Farbe kann drei Formen haben

  • Farbzeichenfolge: turtle.pencolor ("lila")
  • Dezimalwert von RGB: turtle.pencolor (0,63, 0,13, 0,94)
  • RGB-Tupelwert: turtle.pencolor ((0,63,0,13,0,94))

3.3 Bewegungssteuerungsfunktion für Schildkröten

Es gibt zwei Bewegungssteuerungsfunktionen, fd () und circle ()

  • turtle.forward (d) alias turtle.fd (d)
    fährt vorwärts, geradeaus, d ist die Fahrstrecke, kann negativ sein
  • turtle.circle (r, Ausdehnung = Keine)
    zeichnet einen Bogen des Ausdehnungswinkels gemäß dem Radius r, die Standardmitte befindet sich in einem Abstand von r von der linken Seite der Schildkröte , die Ausdehnung ist der Zeichenwinkel und die Standardeinstellung ist ein 360-Grad-Kreis

3.4 Funktion zur Steuerung der Schildkrötenrichtung

Es gibt drei Richtungssteuerungsfunktionen: seth (), left () und right (), seth () ändert den absoluten Winkel und left () und right () ändern den Schildkrötenwinkel

  • turtle.setheading (Winkel) alias turtle.seth (Winkel) zum
    Ändern der Fahrtrichtung, Winkel ist der absolute Winkel der Fahrtrichtung
  • turtle.left (Winkel) Turtle dreht sich nach links
  • turtle.right (Winkel) Die Schildkröte dreht sich in den rechten
    Winkel: den Drehwinkel in der aktuellen Fahrtrichtung der Schildkröte

3.5 Grundlegende Schleifenanweisung

Führen Sie eine Reihe von Anweisungen in einer Schleife eine bestimmte Anzahl von Malen aus

  • für <Variable> im Bereich (<Nummer>):
    <Anweisung, die in einer Schleife ausgeführt werden soll>

<Variable> repräsentiert die Anzahl jedes Zyklus von 0 bis <Nummer> -1

Beispiel:

>>> for i in range(5):
	print("hello:",i)

hello: 0
hello: 1
hello: 2
hello: 3
hello: 4

Funktion range (): Generiert eine Schleifenzählsequenz

  • Bereich (N): Erzeugt eine ganzzahlige Sequenz von 0 bis N-1, insgesamt N.
  • Bereich (M, N): Erzeugt eine ganzzahlige Sequenz von M bis N-1, insgesamt NM

4 Zusammenfassung

Nutzung der Schildkrötenbibliothek

  • Schildkrötenzeichnungsmethode der Schildkrötenbibliothek
  • turtle.setup () passt das Layout des Zeichenformulars auf dem Computerbildschirm an
  • Das Raumkoordinatensystem mit dem Zentrum als Ursprung auf der Leinwand: absolute Koordinaten und Schildkrötenkoordinaten
  • Ein Winkelkoordinatensystem mit einer Raum-x-Achse von 0 Grad auf der Leinwand: absoluter Winkel und Schildkrötenwinkel
  • RGB-Farbsystem, ganzzahliger Wert und Dezimalwert, Farbmodusschalter

Analyse der Syntaxelemente des Turtle-Programms

  • Bibliotheksreferenzen: importieren, aus ... importieren, importieren ... als ...
  • penup () 、 pendown () 、 pensize () 、 pencolor ()
  • fd () 、 Kreis () 、 Seth ()
  • Schleifenanweisung: für und in, range () Funktionen
Veröffentlicht 298 Originalarbeiten · erntete Lob 181 · Ansichten 100.000 +

Ich denke du magst

Origin blog.csdn.net/happyjacob/article/details/105130741
Empfohlen
Rangfolge