Bewegten Kreis erstellen???

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Kouki.

    Bewegten Kreis erstellen???

    Hallo Zusammen.
    Ich möchte die Bewegung von einem Windrad Roter simulieren. Wie kann ich in VB 2008 einen Kreis so programmieren das er sich dreht? Die Geschwindigkeit sollte sich über ein Interval steuern lassen....also kein Flash oder gif Image. Es sollte schon ein Objekt sein welches sich über einen Timer in einer Kreisform (wie ein Roter) bewegt wird?
    Wie könnte man so etwas realisieren?
    ein Kreis, der sich dreht? Selten erkennt man sich drehende Kreise... Mach auch die Rotorblätter dran, das ist sinnvoller. Kreisbewegungen lassen sich mit den Sinus- und Kosinusfunktionen berechen.

    Quadsoft.de.vu schrieb:

    ein Kreis, der sich dreht? Selten erkennt man sich drehende Kreise... Mach auch die Rotorblätter dran, das ist sinnvoller. Kreisbewegungen lassen sich mit den Sinus- und Kosinusfunktionen berechen.
    wenn der Kreis zweifarbig ist sieht man das sehr wohl.....und mann kann den Sin und Cos Satz für die Winkelberechnung verwenden....aber erstes was bringt mir das und zweitens wie geht das in vb....? :D dei Antwort war so ein bisschen sinnlos :P
    man kann bilder mt GDI+ drehen, wenn er den Kreis selber zeichnet, mit Inhalt z.B. Farbverlauf kann er davon die Punkte einem Winkel zufolge berechnen(Polarkoordinaten) und somit den Farbverlauf jedes mal neu zeichnen, bei einem Kreis mit Bildinhalt einfach das Bild sich frei drehen lassen und mit Graphics.SetClip auf einen Kreis zuschneiden...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Es reicht GDI+ mit der DrawPie-Methode. Einfach Winkel und Koordinaten angeben.

    Globale Variable mit dem Winkel als Inhalt:

    VB.NET-Quellcode

    1. Dim angle As Single


    Und die Drehbewegung im Timer:

    VB.NET-Quellcode

    1. Dim g As Graphics = PictureBox1.CreateGraphics
    2. Dim r As New Rectangle(0, 0, 100, 100) 'Wo der Kreis gezeichnet werden soll
    3. Dim c1 As Color = Color.Red 'Farbe 1
    4. Dim c2 As Color = Color.Blue 'Farbe 2
    5. g.FillPie(New SolidBrush(c1), r, angle, 180) '1. Hälfte zeichnen
    6. g.FillPie(New SolidBrush(c2), r, angle + 180, 180) '2. Hälfte zeichnen
    7. angle += 1 'Winkel um 1° erhöhen


    Achtung: Das ist kein C&P-Code!