[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