.NET - нужно 10 точек вокруг эллипса - PullRequest
3 голосов
/ 22 июля 2010

Простой фрагмент кода ниже рисует эллипс на панели VB.NET. Теперь мне нужно расположить 10 точек НА этом эллипсе, чтобы я мог рисовать маленькие круги по краю (конечным эффектом будет эллиптический «стол» с 10 «местами» вокруг него.

Помощь в заполнении в центре моего цикла ниже приветствуется.

    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

1 Ответ

2 голосов
/ 22 июля 2010

Если A - горизонтальный радиус эллипса, а B - вертикальный радиус, то для любого заданного угла R в радианах:

X (R) = A * cos (R)

Y (R) = B * sin (R)

Итак, если вы возьмете R = 0, 1 * 2pi / 10, 2 * 2pi / 10 .... 9 * 2pi / 10, томожно найти десять мест вокруг эллипса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...