Du bist nicht angemeldet.

Werbeanzeige

-=Andreas=-

unregistriert

1

01.05.2010, 10:25

X und Y von einem Punkt P auf einem Kreis ermitteln ?

Hallo Leute!

Ich habe da mal eine Frage zur Berechnung eines Punktes auf einem Kreis.
Ich möchte nämlich mal versuchen mit der SDL einen Kreis zu zeichnen.
Dazu brauche ich die einzelnen X und Y Koordinaten um dort einen Pixel hinzusetzen.
Klar gibt es da schon fertige Sachen die ich verwenden könnte aber ich möchte es gerne selbst programmieren können.
Meine Mathekentnisse sind eher mittelmäßig daher stelle ich hier mal diese Frage.
Was ich schon kann ist den Durchmesser, Radius, Umfang von einem Kreis berechnen.
Ich hoffe ihr könnt mir ein bisschen weiterhelfen.

Gruß -=Andreas=-

2

01.05.2010, 10:39

Dieses Bild dürfte fast genau das zeigen, was du brauchst:

http://upload.wikimedia.org/wikipedia/co…_en_cosinus.png

Allerdings müsstest du dann eine Winkelangabe, die du in Grad (°) verstehst, mit (PI/180) multiplizieren, weil die Funktionen hier den Winkel als Bogenmaß sehen, also als die Strecke, die vom Punkt (1/0) auf der Kreisbahn zum gewünschten Punkt zurückgelegt werden muss.

drakon

Supermoderator

Beiträge: 6 526

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

3

01.05.2010, 12:17

Das mit Sinus und Cosinuns zu machen ist sicher ein Weg. Allerdings ist der Algorithmus von Bresenham für Kreise auch sehr geeignet:
http://de.wikipedia.org/wiki/Bresenham-Algorithmus

Müsste auch schneller sein, als die mit sin/cos, habs aber noch nie getestet.

-=Andreas=-

unregistriert

4

01.05.2010, 12:19


(Link)

Uploaded with ImageShack.us

Es hat funktioniert :D. Vielen Dank!

@drakon Den Bresenham-Algorithmus guck ich mir dann auch noch an ;)

5

01.05.2010, 16:53

Der Kreis ist doch aber etwas zu weit links vom Model, oder irre ich mich?

-=Andreas=-

unregistriert

6

01.05.2010, 17:24


Der Kreis ist doch aber etwas zu weit links vom Model, oder irre ich mich?


Hallo HighligerBimBam!

Ich habe einfach eine neue CDrawACircle Klasse geschrieben - und um dann mal zu testen wie das aussieht habe ich den Kreis an Position 500,500 zeichnen lassen. Der Kreis hat also nix mit dem Spiel zu tun.

7

04.05.2010, 17:14

Wie zeichnest du diese primitive?
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Werbeanzeige