### How to Create a Star Rotation Program in VB.net

Design View :

Take two control button and timer control and not change any property.

Code View :

Public Class Form1

Dim g As Graphics

' variable declaration

Dim theta As Double = 3.1415 / 180

Dim t(5) As Double

Dim i As Integer = 1

Dim xc, yc, r, cx, cy As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Timer1.Start() ' timer is star to draw the star

End Sub

Public Sub drawstar()

g = Me.CreateGraphics

g.Clear(Color.White)

r = 80 ' size of object

' find a center point of the screen and assign a value of variable

cx = (Me.Width / 2) - 30

cy = (Me.Height / 2) - 30

' find out the xc and yc center point of the circle

xc = CInt(cx + Math.Cos(t(0)))

yc = CInt(cy + Math.Sin(t(0)))

' find the acutal point of the draw the star

Dim pts1(5) As Point

For k As Integer = 0 To t.Length - 1

pts1(k) = New Point(xc + CInt(r * Math.Cos(t(k))), yc + CInt(r * Math.Sin(t(k))))

Next

' draw the star

g.DrawPolygon(Pens.Black, pts1)

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

' this logic is apply for rotation of the star

Dim angle As Integer = 360 / 5

Dim j As Integer = 0 ' it is use to find the star 5 point

For k As Integer = 0 To t.Length - 1

t(k) = theta * (angle + j + i) ' find out the theata value of the polygon

j += 144

Next

i += 5 ' every time angle is change if i value is change to increment that is draw diffrent angle

' i += 10 then the rotation speed is increase

' i += 1 then the rotation speed is small

' so if you increase the value of i is high then speed is also high

' else speed is slow

drawstar() ' call main star drawing funtion or may procedure

End Sub

End Class

Take two control button and timer control and not change any property.

Code View :

Public Class Form1

Dim g As Graphics

' variable declaration

Dim theta As Double = 3.1415 / 180

Dim t(5) As Double

Dim i As Integer = 1

Dim xc, yc, r, cx, cy As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Timer1.Start() ' timer is star to draw the star

End Sub

Public Sub drawstar()

g = Me.CreateGraphics

g.Clear(Color.White)

r = 80 ' size of object

' find a center point of the screen and assign a value of variable

cx = (Me.Width / 2) - 30

cy = (Me.Height / 2) - 30

' find out the xc and yc center point of the circle

xc = CInt(cx + Math.Cos(t(0)))

yc = CInt(cy + Math.Sin(t(0)))

' find the acutal point of the draw the star

Dim pts1(5) As Point

For k As Integer = 0 To t.Length - 1

pts1(k) = New Point(xc + CInt(r * Math.Cos(t(k))), yc + CInt(r * Math.Sin(t(k))))

Next

' draw the star

g.DrawPolygon(Pens.Black, pts1)

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

' this logic is apply for rotation of the star

Dim angle As Integer = 360 / 5

Dim j As Integer = 0 ' it is use to find the star 5 point

For k As Integer = 0 To t.Length - 1

t(k) = theta * (angle + j + i) ' find out the theata value of the polygon

j += 144

Next

i += 5 ' every time angle is change if i value is change to increment that is draw diffrent angle

' i += 10 then the rotation speed is increase

' i += 1 then the rotation speed is small

' so if you increase the value of i is high then speed is also high

' else speed is slow

drawstar() ' call main star drawing funtion or may procedure

End Sub

End Class

## Comments

## Post a Comment