Esto da la apariencia de ser una piramide que esta girando.... pruebenlo... en realidad es un cuadrado que gira solo que los vertices los uni conforme se traza cada lado del "cuadrado", asi que da una apariencia de una piramide...
Const PI = 3.141592654
Public Inter As Integer 'Intervalo del Angulo
Function AngRad(ByVal a As Double) As Double
AngRad = (a * PI / 180)
End Function
Private Sub Form_Load()
Inter = 0
Me.AutoRedraw = True
Me.BackColor = vbBlack
Me.Height = 6180
Me.Width = 6180
Timer.Interval = 100
Scale (-50, 50)-(50, -50) 'Mi escala, en X y en Y normal
End Sub
Private Sub Timer_Timer()
Cls 'Colocarlo y quitarlo para probar distintos efectos
Line (0, 40)-(0, 15), vbRed: Line (0, 15)-(0, -15), vbGreen: Line (0, -15)-(0, -40), vbRed
Triangulo 25, 10, 0, -20, Inter
Inter = Inter + 10 'Incremento del Angulo
End Sub
Sub Triangulo(ByVal R1 As Double, ByVal R2 As Double, ByVal eX As Double, ByVal eY As Double, ByVal Ang As Double)
Dim a, i As Integer
a = Ang + 45
i = a
For i = a To a + 360 Step 90
If i = a Then
CurrentX = R1 * Cos(AngRad(i)) + eX
CurrentY = R2 * Sin(AngRad(i)) + eY
Else
Line -(R1 * Cos(AngRad(i)) + eX, R2 * Sin(AngRad(i)) + eY), &HE0E0E0
Line (0, 20)-(R1 * Cos(AngRad(i)) + eX, R2 * Sin(AngRad(i)) + eY), &HE0E0E0
End If
Next i
End Sub