|
|
Title | Draw a Bowditch curve (or Curve of Lissajous) |
Keywords | Bowditch, Lissajous, curve |
Categories | Graphics |
|
|
The Bowditch curve is represented by the following parametric functions as t ranges from 0 to 8 * Pi.
|
|
' The parametric function X(t).
Private Function X(ByVal t As Single) As Single
X = 8 * Sin(3 * t / 4)
End Function
' The parametric function Y(t).
Private Function Y(ByVal t As Single) As Single
Y = 7 * Sin(t)
End Function
|
|
In the form's Paint event handler, the program calls the DrawCurve subroutine to connect points defined by these functions.
|
|
' Draw the curve on the form.
Private Sub DrawCurve(ByVal start_t As Single, ByVal stop_t _
As Single, ByVal dt As Single)
Dim t As Single
Cls
CurrentX = X(start_t)
CurrentY = Y(start_t)
t = start_t + dt
Do While t < stop_t
Line -(X(t), Y(t))
t = t + dt
Loop
Line -(X(stop_t), Y(stop_t))
End Sub
|
|
See my book Visual Basic Graphics Programming for more information on drawing other interesting curves normally or transformed (stretched, squashed, or rotated).
|
|
|
|
|
|