Kreisende geometrische Figuren



  • Hallo zusammen. Also ich habe da folgendes Problem.

    Vielleicht erstmal ein kleiner Codeausschnitt:

    case WM_MOVE:{
            hdc = GetDC(hwnd);
            GetClientRect(hwnd, &rect);
                SelectObject(hdc, font);
                SelectObject(hdc, pen);
                    SetBkMode(hdc, TRANSPARENT);
                    SetTextColor(hdc, RGB(0,0,255));
                    MoveToEx(hdc,40,20,NULL);
                                    Arc(hdc, rect.left+200,rect.top+200,rect.right-                     200,rect.bottom-200,rect.left,rect.top,rect.left,rect.top);
                    //Rectangle(hdc,rect.left,rect.top,80,80);
                    Ellipse(hdc,350,350,370,370);
                DeleteObject(pen);
                DeleteObject(font);
            ReleaseDC(hwnd,hdc);
            return(0);
                     }break;
    

    Ich möchte nun um diesen "Arc" ein paar geometrische Figuren kreisen lassen.
    Ich habe mir das so gedacht, dass das eigenständige Objekte seien sollen.
    Die sollen vor allem in einem konstanten Abstand um den durch Arc beschriebenen Kreis kreisen. Habe leider keine Ahnung wie ich das machen soll.
    Für einen Verwertbaren Ansatz (oder auch mehr) wäre ich Dankbar.
    MfG Jetyt



  • Hm, ich würde dir hier eher OpenGL oder DirectX empfehlen ...

    [ Dieser Beitrag wurde am 17.06.2003 um 19:12 Uhr von dEUs editiert. ]



  • a = t * (23.1415926)/n
    x = cx + r
    cos(a)
    y = cy + r*sin(a)

    Dabei ist a der Winkel in Radianten, den ein bestimmtes Objekt zu einem bestimmten Zeitpunkt t hat und (2*3.1415926)/n die Winkelgeschwindigkeit mit der sich des Objekt bewegt (je grösser das n desto kleiner die Geschwindigkeit).

    r ist der Radius, in dem sich die Objekte um den Kreis bewegen sollen.

    cx/cy ist der Mittelpunkt deines Kreises.

    Die Koordinaten x und y sind nun der Mittelpunkt eines Objektes

    ich hoffe das hilft dir weiter
    executor


Anmelden zum Antworten