Рисуем циклоид

Компилятор: Visual Basic Циклоид представлен следующими параметрическими функциями. t изменяется от 0 до 14 * Pi.

www.sources.ru_vb_graphics_cycloid.jpg

' Параметрическая функция X(t).
Private Function X(ByVal t As Single) As Single
    X = 2000 * (27 * Cos(t) + 15 * Cos(t * 20 / 7)) / 42
End Function
 
' Параметрическая функция Y(t).
Private Function Y(ByVal t As Single) As Single
    Y = 2000 * (27 * Sin(t) + 15 * Sin(t * 20 / 7)) / 42
End Function

Подпрограмма DrawCurve вызывается в обработчике события Paint.

' Рисуем курв на форме.
Private Sub DrawCurve(ByVal start_t As Single, ByVal stop_t _
    As Single, ByVal dt As Single)
Dim cx As Single
Dim cy As Single
Dim t As Single
 
    cx = ScaleLeft + ScaleWidth / 2
    cy = ScaleTop + ScaleHeight / 2
 
    Cls
    CurrentX = cx + X(start_t)
    CurrentY = cy + Y(start_t)
 
    t = start_t + dt
    Do While t < stop_t
        Line -(cx + X(t), cy + Y(t))
        t = t + dt
    Loop
 
    Line -(cx + X(stop_t), cy + Y(stop_t))
End Sub

Скачать исходник

 
faq/visual_basic/cycloid.txt · Последние изменения: 2006/05/14 13:29 (внешнее изменение)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki