[Python-de] Dreieck zeichnen so einfach wie möglich
Benedikt Schwarz
beweta at gmx.com
Mo Apr 8 20:43:39 CEST 2013
Am 07.04.2013 21:50, schrieb Peter Otten:
> Benedikt Schwarz wrote:
>
>> Am 07.04.2013 17:20, schrieb Peter Otten:
>>> Außerdem musst du auch noch irgendwie die Position des Dreiecks auf der
>>> Zeichenfläche (Canvas in Tkinter) festlegen.
>>
>> Längste Seite = Grundlinie. Kann man das so einfach festlegen?
>
> Ich versteh die Frage nicht. Wenn du das Dreieck nicht durch die Koordinaten
> der Ecken definieren willst, musst du dich mit der Mathematik dahinter
> beschäftigen. Mehr als sin, cos und Pythagoras brauchts dafür aber wohl
> nicht.
Ja, genau so wäre es perfekt. Mit sin, cos und Pythagoras habe ich kein
Problem, wobei der Satz des Pythagoras ja nur für rechtwinklige Dreiecke
geeignet ist.
> Zum Beispiel:
>
> from math import sin, cos, radians, sqrt
>
> def draw_triangle(a, b, alpha, color="blue"):
> alpha = radians(alpha)
> p = b*cos(alpha)
> h = b*sin(alpha)
> q = sqrt(a*a-h*h)
>
> A = (0, HEIGHT)
> B = (p+q, HEIGHT)
> C = (p, HEIGHT-h)
>
> canvas.create_polygon(A, B, C, fill=color)
>
> draw_triangle(500, 300, 45, "red")
Vielen Dank für den Beispielcode.
Gruß
Benedikt Schwarz
Mehr Informationen über die Mailingliste python-de