09-15-2024, 12:57 PM
Here is my cycloid
Code:
GraphicsWindow.BackgroundColor = "White"
GraphicsWindow.PenColor = "Blue"
GraphicsWindow.PenWidth = 2
' Let's set the parameters
radius1 = 9 ' Radius of a rolling circle
radius2 = 90 ' Radius of a fixed circle
lineLength = radius1 + 15 ' Length of line from the center of rolling circle
centerX = 200 ' Center of the fixed circle along X
centerY = 200 ' Center of the fixed circle along Y
' Initial coordinates of the point at the end of the line
x = centerX + radius2 + lineLength
y = centerY
' Angle of rotation
angle = 0
While (angle < 360 * 5) ' Draw several turns
' ВCalculate the coordinates of the center of the rolling circle
rollingCenterX = centerX + (radius2 + radius1) * Math.Cos(angle * Math.Pi / 180)
rollingCenterY = centerY + (radius2 + radius1) * Math.Sin(angle * Math.Pi / 180)
' Calculate the coordinates of the point at the end of the line
x = rollingCenterX - lineLength * Math.Cos((radius2 + radius1) / radius1 * angle * Math.Pi / 180)
y = rollingCenterY - lineLength * Math.Sin((radius2 + radius1) / radius1 * angle * Math.Pi / 180)
' Draw a dot
GraphicsWindow.DrawEllipse(x, y, 2, 2)
' Increasing the angle
angle = angle + 1
EndWhile