3 Stimmen

.NET - benötigen Sie 10 Punkte um eine Ellipse herum

Einfaches Codefragment unten zeichnet eine Ellipse auf einem VB.NET-Panel. Ich muss jetzt 10 Punkte AUF dieser Ellipse finden, damit ich kleine Kreise entlang des Randes zeichnen kann (der endgültige Effekt wird ein elliptischer "Tisch" mit 10 "Plätzen" darum sein.

Hilfe beim Ausfüllen der Mitte meiner Schleife unten ist willkommen.

    Private Sub Panel1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint

    Const OFFSET As Integer = -36

    Dim g As Graphics = e.Graphics
    Dim r As Rectangle = Panel1.ClientRectangle
    Dim iAng As Integer

    r.Inflate(OFFSET, OFFSET)
    g.DrawEllipse(Pens.Black, r)

    For i As Integer = 0 To 9
        iAng = i * 36

    Next

End Sub

2voto

mqp Punkte 66863

Wenn A der horizontale Radius der Ellipse ist und B der vertikale Radius, gilt für jeden gegebenen Winkel R in Bogenmaß:

X(R) = A * cos(R)

Y(R) = B * sin(R)

Wenn also R = 0, 1 * 2pi/10, 2 * 2pi/10....9 * 2pi/10 beträgt, dann können zehn Sitze um die Ellipse herum angeordnet werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X