17 Zufall II

Funktion, die eine Zufallsbewegung mit definierbaren Parametern erstellt

from turtle import *
from random import randint
 
def zufallsstep(maxwinkel, laenge):
    winkel = randint(-maxwinkel, maxwinkel)
    left(winkel)
    forward(laenge)
 
def zufallsschritte(entfernung, winkel, schrittlaenge):
    home()
 
    start = position()
 
    while distance(start) < entfernung:
        zufallsstep(winkel, schrittlaenge)
 
    stamp()
 
 
# Hauptprogramm
 
setup(500, 500)
penup()
home()
pendown()
pensize(3)
speed(0)
 
for i in range(10):
    zufallsschritte(200,90,10)

und noch eine Variante mit Farben (2019)

from turtle import *
import random
 
def zufallsschritt(schrittlaenge,maxwinkel):
    winkel = random.randint(-maxwinkel,maxwinkel)
    left(winkel)
    forward(schrittlaenge)
 
def walk(entfernung, schrittlaenge, maxwinkel=180):
    setup(entfernung*2,entfernung*2)
    penup()
    home()
    pendown()
    pensize(3)
    startwinkel = random.randint(0,359)
    right(startwinkel)
    start = position()
    while distance(start) < entfernung:
        zufallsschritt(schrittlaenge,maxwinkel)
        if(distance(start) < 100):
            color(1,0,0)
        elif(distance(start) < 200):
            color(0,1,0)
        elif(distance(start) < 300):
            color(0,0,1)
 
 
    pencolor('red')
    stamp()
 
for i in range(10):
    tracer(False)
    walk(300,5,60)
    tracer(True)

und noch eine Variante mit anderer Färbung (2020):

from turtle import *
from random import randint
 
def zufallsschritt():
    winkel = randint(-60,60)
    left(winkel)
    forward(10)
 
def zufallsweg():
    penup()
    home()
    pendown()
    start = position()
    left(randint(0,359))
    rot = 1
    gruen = 0
    blau = 0
    pencolor(1,0,0)
    while distance(start) < 200:
        zufallsschritt()
        aenderung = distance(start) / 200
        if(aenderung < 1):
            pencolor(rot - aenderung,gruen + aenderung,blau + aenderung)
    stamp()
 
setup(800,600)
pensize(3)
 
for i in range(10):
    zufallsweg()


User Tools