devxlogo

How to Calculate the X, Y of any Position on a Circle

How to Calculate the X, Y of any Position on a Circle

The DegreesToXYsubroutine, part of CodeBank’s standard procedurelibrary, calculates the X (horizontal) and Y (vertical) coordinatesof any point, measured in degrees, on the circumference of a circleor ellipse. As you can see, it’s a pretty simple routine, butextremely valuable when drawing graphics or placing objects:

 Public Sub DegreesToXY(CenterX As _        Long, CenterY As Long, degree _        As Double, radiusX As Long, _        radiusY As Long, X As Long, Y _        As Long)Dim convert As Double        convert = 3.141593 / 180         'pi divided by 180        X = CenterX - (Sin(-degree * _                convert) * radiusX)        Y = CenterY - (Sin((90 + _                (degree)) * convert) * radiusY)End Sub

Pass the subroutine the center X, Y of your ellipse, the degreeposition, and the horizontal and vertical radii (if they are equal,you’re specifying a circle, if not, it is an elongated ellipse).DegreesToXY will return the coordinates in the X and Y parameters.This routine has any number of uses, limited only by your imagination.For example, various CodeBank routines rely on it when drawingarched and rotated text, triangles, polygons, and jagged “smash”ovals when implementing motion effects, and much more.

devx-admin

Share the Post: