TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
 Specialized Dev Zones Research Center eBook Library .NET Java C++ Web Dev Architecture Database Security Open Source Enterprise Mobile Special Reports 10-Minute Solutions DevXtra Blogs Slideshow

Language: Visual Basic
Expertise: Intermediate
Jan 13, 1999

### WEBINAR:On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning

# 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 Long
Private Xo As Long, Yo As Long

Private Sub Form_Click()
If Direction = 1 Then
Direction = 359	'counterclockwise
Else
Direction = 1		'clockwise
End If
End Sub

Direction = 1		'clockwise
End Sub

Private Sub Form_Resize()
Xo = Me.ScaleWidth \ 2
Yo = Me.ScaleHeight \ 2
End Sub

Private 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)
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 = ploty
End Sub
``````
David A.

 Submit a Tip Browse "XML" Tips Browse All Tips
Comment and Contribute

(Maximum characters: 1200). You have 1200 characters left.

Thanks for your registration, follow us on our social networks to keep up-to-date