Berechnung der Länge eines Halbkreises

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Artemis

Betreff: Berechnung der Länge eines Halbkreises

BeitragMi, Okt 19, 2005 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich habe folgendes Problem:

Ich habe eine Bildschirmgröße von 1024x768. Jetzt möchte ich einen Halbkreis haben, welcher die linke und rechte obere Ecke berührt. Sollte dann wie Folgt aussehen:
user posted image

Dieser Halbkreis muss nicht gezeichnet werden. Von diesen Linien möchte ich Dreiecke mittel DrawPoly zeichen. Das sieht dann flogendermaßen aus:
user posted image

Jetzt müsste ich die Läge der Halbkreislinie berechnen, und dann wenn ich beispielsweise den 40 Pixel der Linie haben möchte, die Lage desselben berechnen können. Ich hoffe ihr konntet mir folgen.

Jonas

Firstdeathmaker

BeitragMi, Okt 19, 2005 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dazu brauchst du erst den Radius des Kreises, der beträgt:

r = sqr((x/2)^2+y^2)

den Umfang eines Kreises berechnet man mit 2*pi*r^2
also ist die Hälfte davon pi*r^2

also ist deine gesuchte Strecke

Länge = pi* ( (x/2)^2 + y^2 )


Was meinst du genau mit "40ter Pixel" ? Denn 40ten Pixel vom linken Kreisrand aus nur auf der X-Achse und davon dann den Y-Wert?

Oder meinst du den 40.Pixel auf der Kreislinie, aber wo fängst du dann an zu zählen?
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Artemis

BeitragDo, Okt 20, 2005 7:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal Thx für die Antworten.

Mit dem 40ten Pixel mein ich den 40 Pixel auf der Kreislinie. Ich fange links unten an.

stfighter01

BeitragDo, Okt 20, 2005 10:00
Antworten mit Zitat
Benutzer-Profile anzeigen
den 40ten pixel wird so nicht gehen.
deine linie ist ja auch rein virtuell, aber eine schätzung ist schon möglich.

mit dem radius kannst du dir schon den umfang berechnen.
u= r*PI*2

und damit den benötigten winkel in radiant.
winkel(rad)= u/punkte

und für gradeinteilung.
winkel(grad)= winkel(rad)*180/PI

in summe sieht das so aus:

grad= r*360*PI*PI/punkte

X= cos(grad)*r
Y= sin(grad)*r

[edit]
sorry, ich begann von rechts unten
für links unten:

grad=180-grad


mfg stfighter
Denken hilft!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group