Kreise zeichnen (Graphische Benutzerschnittstelle für Einplatz-Anwendungen)
Verwenden Sie die Turtlegraphics
um einen Kreis anzunähern. Anstelle des Kreises wird ein 36-Eck gezeichnet, das von Auge kaum von einem Kreis zu unterscheiden ist. Schreiben Sie diesmal eine Funktion, bei der ein Anfangspunkt und eine Seitenlänge angegeben werden können. Zeichnen Sie dann den Kreis mittels 36 Linien, wobei nach jedem Zeichnen die Turtle um 10 Grad weitergedreht wird. Natürlich könnte man die Kreisfunktion auch mit den Parametern Kreismittelpunkt und Radius angeben, das gibt dann aber einiges an trigonometrischen Funktionen, was nicht Inhalt dieses Buches ist.
0 Kommentare
2 Lösung(en)
import math
import turtle
def kreis(r,n):
winkel=360.0/n
l = 2.0*r*math.sin(winkel/2.0*math.pi/180)
# Vom Mittelpunkt zum Kreisrand ohne zu Zeichnen
turtle.setheading(0)
turtle.up()
turtle.fd(r)
# Startwinkel des n-Eck
turtle.setheading(90+winkel/2.0)
turtle.down()
# Kreis zeichnen
for i in range(n):
turtle.fd(l)
turtle.left(winkel)
# Zurueck zur Mitte
turtle.setheading(0)
turtle.up()
turtle.bk(r)
turtle.down()
turtle.clear()
turtle.setpos(0,0)
turtle.pencolor("brown")
kreis(80,47)
import { turtle } as t from '../canvasTurtle.js';
function mockCircle(start = [0,0], edgeLen = 100) {
t.gotoXY(start[0], edgeLen);
t.penDown();
for (let i = 1; i <= 36; i++) {
t.go(edgeLen);
t.direction -= 36;
}
t.penUp();
}
mockCircle([100, 100]);
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.5 |
Schwierigkeit: | k.A. |
Webcode: | o3ji-gwjj |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |