Rotate an Object About a Point

Rotate an Object About a Point

You can rotate any object about a center using polar coordinates. Simply define your center Xo and Yo, which in this case is the center of a form. The amount of rotation is determined by direction, one degree:

 Private Direction As LongPrivate Xo As Long, Yo As LongPrivate Sub Form_Click()	If Direction = 1 Then		Direction = 359	'counterclockwise	Else		Direction = 1		'clockwise	End IfEnd SubPrivate Sub Form_Load()		Direction = 1		'clockwiseEnd SubPrivate Sub Form_Resize()	Xo = Me.ScaleWidth  2	Yo = Me.ScaleHeight  2End SubPrivate Sub Timer1_Timer()	Dim i  As Byte	Dim r As Single	Dim Pi As Single	Dim theta As Single	Dim plotx, ploty, dx, dy As Integer	Xo = Form1.Width / 2	'get center, image is to rotate about	Yo = Form1.Height / 2	Pi = 4 * Atn(1)	dx = Image1.Left - Xo	'get horizontal distance from center	dy = Image1.Top - Yo	' ""  vertical  ""	theta = Atn(dy / dx)	'get angle about center	r = dx / Cos(theta)	'get distance from center	plotx = r * Cos(theta + Direction * Pi / 180) + Xo	'get new x rotate about center	ploty = r * Sin(theta + Direction * Pi / 180) + Yo	'	""	y	""	Image1.Left = plotx	Image1.Top = plotyEnd Sub
See also  How IoT Tech Will Transform Logistics

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist