Kreisalgorithmus :(
-
Hi Leute,
ich habe mir eine kleine Funktion geschrieben, mit welcher ich einen Kreis vom Radius iRadius an dem Punkt PtPunkt zeichnen will (WinApi). Dies sieht nun so aus:void DrawKreis(HDC hdc, POINT PtPunkt, double iRadius) { double iAlpha; int xPos, yPos; for(iAlpha = 0.0; iAlpha < 360.0; iAlpha += 5.0){ xPos = cos(iAlpha / 360 * TWOPI) * iRadius; yPos = sin(iAlpha / 360 * TWOPI) * iRadius; SetPixel(hdc, PtPunkt.x + xPos, PtPunkt.y + yPos, RGB(255,0,0)); SetPixel(hdc, PtPunkt.x + xPos, PtPunkt.y + yPos, RGB(255,0,0)); } }
Diese funktion zeichnet aber nur einen halben Kreis. Wo steckt der Fehler?
Für Eure Antwort wäre ich sehr dankbar
gruss
-
TWOPI falsch definiert?
-
Sicher, dass TWOPI auch wirklich 2*Pi und nicht einfach nur Pi ist?
-
Schlaumeier2 schrieb:
Sicher, dass TWOPI auch wirklich 2*Pi und nicht einfach nur Pi ist?
ja,
#define TWOPI 2* 3,14wenn man in der zweiten SetPixel Zeile das hinschreibt:
SetPixel(hdc, PtPunkt.x + (-1 * xPos), PtPunkt.y + (-1 * yPos), RGB(255,0,0));funzt es dann. Es müsste doch auch ohne gehen. Tut es aber nicht.
-
linu(x)bie schrieb:
ja,
#define TWOPI 2* 3,14LOL, schau dir mal an was der Kommaoperator macht.
-
oller poller schrieb:
linu(x)bie schrieb:
ja,
#define TWOPI 2* 3,14LOL, schau dir mal an was der Kommaoperator macht.
LOL, das ist der Fehler. Vielen Dank.
Auch an alle anderen, die sich bemüht haben mir zu helfen.
Gruss