Просмотр содержимого документа
«Инструментальное ПО»
'Программа 1
DefSng A-Z
Public T As Double
Const pi = 3.14159265358979
Sub Диапазон_90_90(ii)
If ii 90 Then ii = ii - 180
End Sub
Function Цвет_спектр(ii) As Long
i = (ii + 1) / 2 * 18
Select Case i
Case 0 To 3
Цвет_спектр = RGB(255, CInt(i) * 85, 0)
Case 3 To 6
Цвет_спектр = RGB(CInt((6 - i)) * 85, 255, 0)
Case 6 To 9
Цвет_спектр = RGB(0, 255, CInt(i - 6) * 85)
Case 9 To 12
Цвет_спектр = RGB(0, CInt(12 - i) * 85, 255)
Case 12 To 15
Цвет_спектр = RGB(CInt(i - 12) * 85, 0, 255)
Case 15 To 18
Цвет_спектр = RGB(255, 0, CInt(18 - i) * 85)
End Select
End Function
Private Sub Worksheet_Activate()
Dim Temp_C As Long, Temp_V
T = 0
uX = -90: uY = -90: uZ = -90
Vysota = 200: Shirina = 200: Vysota2 = 100: Shirina2 = 100
Do
T = T + 0.003
uX = uX + 0.4
uY = uY + 0.8
uZ = uZ + 0.2
Диапазон_90_90 uX
Диапазон_90_90 uY
Диапазон_90_90 uZ
Temp_C = Цвет_спектр(Sin(T))
Temp_V = Vysota * (1 + Cos(T * 2.5)) / 2 * 0.5 + 0.5 * Vysota
With Worksheets(1).Shapes("Фигура 1")
.Fill.ForeColor.RGB = Temp_C
.ThreeD.RotationX = uX
.ThreeD.RotationY = uY
.ThreeD.RotationZ = uZ
.ThreeD.Depth = Temp_V
.Height = Temp_V
.Width = Temp_V
.ThreeD.Z = Temp_V / 2
.Top = 200 * (Cos(1.01 * T) - 0.1 * Sin(15.03 * T)) + 110
.Left = 200 * (Sin(0.99 * T) + 0.7 * Cos(3.01 * T)) + 170
End With
uX2 = uX2 + 0.2
uY2 = uY2 + 0.1
uZ2 = uZ2 + 0.07
Диапазон_90_90 uX2
Диапазон_90_90 uY2
Диапазон_90_90 uZ2
Temp_C = Цвет_спектр(Sin(T * 2.5) + Sin(T * 2.47))
Temp_V = Vysota2 * (1 + Cos(T * 1.5 + 3.14)) / 2 * 0.5 + 0.5 * Vysota2
With Worksheets(1).Shapes("Фигура 2")
.Fill.ForeColor.RGB = Temp_C
.ThreeD.RotationX = uX2
.ThreeD.RotationY = uY2
.ThreeD.RotationZ = uZ2
.ThreeD.Depth = Temp_V / 2
.Height = Temp_V
.Width = Temp_V
.ThreeD.Z = Temp_V / 4
.Top = 200 * (Cos(1.005 * T) - 0.05 * Sin(15.05 * T)) + 105
.Left = 200 * (Sin(0.995 * T) + 0.6 * Cos(2 * T)) + 160
End With
DoEvents
Loop Until T 5
End Sub