VERSION 5.00
Begin VB.Form Form3 
   Caption         =   "Maikelson1     form3    Расчет интерференционной картины "
   ClientHeight    =   11925
   ClientLeft      =   9915
   ClientTop       =   450
   ClientWidth     =   11025
   Icon            =   "Form3.frx":0000
   LinkTopic       =   "Form1"
   ScaleHeight     =   795
   ScaleMode       =   3  'Пиксель
   ScaleWidth      =   735
   Begin VB.TextBox Text82 
      Height          =   285
      Left            =   9960
      TabIndex        =   191
      Text            =   "Text82"
      Top             =   10920
      Width           =   975
   End
   Begin VB.TextBox Text35 
      Height          =   285
      Left            =   9960
      TabIndex        =   189
      Text            =   "Text35"
      Top             =   10560
      Width           =   975
   End
   Begin VB.CheckBox Check9 
      Caption         =   "+ составные полосы"
      Height          =   195
      Left            =   7560
      TabIndex        =   186
      Top             =   10920
      Width           =   1935
   End
   Begin VB.TextBox Text80 
      Height          =   285
      Left            =   9960
      TabIndex        =   184
      Text            =   "Text80"
      Top             =   10200
      Width           =   975
   End
   Begin VB.TextBox Text77 
      Height          =   285
      Left            =   480
      TabIndex        =   181
      Text            =   "Text77"
      Top             =   10560
      Width           =   855
   End
   Begin VB.TextBox Text72 
      Height          =   285
      Left            =   480
      TabIndex        =   180
      Text            =   "Text72"
      Top             =   10200
      Width           =   855
   End
   Begin VB.TextBox Text67 
      Height          =   285
      Left            =   9870
      TabIndex        =   179
      Text            =   "1"
      Top             =   120
      Width           =   1095
   End
   Begin VB.TextBox Text61 
      Height          =   285
      Left            =   4200
      TabIndex        =   175
      Text            =   "Text61"
      Top             =   10560
      Width           =   975
   End
   Begin VB.TextBox Text14 
      Height          =   285
      Left            =   4200
      TabIndex        =   174
      Text            =   "Text14"
      Top             =   10200
      Width           =   975
   End
   Begin VB.CheckBox Check14 
      Caption         =   "+ использовать это B"
      Height          =   255
      Left            =   5400
      TabIndex        =   170
      Top             =   10920
      Width           =   2055
   End
   Begin VB.TextBox Text39 
      Height          =   285
      Left            =   9840
      TabIndex        =   168
      Text            =   "Text39"
      Top             =   7680
      Width           =   1095
   End
   Begin VB.TextBox Text38 
      Height          =   285
      Left            =   9840
      TabIndex        =   166
      Text            =   "Text38"
      Top             =   8400
      Width           =   1095
   End
   Begin VB.TextBox Text79 
      Height          =   285
      Left            =   4800
      TabIndex        =   164
      Text            =   "Text79"
      Top             =   8040
      Width           =   1395
   End
   Begin VB.TextBox Text76 
      Height          =   285
      Left            =   8160
      TabIndex        =   160
      Text            =   "Text76"
      Top             =   8400
      Width           =   1095
   End
   Begin VB.TextBox Text75 
      Height          =   285
      Left            =   6600
      TabIndex        =   159
      Text            =   "Text75"
      Top             =   8400
      Width           =   1095
   End
   Begin VB.TextBox Text70 
      Height          =   285
      Left            =   9960
      TabIndex        =   157
      Text            =   "1000"
      Top             =   1080
      Width           =   975
   End
   Begin VB.TextBox Text57 
      Height          =   285
      Left            =   9840
      TabIndex        =   155
      Text            =   "Text57"
      Top             =   8760
      Width           =   1095
   End
   Begin VB.TextBox Text53 
      Height          =   285
      Left            =   1680
      TabIndex        =   153
      Text            =   "Text53"
      Top             =   11640
      Width           =   615
   End
   Begin VB.TextBox Text17 
      Height          =   285
      Left            =   480
      TabIndex        =   152
      Text            =   "Text17"
      Top             =   11640
      Width           =   735
   End
   Begin VB.TextBox Text74 
      Height          =   285
      Left            =   8160
      TabIndex        =   149
      Text            =   "Text74"
      Top             =   8760
      Width           =   1095
   End
   Begin VB.TextBox Text73 
      Height          =   285
      Left            =   6600
      TabIndex        =   147
      Text            =   "Text73"
      Top             =   8760
      Width           =   1095
   End
   Begin VB.CheckBox Check2 
      Caption         =   "+ Stop для i (-250...+250)="
      Height          =   195
      Left            =   8160
      TabIndex        =   145
      Top             =   9840
      Width           =   2205
   End
   Begin VB.CheckBox Check1 
      Caption         =   "+ X1=X2=0"
      Height          =   195
      Left            =   3360
      TabIndex        =   144
      Top             =   7680
      Width           =   1095
   End
   Begin VB.TextBox Text65 
      Height          =   285
      Left            =   7680
      TabIndex        =   141
      Text            =   "Text65"
      Top             =   7320
      Width           =   1335
   End
   Begin VB.TextBox Text64 
      Height          =   285
      Left            =   7680
      TabIndex        =   140
      Text            =   "Text64"
      Top             =   6960
      Width           =   1335
   End
   Begin VB.TextBox Text63 
      Height          =   285
      Left            =   9870
      TabIndex        =   138
      Text            =   "1"
      Top             =   450
      Width           =   1095
   End
   Begin VB.Frame Frame1 
      Caption         =   "рассчет начальных фаз двух лучей в точках падения их центров на экран"
      Height          =   720
      Left            =   4080
      TabIndex        =   136
      Top             =   9060
      Width           =   6975
      Begin VB.OptionButton Option5 
         Caption         =   "N1=N10-v01*T1+v01*dT N2=N20-v02*T2"
         Height          =   435
         Left            =   4800
         TabIndex        =   172
         Top             =   240
         Width           =   2100
      End
      Begin VB.OptionButton Option4 
         Caption         =   "N1=v01*dT N2=0"
         Height          =   435
         Left            =   3660
         TabIndex        =   171
         Top             =   220
         Width           =   1130
      End
      Begin VB.OptionButton Option3 
         Caption         =   "N1=N10+v01*dT N2=N20"
         Height          =   435
         Left            =   2120
         TabIndex        =   169
         Top             =   240
         Width           =   1510
      End
      Begin VB.OptionButton Option2 
         Caption         =   "N1=v01*dT N2=v02*T2"
         Height          =   435
         Left            =   960
         TabIndex        =   150
         Top             =   240
         Width           =   1155
      End
      Begin VB.OptionButton Option1 
         Caption         =   "N1=N10 N2=N20"
         Height          =   435
         Left            =   60
         TabIndex        =   137
         Top             =   220
         Value           =   -1  'True
         Width           =   920
      End
   End
   Begin VB.TextBox Text62 
      Height          =   285
      Left            =   9480
      TabIndex        =   134
      Text            =   "Text62"
      Top             =   2880
      Width           =   975
   End
   Begin VB.TextBox Text60 
      Height          =   285
      Left            =   1800
      TabIndex        =   130
      Text            =   "Text60"
      Top             =   10920
      Width           =   855
   End
   Begin VB.TextBox Text59 
      Height          =   285
      Left            =   480
      TabIndex        =   129
      Text            =   "Text59"
      Top             =   10920
      Width           =   855
   End
   Begin VB.TextBox Text34 
      Height          =   285
      Left            =   8160
      TabIndex        =   127
      Text            =   "Text34"
      Top             =   8040
      Width           =   1095
   End
   Begin VB.TextBox Text56 
      Height          =   285
      Left            =   10200
      TabIndex        =   125
      Text            =   "3"
      Top             =   3240
      Width           =   735
   End
   Begin VB.CommandButton Command9 
      Caption         =   "Найти Xk - Xn, мкм"
      Height          =   255
      Left            =   2760
      TabIndex        =   123
      Top             =   10920
      Width           =   1695
   End
   Begin VB.TextBox Text55 
      Height          =   285
      Left            =   3480
      TabIndex        =   121
      Text            =   "1"
      Top             =   8760
      Width           =   975
   End
   Begin VB.TextBox Text54 
      Height          =   285
      Left            =   3480
      TabIndex        =   120
      Text            =   "1"
      Top             =   8400
      Width           =   975
   End
   Begin VB.CheckBox Check8 
      Caption         =   "+ закончить расчет через"
      Height          =   195
      Left            =   120
      TabIndex        =   118
      Top             =   9840
      Width           =   2295
   End
   Begin VB.TextBox Text51 
      Height          =   285
      Left            =   2400
      TabIndex        =   113
      Text            =   "20000"
      Top             =   9840
      Width           =   975
   End
   Begin VB.TextBox Text50 
      Height          =   285
      Left            =   7200
      TabIndex        =   112
      Text            =   "1E-2"
      Top             =   9840
      Width           =   735
   End
   Begin VB.TextBox Text46 
      Height          =   285
      Left            =   5280
      TabIndex        =   111
      Text            =   "2"
      Top             =   9840
      Width           =   495
   End
   Begin VB.PictureBox Picture11 
      Height          =   2655
      Left            =   45
      ScaleHeight     =   173
      ScaleMode       =   3  'Пиксель
      ScaleWidth      =   7996
      TabIndex        =   108
      Top             =   4200
      Width           =   1.20000e5
      Begin VB.HScrollBar HScroll5 
         Height          =   135
         Left            =   0
         TabIndex        =   110
         Top             =   2475
         Width           =   10875
      End
      Begin VB.PictureBox Picture10 
         AutoRedraw      =   -1  'True
         BackColor       =   &H8000000E&
         Height          =   2490
         Left            =   0
         ScaleHeight     =   162
         ScaleMode       =   3  'Пиксель
         ScaleWidth      =   15996
         TabIndex        =   109
         Top             =   0
         Width           =   2.40000e5
      End
   End
   Begin VB.TextBox Text49 
      Height          =   285
      Left            =   5880
      TabIndex        =   107
      Text            =   "254"
      Top             =   11280
      Width           =   615
   End
   Begin VB.TextBox Text45 
      Height          =   285
      Left            =   7050
      TabIndex        =   105
      Text            =   "Text45"
      Top             =   7680
      Width           =   1935
   End
   Begin VB.CommandButton Command8 
      Caption         =   "(Yk - Yn) / (Tk - Tn), Vs"
      Height          =   255
      Left            =   2400
      TabIndex        =   103
      Top             =   11640
      Width           =   1935
   End
   Begin VB.TextBox Text44 
      Height          =   285
      Left            =   9030
      TabIndex        =   102
      Text            =   "1"
      Top             =   11280
      Width           =   495
   End
   Begin VB.TextBox Text48 
      Height          =   285
      Left            =   6480
      TabIndex        =   101
      Text            =   "Text48"
      Top             =   10560
      Width           =   975
   End
   Begin VB.TextBox Text47 
      Height          =   285
      Left            =   6480
      TabIndex        =   100
      Text            =   "Text47"
      Top             =   10200
      Width           =   975
   End
   Begin VB.TextBox Text43 
      Height          =   285
      Left            =   7920
      TabIndex        =   99
      Text            =   "0"
      Top             =   11280
      Width           =   495
   End
   Begin VB.TextBox Text42 
      Height          =   285
      Left            =   4560
      TabIndex        =   98
      Text            =   "10"
      Top             =   10920
      Width           =   855
   End
   Begin VB.CheckBox Check5 
      Caption         =   "+ очистить график"
      Height          =   195
      Left            =   9240
      TabIndex        =   97
      Top             =   3540
      Width           =   1815
   End
   Begin VB.CheckBox Check4 
      Caption         =   "+ частота модуляции 1-го"
      Height          =   195
      Left            =   7560
      TabIndex        =   96
      Top             =   840
      Width           =   2295
   End
   Begin VB.CheckBox Check3 
      Caption         =   "+ 2-го лазеров, МГц "
      Height          =   255
      Left            =   7560
      TabIndex        =   95
      Top             =   1080
      Width           =   2295
   End
   Begin VB.TextBox Text30 
      Height          =   285
      Left            =   9960
      TabIndex        =   94
      Text            =   "1000"
      Top             =   765
      Width           =   975
   End
   Begin VB.CommandButton Command4 
      Caption         =   "Продолжить"
      Height          =   255
      Left            =   1200
      TabIndex        =   89
      Top             =   9480
      Width           =   1095
   End
   Begin VB.TextBox Text41 
      Height          =   285
      Left            =   9000
      TabIndex        =   86
      Text            =   "1"
      Top             =   3840
      Width           =   375
   End
   Begin VB.TextBox Text37 
      Height          =   285
      Left            =   4740
      TabIndex        =   84
      Text            =   "0"
      Top             =   8760
      Width           =   1455
   End
   Begin VB.TextBox Text36 
      Height          =   285
      Left            =   4740
      TabIndex        =   83
      Text            =   "0"
      Top             =   8400
      Width           =   1455
   End
   Begin VB.TextBox Text33 
      Height          =   285
      Left            =   9120
      TabIndex        =   77
      Text            =   "Text33"
      Top             =   2160
      Width           =   1815
   End
   Begin VB.TextBox Text32 
      Height          =   285
      Left            =   10200
      TabIndex        =   76
      Text            =   "1E-2"
      Top             =   3840
      Width           =   735
   End
   Begin VB.TextBox Text28 
      Height          =   285
      Left            =   4800
      TabIndex        =   75
      Text            =   "0,1"
      Top             =   7680
      Width           =   495
   End
   Begin VB.TextBox Text27 
      Height          =   285
      Left            =   2040
      TabIndex        =   74
      Text            =   "0"
      Top             =   7680
      Width           =   1335
   End
   Begin VB.TextBox Text26 
      Height          =   285
      Left            =   360
      TabIndex        =   73
      Text            =   "0"
      Top             =   7680
      Width           =   1335
   End
   Begin VB.TextBox Text25 
      Height          =   285
      Left            =   8280
      TabIndex        =   72
      Text            =   "1"
      Top             =   450
      Width           =   1095
   End
   Begin VB.TextBox Text24 
      Height          =   285
      Left            =   8280
      TabIndex        =   70
      Text            =   "0,001"
      Top             =   90
      Width           =   855
   End
   Begin VB.TextBox Text23 
      Height          =   285
      Left            =   10200
      TabIndex        =   56
      Text            =   "0"
      Top             =   1440
      Width           =   735
   End
   Begin VB.TextBox Text22 
      Height          =   285
      Left            =   8520
      TabIndex        =   55
      Text            =   "0"
      Top             =   1440
      Width           =   735
   End
   Begin VB.CommandButton Command3 
      Caption         =   "1 - Преобразовать параметры лучей в ИСО"
      Height          =   255
      Left            =   120
      TabIndex        =   54
      Top             =   8040
      Width           =   3495
   End
   Begin VB.TextBox Text20 
      Height          =   285
      Left            =   6600
      TabIndex        =   53
      Text            =   "Text20"
      Top             =   8040
      Width           =   1095
   End
   Begin VB.TextBox Text18 
      Height          =   285
      Left            =   9840
      TabIndex        =   52
      Text            =   "Text18"
      Top             =   8040
      Width           =   1095
   End
   Begin VB.TextBox Text16 
      Height          =   285
      Left            =   1800
      TabIndex        =   51
      Text            =   "1"
      Top             =   8760
      Width           =   975
   End
   Begin VB.TextBox Text15 
      Height          =   285
      Left            =   1800
      TabIndex        =   50
      Text            =   "1"
      Top             =   8400
      Width           =   975
   End
   Begin VB.TextBox Text13 
      Height          =   285
      Left            =   6120
      TabIndex        =   49
      Text            =   "0"
      Top             =   11640
      Width           =   855
   End
   Begin VB.TextBox Text12 
      Height          =   285
      Left            =   360
      TabIndex        =   48
      Text            =   "95"
      Top             =   8760
      Width           =   855
   End
   Begin VB.TextBox Text11 
      Height          =   285
      Left            =   360
      TabIndex        =   47
      Text            =   "85"
      Top             =   8400
      Width           =   855
   End
   Begin VB.TextBox Text9 
      Height          =   285
      Left            =   5160
      TabIndex        =   46
      Text            =   "10"
      Top             =   6960
      Width           =   1815
   End
   Begin VB.TextBox Text8 
      Height          =   285
      Left            =   9360
      TabIndex        =   45
      Text            =   "10"
      Top             =   7320
      Width           =   1575
   End
   Begin VB.TextBox Text7 
      Height          =   285
      Left            =   9360
      TabIndex        =   44
      Text            =   "10"
      Top             =   6960
      Width           =   1575
   End
   Begin VB.TextBox Text6 
      Height          =   285
      Left            =   3600
      TabIndex        =   43
      Text            =   "1"
      Top             =   7320
      Width           =   1215
   End
   Begin VB.TextBox Text5 
      Height          =   285
      Left            =   3600
      TabIndex        =   42
      Text            =   "1"
      Top             =   6960
      Width           =   1215
   End
   Begin VB.TextBox Text4 
      Height          =   285
      Left            =   1800
      TabIndex        =   41
      Text            =   "1"
      Top             =   7320
      Width           =   1215
   End
   Begin VB.TextBox Text3 
      Height          =   285
      Left            =   1800
      TabIndex        =   40
      Text            =   "1"
      Top             =   6960
      Width           =   1215
   End
   Begin VB.TextBox Text2 
      Height          =   285
      Left            =   360
      TabIndex        =   39
      Text            =   "95"
      Top             =   7320
      Width           =   735
   End
   Begin VB.TextBox Text1 
      Height          =   285
      Left            =   360
      TabIndex        =   38
      Text            =   "85"
      Top             =   6960
      Width           =   735
   End
   Begin VB.CheckBox Check6 
      Caption         =   "рисовать график"
      Height          =   195
      Left            =   7560
      TabIndex        =   35
      Top             =   3540
      Value           =   1  'Отмечено
      Width           =   1695
   End
   Begin VB.TextBox Text19 
      Height          =   285
      Left            =   10440
      TabIndex        =   34
      Text            =   "0"
      Top             =   9840
      Width           =   495
   End
   Begin VB.TextBox Text29 
      Height          =   285
      Left            =   5640
      TabIndex        =   29
      Text            =   "0,1"
      Top             =   7680
      Width           =   495
   End
   Begin VB.Frame Frame4 
      Caption         =   "формула расчета"
      Height          =   720
      Left            =   2355
      TabIndex        =   20
      Top             =   9060
      Width           =   1680
      Begin VB.CheckBox Check7 
         Caption         =   "+ cos"
         Height          =   195
         Left            =   900
         TabIndex        =   173
         Top             =   240
         Width           =   735
      End
      Begin VB.OptionButton Option10 
         Caption         =   "E= E0"
         Height          =   195
         Left            =   60
         TabIndex        =   22
         Top             =   220
         Width           =   735
      End
      Begin VB.OptionButton Option9 
         Caption         =   "E= E0*cos(w*t+Q)"
         Height          =   195
         Left            =   60
         TabIndex        =   21
         Top             =   440
         Value           =   -1  'True
         Width           =   1575
      End
   End
   Begin VB.TextBox Text71 
      Height          =   285
      Left            =   4440
      TabIndex        =   19
      Text            =   "Text71"
      Top             =   11640
      Width           =   975
   End
   Begin VB.TextBox Text69 
      Height          =   285
      Left            =   8400
      TabIndex        =   18
      Text            =   "2"
      Top             =   2880
      Width           =   615
   End
   Begin VB.TextBox Text68 
      Height          =   285
      Left            =   9840
      TabIndex        =   15
      Text            =   "Text68"
      Top             =   2520
      Width           =   1095
   End
   Begin VB.TextBox Text58 
      Height          =   285
      Left            =   9960
      TabIndex        =   11
      Text            =   "Text58"
      Top             =   11280
      Width           =   975
   End
   Begin VB.TextBox Text40 
      Height          =   285
      Left            =   9720
      TabIndex        =   9
      Text            =   "1E-9"
      Top             =   1800
      Width           =   1215
   End
   Begin VB.TextBox Text21 
      Height          =   285
      Left            =   8880
      TabIndex        =   7
      Text            =   "20"
      Top             =   11640
      Width           =   495
   End
   Begin VB.TextBox Text10 
      Height          =   285
      Left            =   5160
      TabIndex        =   6
      Text            =   "10"
      Top             =   7320
      Width           =   1845
   End
   Begin VB.CommandButton Command6 
      Caption         =   "Сохранить рисунок №"
      Height          =   255
      Left            =   6960
      TabIndex        =   4
      Top             =   11640
      Width           =   1815
   End
   Begin VB.CommandButton Command2 
      Caption         =   "Остановить"
      Height          =   255
      Left            =   60
      TabIndex        =   3
      Top             =   9480
      Width           =   1065
   End
   Begin VB.CommandButton Command1 
      Caption         =   "2 - Начать расчет"
      Height          =   255
      Left            =   60
      TabIndex        =   2
      Top             =   9120
      Width           =   2220
   End
   Begin VB.PictureBox Picture1 
      AutoRedraw      =   -1  'True
      BackColor       =   &H8000000E&
      ForeColor       =   &H80000008&
      Height          =   4170
      Left            =   45
      ScaleHeight     =   274
      ScaleMode       =   3  'Пиксель
      ScaleWidth      =   496
      TabIndex        =   1
      Top             =   0
      Width           =   7500
      Begin VB.PictureBox Picture8 
         Height          =   1050
         Left            =   0
         ScaleHeight     =   66
         ScaleMode       =   3  'Пиксель
         ScaleWidth      =   496
         TabIndex        =   30
         Top             =   3120
         Width           =   7500
         Begin VB.HScrollBar HScroll4 
            Height          =   135
            LargeChange     =   2000
            Left            =   0
            Max             =   20000
            SmallChange     =   100
            TabIndex        =   32
            Top             =   840
            Width           =   7425
         End
         Begin VB.PictureBox Picture9 
            AutoRedraw      =   -1  'True
            BackColor       =   &H8000000E&
            Height          =   900
            Left            =   0
            ScaleHeight     =   56
            ScaleMode       =   3  'Пиксель
            ScaleWidth      =   496
            TabIndex        =   31
            Top             =   0
            Width           =   7500
         End
      End
      Begin VB.PictureBox Picture4 
         AutoRedraw      =   -1  'True
         Height          =   1050
         Left            =   0
         ScaleHeight     =   66
         ScaleMode       =   3  'Пиксель
         ScaleWidth      =   496
         TabIndex        =   14
         Top             =   2100
         Width           =   7500
         Begin VB.HScrollBar HScroll3 
            Height          =   135
            LargeChange     =   500
            Left            =   0
            Max             =   20000
            SmallChange     =   10
            TabIndex        =   28
            Top             =   840
            Width           =   7425
         End
         Begin VB.PictureBox Picture7 
            AutoRedraw      =   -1  'True
            BackColor       =   &H8000000E&
            Height          =   900
            Left            =   0
            ScaleHeight     =   56
            ScaleMode       =   3  'Пиксель
            ScaleWidth      =   496
            TabIndex        =   25
            Top             =   0
            Width           =   7500
         End
      End
      Begin VB.PictureBox Picture3 
         AutoRedraw      =   -1  'True
         Height          =   1050
         Left            =   0
         ScaleHeight     =   66
         ScaleMode       =   3  'Пиксель
         ScaleWidth      =   496
         TabIndex        =   13
         Top             =   1050
         Width           =   7500
         Begin VB.HScrollBar HScroll2 
            Height          =   135
            LargeChange     =   500
            Left            =   0
            Max             =   20000
            SmallChange     =   10
            TabIndex        =   27
            Top             =   840
            Width           =   7425
         End
         Begin VB.PictureBox Picture6 
            AutoRedraw      =   -1  'True
            BackColor       =   &H8000000E&
            Height          =   900
            Left            =   0
            ScaleHeight     =   56
            ScaleMode       =   3  'Пиксель
            ScaleWidth      =   496
            TabIndex        =   24
            Top             =   0
            Width           =   7500
         End
      End
      Begin VB.PictureBox Picture2 
         AutoRedraw      =   -1  'True
         Height          =   1050
         Left            =   0
         ScaleHeight     =   66
         ScaleMode       =   3  'Пиксель
         ScaleWidth      =   496
         TabIndex        =   12
         Top             =   0
         Width           =   7500
         Begin VB.HScrollBar HScroll1 
            Height          =   135
            LargeChange     =   500
            Left            =   0
            Max             =   20000
            SmallChange     =   10
            TabIndex        =   26
            Top             =   840
            Width           =   7425
         End
         Begin VB.PictureBox Picture5 
            AutoRedraw      =   -1  'True
            BackColor       =   &H8000000E&
            Height          =   900
            Left            =   0
            ScaleHeight     =   56
            ScaleMode       =   3  'Пиксель
            ScaleWidth      =   496
            TabIndex        =   23
            Top             =   0
            Width           =   7500
         End
      End
   End
   Begin VB.CommandButton Command16 
      Caption         =   "Закрыть форму"
      Height          =   255
      Left            =   9480
      TabIndex        =   0
      Top             =   11640
      Width           =   1455
   End
   Begin VB.Label Label56 
      Caption         =   "Bsr="
      Height          =   255
      Left            =   9600
      TabIndex        =   190
      Top             =   10920
      Width           =   375
   End
   Begin VB.Label Label74 
      Caption         =   "B(Ve), мкм= L1 * L2 / (L1 + L2)="
      Height          =   255
      Left            =   7560
      TabIndex        =   188
      Top             =   10560
      Width           =   2415
   End
   Begin VB.Label Label41 
      Caption         =   "L1= Ve1 / v01="
      Height          =   255
      Left            =   5280
      TabIndex        =   187
      Top             =   10200
      Width           =   1215
   End
   Begin VB.Label Label64 
      Caption         =   "B(Ve), мкм= L1 * L2 / (L1 - L2)="
      Height          =   255
      Left            =   7560
      TabIndex        =   185
      Top             =   10200
      Width           =   2415
   End
   Begin VB.Label Label73 
      Caption         =   "A2p"
      Height          =   255
      Left            =   120
      TabIndex        =   183
      Top             =   10560
      Width           =   375
   End
   Begin VB.Label Label71 
      Caption         =   "A1p"
      Height          =   255
      Left            =   120
      TabIndex        =   182
      Top             =   10200
      Width           =   375
   End
   Begin VB.Label Label70 
      Caption         =   "L01, мкм"
      Height          =   255
      Left            =   9150
      TabIndex        =   178
      Top             =   120
      Width           =   735
   End
   Begin VB.Label Label67 
      Caption         =   "B(Ap), мкм= L0 / (A2p - A1p)="
      Height          =   255
      Left            =   1440
      TabIndex        =   177
      Top             =   10560
      Width           =   2295
   End
   Begin VB.Label Label40 
      Caption         =   "B(Ap), мкм= L0 / (sin(A2p) - sin(A1p))="
      Height          =   255
      Left            =   1440
      TabIndex        =   176
      Top             =   10200
      Width           =   2895
   End
   Begin VB.Label Label27 
      Caption         =   "N20 - N10"
      Height          =   255
      Left            =   9060
      TabIndex        =   167
      Top             =   7680
      Width           =   735
   End
   Begin VB.Label Label26 
      Caption         =   "dN=f(x)"
      Height          =   255
      Left            =   9300
      TabIndex        =   165
      Top             =   8400
      Width           =   615
   End
   Begin VB.Label Label72 
      Caption         =   "dN(t)=v01*dT"
      Height          =   255
      Left            =   3720
      TabIndex        =   163
      Top             =   8040
      Width           =   975
   End
   Begin VB.Label Label66 
      Caption         =   "dN2"
      Height          =   255
      Left            =   7800
      TabIndex        =   162
      Top             =   8400
      Width           =   375
   End
   Begin VB.Label Label65 
      Caption         =   "dN1"
      Height          =   255
      Left            =   6240
      TabIndex        =   161
      Top             =   8400
      Width           =   375
   End
   Begin VB.Label Label49 
      Caption         =   "N2-N1"
      Height          =   255
      Left            =   9360
      TabIndex        =   158
      Top             =   8760
      Width           =   615
   End
   Begin VB.Label Label37 
      Caption         =   "Ф/ Ф0"
      Height          =   255
      Left            =   5520
      TabIndex        =   156
      Top             =   11640
      Width           =   615
   End
   Begin VB.Label Label34 
      Caption         =   "Yk="
      Height          =   255
      Left            =   1320
      TabIndex        =   154
      Top             =   11640
      Width           =   375
   End
   Begin VB.Label Label33 
      Caption         =   "Yn="
      Height          =   255
      Left            =   120
      TabIndex        =   151
      Top             =   11640
      Width           =   375
   End
   Begin VB.Label Label69 
      Caption         =   "N2(i)"
      Height          =   255
      Left            =   7800
      TabIndex        =   148
      Top             =   8760
      Width           =   375
   End
   Begin VB.Label Label68 
      Caption         =   "N1(i)"
      Height          =   255
      Left            =   6240
      TabIndex        =   146
      Top             =   8760
      Width           =   375
   End
   Begin VB.Label Label63 
      Caption         =   "v02*T2"
      Height          =   255
      Left            =   7080
      TabIndex        =   143
      Top             =   7320
      Width           =   615
   End
   Begin VB.Label Label62 
      Caption         =   "v01*T1"
      Height          =   255
      Left            =   7080
      TabIndex        =   142
      Top             =   6960
      Width           =   495
   End
   Begin VB.Label Label59 
      Caption         =   "v02"
      Height          =   255
      Left            =   9480
      TabIndex        =   139
      Top             =   480
      Width           =   375
   End
   Begin VB.Label Label58 
      Caption         =   "мкм"
      Height          =   255
      Left            =   10560
      TabIndex        =   135
      Top             =   2880
      Width           =   375
   End
   Begin VB.Label Label50 
      Caption         =   "и B="
      Height          =   255
      Left            =   9120
      TabIndex        =   133
      Top             =   2880
      Width           =   495
   End
   Begin VB.Label Label55 
      Caption         =   "Xk="
      Height          =   255
      Left            =   1440
      TabIndex        =   132
      Top             =   10920
      Width           =   375
   End
   Begin VB.Label Label54 
      Caption         =   "Xn="
      Height          =   255
      Left            =   120
      TabIndex        =   131
      Top             =   10920
      Width           =   375
   End
   Begin VB.Label Label53 
      Caption         =   " * B ="
      Height          =   375
      Left            =   9510
      TabIndex        =   128
      Top             =   11280
      Width           =   495
   End
   Begin VB.Label Label52 
      Caption         =   "N1"
      Height          =   255
      Left            =   6330
      TabIndex        =   126
      Top             =   8040
      Width           =   375
   End
   Begin VB.Label Label48 
      Caption         =   "интерференция на картинке №"
      Height          =   255
      Left            =   7680
      TabIndex        =   124
      Top             =   3240
      Width           =   2535
   End
   Begin VB.Label Label51 
      Caption         =   "Ve2/Vs"
      Height          =   255
      Left            =   2880
      TabIndex        =   122
      Top             =   8760
      Width           =   615
   End
   Begin VB.Label Label28 
      Caption         =   "Ve1/Vs"
      Height          =   255
      Left            =   2880
      TabIndex        =   119
      Top             =   8400
      Width           =   615
   End
   Begin VB.Label Label47 
      Caption         =   "ширина картинок B * N, мкм"
      Height          =   375
      Left            =   7560
      TabIndex        =   117
      Top             =   2520
      Width           =   2235
   End
   Begin VB.Label Label46 
      Caption         =   " шагов в интервале при"
      Height          =   255
      Left            =   3360
      TabIndex        =   116
      Top             =   9840
      Width           =   1935
   End
   Begin VB.Label Label45 
      Caption         =   " с"
      Height          =   255
      Left            =   7920
      TabIndex        =   115
      Top             =   9840
      Width           =   255
   End
   Begin VB.Label Label44 
      Caption         =   " интервалах через"
      Height          =   255
      Left            =   5760
      TabIndex        =   114
      Top             =   9840
      Width           =   1455
   End
   Begin VB.Label Label43 
      Caption         =   "Положение полосы в долях значения B(Ap) искать при освещенности = >"
      Height          =   255
      Left            =   120
      TabIndex        =   106
      Top             =   11280
      Width           =   5775
   End
   Begin VB.Label Label31 
      Caption         =   "dT=T2 - T1"
      Height          =   255
      Left            =   6210
      TabIndex        =   104
      Top             =   7680
      Width           =   855
   End
   Begin VB.Label Label39 
      Caption         =   "N2"
      Height          =   255
      Left            =   7890
      TabIndex        =   93
      Top             =   8040
      Width           =   375
   End
   Begin VB.Label Label38 
      Caption         =   "N2-N1"
      Height          =   255
      Left            =   9360
      TabIndex        =   92
      Top             =   8040
      Width           =   615
   End
   Begin VB.Label Label36 
      Caption         =   "V2/Vs"
      Height          =   255
      Left            =   1290
      TabIndex        =   91
      Top             =   8760
      Width           =   495
   End
   Begin VB.Label Label35 
      Caption         =   "V1/Vs"
      Height          =   255
      Left            =   1290
      TabIndex        =   90
      Top             =   8400
      Width           =   615
   End
   Begin VB.Label Label30 
      Caption         =   " масштаб, ML= 1 :"
      Height          =   255
      Left            =   7560
      TabIndex        =   88
      Top             =   3840
      Width           =   1455
   End
   Begin VB.Label Label29 
      Caption         =   "A2"
      Height          =   255
      Left            =   120
      TabIndex        =   87
      Top             =   8760
      Width           =   375
   End
   Begin VB.Label Label25 
      Caption         =   "X2"
      Height          =   255
      Left            =   4530
      TabIndex        =   85
      Top             =   8760
      Width           =   375
   End
   Begin VB.Label Label24 
      Caption         =   "X1"
      Height          =   255
      Left            =   4530
      TabIndex        =   82
      Top             =   8400
      Width           =   255
   End
   Begin VB.Label Label23 
      Caption         =   "Y2"
      Height          =   255
      Left            =   5400
      TabIndex        =   81
      Top             =   7680
      Width           =   255
   End
   Begin VB.Label Label22 
      Caption         =   "Y1"
      Height          =   255
      Left            =   4560
      TabIndex        =   80
      Top             =   7680
      Width           =   375
   End
   Begin VB.Label Label21 
      Caption         =   "X2"
      Height          =   255
      Left            =   1800
      TabIndex        =   79
      Top             =   7680
      Width           =   375
   End
   Begin VB.Label Label20 
      Caption         =   "X1"
      Height          =   255
      Left            =   120
      TabIndex        =   78
      Top             =   7680
      Width           =   375
   End
   Begin VB.Label Label19 
      Caption         =   "v01, МГц"
      Height          =   255
      Left            =   7560
      TabIndex        =   71
      Top             =   480
      Width           =   735
   End
   Begin VB.Label Label18 
      Caption         =   "Vs, км/с"
      Height          =   255
      Left            =   7560
      TabIndex        =   69
      Top             =   120
      Width           =   735
   End
   Begin VB.Label Label17 
      Caption         =   "v2/v01"
      Height          =   255
      Left            =   1200
      TabIndex        =   68
      Top             =   7320
      Width           =   615
   End
   Begin VB.Label Label15 
      Caption         =   "v1/v01"
      Height          =   255
      Left            =   1200
      TabIndex        =   67
      Top             =   6960
      Width           =   615
   End
   Begin VB.Label Label13 
      Caption         =   "A2"
      Height          =   255
      Left            =   120
      TabIndex        =   66
      Top             =   7320
      Width           =   255
   End
   Begin VB.Label Label12 
      Caption         =   "A1"
      Height          =   255
      Left            =   120
      TabIndex        =   65
      Top             =   6960
      Width           =   375
   End
   Begin VB.Label Label11 
      Caption         =   "T2"
      Height          =   255
      Left            =   4920
      TabIndex        =   64
      Top             =   7320
      Width           =   255
   End
   Begin VB.Label Label10 
      Caption         =   "T1"
      Height          =   255
      Left            =   4920
      TabIndex        =   63
      Top             =   6960
      Width           =   375
   End
   Begin VB.Label Label9 
      Caption         =   "N20"
      Height          =   255
      Left            =   9000
      TabIndex        =   62
      Top             =   7320
      Width           =   375
   End
   Begin VB.Label Label8 
      Caption         =   "N10"
      Height          =   255
      Left            =   9000
      TabIndex        =   61
      Top             =   6960
      Width           =   375
   End
   Begin VB.Label Label7 
      Caption         =   "V2/Vs"
      Height          =   255
      Left            =   3120
      TabIndex        =   60
      Top             =   7320
      Width           =   615
   End
   Begin VB.Label Label6 
      Caption         =   "V1/Vs"
      Height          =   255
      Left            =   3120
      TabIndex        =   59
      Top             =   6960
      Width           =   495
   End
   Begin VB.Label Label5 
      Caption         =   "VYiso, км/с"
      Height          =   255
      Left            =   9300
      TabIndex        =   58
      Top             =   1440
      Width           =   975
   End
   Begin VB.Label Label3 
      Caption         =   "VXiso, км/с"
      Height          =   255
      Left            =   7590
      TabIndex        =   57
      Top             =   1440
      Width           =   975
   End
   Begin VB.Label Label2 
      Caption         =   "и в интервале от"
      Height          =   255
      Left            =   6600
      TabIndex        =   37
      Top             =   11280
      Width           =   1335
   End
   Begin VB.Label Label1 
      Caption         =   "* B  до"
      Height          =   255
      Left            =   8490
      TabIndex        =   36
      Top             =   11280
      Width           =   615
   End
   Begin VB.Label Label14 
      Caption         =   "MT, с/см"
      Height          =   255
      Left            =   9480
      TabIndex        =   33
      Top             =   3840
      Width           =   735
   End
   Begin VB.Label Label61 
      Caption         =   "при N / 2="
      Height          =   255
      Left            =   7560
      TabIndex        =   17
      Top             =   2880
      Width           =   855
   End
   Begin VB.Label Label57 
      Caption         =   "L2= Ve2 / v02="
      Height          =   255
      Left            =   5280
      TabIndex        =   16
      Top             =   10560
      Width           =   1335
   End
   Begin VB.Label Label32 
      Caption         =   "текущее время T, с"
      Height          =   255
      Left            =   7560
      TabIndex        =   10
      Top             =   2160
      Width           =   1695
   End
   Begin VB.Label Label16 
      Caption         =   "A1"
      Height          =   255
      Left            =   120
      TabIndex        =   8
      Top             =   8400
      Width           =   255
   End
   Begin VB.Label Label4 
      Caption         =   "шаг решения уравнений, с"
      Height          =   255
      Left            =   7560
      TabIndex        =   5
      Top             =   1800
      Width           =   2295
   End
End
Attribute VB_Name = "Form3"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Private Sub Form_Load() ' это форма интерференции
'Picture1.BackColor = RGB(255, 255, 255) ' вместо RGB(255, 255, 255) можно задать &H8000000E это контейнер для контейнеров 2,3,4, 8
Picture5.BackColor = RGB(255, 255, 255): Picture5.Print "№ 1" '&H8000000E                    это рисунок картинки 1
Picture6.BackColor = RGB(255, 255, 255): Picture6.Print "№ 2" '&H8000000E                    это рисунок картинки 2
Picture7.BackColor = RGB(255, 255, 255): Picture7.Print "№ 3" '&H8000000E                    это рисунок картинки 3
Picture9.BackColor = RGB(255, 255, 255) '&H8000000E                                          это график
Picture10.BackColor = RGB(255, 255, 255)
End Sub

Private Sub Form_Activate()
If Form1.Timer1.Enabled = True Then Form1.Timer1.Enabled = False
Tk1(15) = 2: Tn1(15) = 1 '                     это, чтобы не было ошибки при расчете скорости, если не заданы две точки
End Sub

Private Sub Command3_Click() '                                        преобразовать параметры лучей в ИСО экрана
On Error GoTo 80
Vs = Text24.Text * 1000 '                                             скорость света в воздухе в м/с
v0 = Text25.Text * 10 ^ 6: v00 = Text63.Text * 10 ^ 6 '               исходная частота 1-го и 2-го источника сигнала
VXiso = Text22.Text * 1000: VYiso = Text23.Text * 1000 '              скорости экрана, т.е. ИСО, по осям координат (если схема Майкельсона,
'                                                                     то все параметры получены при повороте углов на 90 градусов)
Q1aso = Text1.Text / kUgol: Q2aso = Text2.Text / kUgol '              углы скоростей при касании экрана в АСО
v1(1) = Text3.Text * v0: v1(2) = Text4.Text * v0 '                    частота света двух лучей при их падении на экран (уже в ИСО экрана,
'                                                                                              если на форме 4 учитывался эффект Доплера)
V(1) = Text5.Text * Vs: V(2) = Text6.Text * Vs '                      суммарные скорости лучей в АСО при их падении на экран
G1 = Text7.Text: G2 = Text8.Text '                                    количество колебаний света в лучах до их встречи с экраном
T1 = Text9.Text: T2 = Text10.Text '                                   время прихода лучей к экрану
X1aso = Text26.Text: X2aso = Text27.Text '                            координаты лучей в АСО по оси Х при их касании экрана (в их моменты времени)
Y1aso = Text28.Text: Y2aso = Text29.Text '                            координаты лучей в АСО по оси Y при их касании экрана

X1iso = X1aso - VXiso * T1: X2iso = X2aso - VXiso * T2 '              преобразуем координаты обоих лучей из АСО в ИСО экрана
Y1iso = Y1aso - VYiso * T1: Y2iso = Y2aso - VYiso * T2 '              для моментов касания ими экрана
' VXiso * T1 и VXiso * T2 это расстояния на которые сдвинется в АСО центр экрана, где принято, что Xiso=0. Считаем, что Т2 > T1 и при
' этом, если 1-ый луч вылетит из лазера позже на время dT, чтобы прилететь на экран тоже в момент времени Т2, то все равно центр ИСО,
' т.е. центр экрана, сдвинется на расстояние VXiso * T1, т.к. в момент dT его координата в АСО будет VXiso * dT и координата лазера
' будет VXiso * dT, т.е. относительно ИСО его точка падения в АСО, т.е. координата X1aso, полученная при моделировании процесса, будет
'                                                                 находится при VXiso > 0 левее центра экрана на расстояние VXiso * T1.
VX1iso = V(1) * Cos(Q1aso) - VXiso: VY1iso = V(1) * Sin(Q1aso) - VYiso '     скорости лучей по осям координат в ИСО экрана
VX2iso = V(2) * Cos(Q2aso) - VXiso: VY2iso = V(2) * Sin(Q2aso) - VYiso '    (для расчета интерференции на этой форме)
Q1iso = ArcTangensR(VX1iso, VY1iso) '                                        угол скорости 1-го луча в ИСО экрана
Q2iso = ArcTangensR(VX2iso, VY2iso) '                                        угол скорости 2-го луча в ИСО экрана
V(11) = Sqr(VX1iso ^ 2 + VY1iso ^ 2): V(21) = Sqr(VX2iso ^ 2 + VY2iso ^ 2) ' суммарные скорости лучей в ИСО экрана
W(10) = 2 * pi * v0: W(20) = 2 * pi * v00 '                                             круговая частота даух лазеров
W(1) = 2 * pi * v1(1): W(2) = 2 * pi * v1(2)  '                                         круговая частота лучей света при касание экрана
Ve1 = MK * MK * V(11): Ve2 = MK * MK * V(21) '                 если угол равен ровно 90 то будет деление на ноль и скорость зайчика для
If Abs(Q1 - pi / 2) > 0.000001 Then Ve1 = V(11) / Cos(Q1iso) ' плоской волны будет равна бесконечности. Поэтому РАССЧИТЫВАЕМ СКОРОСТИ
If Abs(Q2 - pi / 2) > 0.000001 Then Ve2 = V(21) / Cos(Q2iso) ' ЗАЙЧИКОВ ДВУХ ЛУЧЕЙ В ПЛОСКОСТИ ЭКРАНА только, если не будет деления на ноль

Text54.Text = Fix(MK * Ve1 / Vs) / MK: Text55.Text = Fix(MK * Ve2 / Vs) / MK
Text11.Text = Q1iso * kUgol: Text12.Text = Q2iso * kUgol '              углы скоростей в ИСО экрана при касании экрана
Text15.Text = V(11) / Vs: Text16.Text = V(21) / Vs '                    суммарные скорости лучей на текущем участке пути в ИСО экрана
Text36.Text = Fix(MK * MK * X1iso) / MK / MK: Text37.Text = Fix(MK * MK * X2iso) / MK / MK ' координаты лучей по оси Х при касании экрана
dT = T2 - T1: Text45.Text = T2 - T1 '                      разность затраченного лучами времени с момента вылета из лазера до их касания экрана
Text20.Text = Fix(MK * G1) / MK: Text34.Text = Fix(MK * G2) / MK ' количество колебаний света в лучах до момента касания ими экрана
Text39.Text = Fix(MK * (G2 - G1)) / MK '                           разность количества колебаний света в лучах до момента касания ими экрана
Text79.Text = Fix(MK * v0 * dT) / MK '                             количество колебаний света за время dT
GoTo 100
80: MsgBox "Введите правильно данные", , "Maikelson"
100: End Sub

Private Sub Command1_Click() '                                  нарисовать интерференционную картину
On Error GoTo 80
Vs = Text24.Text * 1000 '                                       скорость света в воздухе в м/с
v0 = Text25.Text * 10 ^ 6: v00 = Text63.Text * 10 ^ 6 '         исходная частота источников сигнала (1-го и 2-го лазеров)
Q1 = Text11.Text / kUgol: Q2 = Text12.Text / kUgol '            углы скоростей в ИСО при касании экрана
v1(1) = Text3.Text * v0: v1(2) = Text4.Text * v0 '              частота света в лучах при их падении на экран
v1(21) = 0: v1(22) = 0: W(21) = 0: W(22) = 0
If Check4.Value = 1 Then '                                      если задать частоту генератора, питающего импульсный лазер 1
v1(21) = Text30.Text * MK: W(21) = 2 * pi * v1(21) '
End If
If Check3.Value = 1 Then '                                      если модулировать и сигнал 2-го лазера
v1(22) = Text70.Text * MK: W(22) = 2 * pi * v1(22) '
End If
V(11) = Text15.Text * Vs: V(21) = Text16.Text * Vs '            суммарные скорости лучей в ИСО экрана
Ve1 = Text54.Text * Vs: Ve2 = Text55.Text * Vs '                скорости "солнечных зайчиков" напряженностей лучей в ИСО экрана
X1iso = Text36.Text: X2iso = Text37.Text '                      координаты лучей по оси Х при их касании экрана в одно и тоже (или разное) время
G1 = Text7.Text: G2 = Text8.Text '                              количество колебаний света в лучах до их касания экрана
P0 = Text40.Text: MT = Text32.Text / 2 '                        шаг решения и масштаб времени (/2 потому что вертикальные линии рисуются через 20 пикселя)
jj = Text41.Text '                                              коэфф. увеличения размеров картинки
Nn = Text43.Text: Nk = Text44.Text '                            номера сетки полос между которыми будет искаться положение полосы
N = Text69.Text: Vmax = Text49.Text '                           количество полос на пол экрана и минимальная освещенность полос для регистрации
NC0 = 1
If N > 0 Then GoTo 5
MsgBox "Увеличьте количество полос", , "Maikelson": Exit Sub
5: NP = Text56.Text '                                           номер картинки для вывода расчета интерференции

On Error GoTo 90
m1 = Ve1 / v1(1): m2 = Ve2 / v1(2) '                  длина волны зайчиков напряженности движущихся по экрану
If Abs(m1) > 100 * Abs(m2) Then m = m2 ' если первый луч падает почти перпендикулярно экрану, то шаг полос определиться по m2, т.к. в плоскости экрана
If Abs(m2) > 100 * Abs(m1) Then m = m1 ' его длина волны будет равна бесконечности (и тоже самое, если перпендикулярно падает второй луч)
Text47.Text = Fix(MK * MK * m1) / MK
Text48.Text = Fix(MK * MK * m2) / MK
Text80.Text = Fix(MK * MK * m1 * m2 / (m1 - m2)) / MK ' шаг обычных или составных полос в мкм
If m1 <> -m2 Then Text35.Text = Fix(MK * MK * m1 * m2 / (m1 + m2)) / MK

a = Q1 - pi / 2: b = Q2 - pi / 2: c = Vs / v0: Text67.Text = Fix(MK * MK * c) / MK ' длина волны лазера в мкм
Text72.Text = Fix(MK * a * kUgol) / MK '                                             угол падения 1-го луча
Text77.Text = Fix(MK * b * kUgol) / MK '                                             угол падения 2-го луча
m = c / Abs(Sin(b) - Sin(a)): Text14.Text = Fix(MK * MK * m) / MK '   на рисунках и в расчетах изначально будет это расстояние между полосами
Text61.Text = Fix(MK * MK * c / Abs(b - a)) / MK '                    расстояние между полосами по упрощенной формуле

If Check14.Value = 1 Then m = Text42.Text / MK ' если использовать расстояние между полосами с рисунка
Text62.Text = Fix(MK * MK * m) / MK '            шаг полос в мкм для расчета размеров экрана
Text68.Text = Fix(MK * MK * m * 2 * N) / MK '    размер экрана по горизонтали в мкм при масштабе 1:1, т.е. без увеличения изображения

If Check6.Value = 1 Then '                                           если построить график
If Check5.Value = 1 Then Picture10.Cls '                             если очистить график
Picture10.Scale (-2, 1.02)-(1600, -0.02) ' Picture10.Wight=16000 пикселей, т.е. одна еденица моего графика по горизонтали будет 10 пикселей
For i = 0 To 1600 Step 2 ' X
For j = 0 To 10 '          Y
Picture10.Line (0, j / 10)-(1600, j / 10), RGB(220, 220, 220)
Picture10.Line (i, 0)-(i, 1), RGB(220, 220, 220)
If j / 2 - Fix(j / 2) < 0.4 Then
Picture10.CurrentX = -2: Picture10.CurrentY = j / 10 + 0.05: Picture10.Print j / 10
Picture10.Line (0, j / 10)-(1600, j / 10), RGB(150, 150, 150)
End If
Next j
Next i
For i = 0 To 1600 Step 20 ' X
Picture10.Line (i, 0)-(i, 1), RGB(150, 150, 150)
Picture10.CurrentX = i - 0.2: Picture10.CurrentY = 0.1: Picture10.Print i / 2
Next i
Picture10.Line (0, 0)-(1600, 0), 1: Picture10.Line (0, -0.2)-(0, 1.2), 1
End If

If 500 * jj < 32767 Then GoTo 7
Info = "Ширина картинки не может быть" & vbCrLf
Info = Info & "     больше 32767 пикселей"
MsgBox Info, , "Dopler5": Exit Sub

7:
If NP = 1 Then
Picture5.Cls
Picture5.Width = 500 * jj '                         на форме реальная ширина картинки (без увеличения размеров) равна 500 пикселей
Picture5.Scale (-N * m, m)-(N * m, 0) '             а ScaleWidth почему-то получается 496
For j = -N To N
Picture5.Line (j * m, 0)-(j * m, m), RGB(0, 0, 250)
Picture5.CurrentX = j * m: Picture5.CurrentY = m: Picture5.Print j
Next j
End If
If NP = 2 Then
Picture6.Cls
Picture6.Width = 500 * jj
Picture6.Scale (-N * m, m)-(N * m, 0)
For j = -N To N
Picture6.Line (j * m, 0)-(j * m, m), RGB(0, 0, 250)
Picture6.CurrentX = j * m: Picture6.CurrentY = m: Picture6.Print j
Next j
End If
If NP = 3 Then
Picture7.Cls
Picture7.Width = 500 * jj
Picture7.Scale (-N * m, m)-(N * m, 0)
For j = -N To N
Picture7.Line (j * m, 0)-(j * m, m), RGB(0, 0, 250)
Picture7.CurrentX = j * m: Picture7.CurrentY = m: Picture7.Print j
Next j
End If


If Option1.Value = True Then '       здесь принимаем, что количество колебаний света в обоих лучах подсчитано при моделировании,
End If '                             т.е так и остается N1=N10 и N2=N20 при том, что эти фазы будут у лучей в разные моменты времени

If Option2.Value = True Then '       если количество колебаний света в обоих лучах рассчитать по времени их движения до экрана. Здесь
G1 = Text64.Text: G2 = Text65.Text ' тоже эти фазы будут у лучей в разные моменты времени (эти значения уже рассчитаны выше)
End If

If Option3.Value = True Then '                принимаем, что N2 остается равным N20, а количество колебаний света 1-го луча рассчитываем
G1 = G1 + v0 * dT '                  Да, за время dT, в которое вылетит фронт 1-го луча, который долетит до приемника одновременно со 2-м
End If '                             лучом, лазер сместится, но сместится и приемник. Поэтому количество колебаний света в 1-м луче на
'                                    этом пути (N10 рассчитанное в эксперименте) останется неизменным

If Option4.Value = True Then '       здесь принимаем, что фронт света в 1-м луче с фазой v0 * dT долетит до экрана в тоже время Т2 что и
G1 = v0 * dT: G2 = 0 '               фронт 2-го луча вылетевший в момент времени Т=0 с фазой равной нулю
End If

If Option5.Value = True Then '                       очень сложный вариант расчета, но именно он дает правильное направление смещения
G1 = G1 - v0 * T1 + v0 * dT: G2 = G2 - v0 * T2 '     полос как при влияние плотности на скорость света, так и при влияние на его частоту,
End If '                                             но смещения полос получаются очень большими, т.е. примерно как и в вариантах 1, 2 и 4
Text20.Text = G1: Text34.Text = G2
Text18.Text = Fix((G2 - G1) * MK) / MK '   разность количества колебаний света в лучах до момента касания лучами экрана

If Check1.Value = 1 Then X1iso = 0
If Check1.Value = 1 Then X2iso = 0
Text75.Text = Fix(X1iso * v1(1) * MK / Ve1) / MK: Text76.Text = Fix(X2iso * v1(2) * MK / Ve2) / MK '   dN1   dN2
Text38.Text = Fix((X2iso * v1(2) / Ve2 - X1iso * v1(1) / Ve1) * MK) / MK '                    dN(x)=dN2-dN1

jjj = Text46.Text '                     количество интервалов (точек) которое надо рассчитать
dL = Text50.Text '                      промежуток времени между интервалами в секундах
kkk = Text51.Text '                     продолжительность одного интервала в шагах решения уравнений
pp = Text19.Text '                      номер участка на экране (от -250 до +250) для которого надо показать Q1, Q2, dT1 и dT2
ObsB = 0: ObsL = 0 '                    суммарная энергия в двух лучах и суммарная светимости полос за неопределенный промежуток времени

For iii = 1 To jjj '                    если не будет расчета нескольких интервалов по kkk шагов, то расчет будет идти постоянно при iii=1
T = (iii - 1) * dL: NC = 0: kk = 0: wPic = 0: GMST = 0 'Vsum = 0:
kodEnd = 0: kodDMY = 0 ' значит не остановить расчет и не рассчитывать среднее положение полосы, если пока не засекли положение хоть одной полосы

If Check2.Value = 1 Then kodEnd = 1 '        если остановить расчет после картинки полученной в начальный момент времени  для заданного i
Kartinka
Next iii

GoTo 100
80: MsgBox "Введите правильно данные", , "Maikelson": Exit Sub
90: MsgBox "Ошибка в расчете начальных данных", , "Maikelson": Exit Sub
100: End Sub

Private Sub Kartinka()
On Error GoTo 90
'        МЫ ИМЕЕМ координаты двух лучей Х(1) и Х(2), когда их центры падают на экран одновременно (или в разное время Т1 и Т2) и
'        количество колебаний света в лучах в эти моменты времени G1 и G2, а так же скорости солнечных зайчиков Ve1 и Ve1 с которыми
'        они от этих координат Х(1) и Х(2) движутся один вправо, а другой влево (может быть и движение в одну сторону)
'        ЗАДАЕМ время T = 0 и от количества колебаний оставляем только фазу, т.е. дробную часть от общего количества колебаний
'        И РАССЧИТЫВАЕМ напряженность поля у зайчиков во всех точках экрана с учетом времени движения зайчиков до этих точек
10: '                                сюда возвращаемся после того, как картинки для времени Т нарисованы

If NC = 0 Then
Picture9.Cls '            а картинки 5, 6 и 7 не надо очищать, т.к. там заполняется новым рисунком все поле
Picture9.Width = 500 * jj
Picture9.Scale (-N * m, m)-(N * m, 0)
For j = -N To N
Picture9.Line (j * m, 0)-(j * m, m), RGB(0, 0, 250)
Picture9.CurrentX = j * m: Picture9.CurrentY = m: Picture9.Print j
Next j
End If

NC = NC + 1
a = 0: b = 0: c = 0: TAU = 0: hPic = 0 ': Vsum = 0 :IGold=0: IGnew=0  если их обнулить, то не успеешь считать значения в текстбоксе
kodR = 0 '                                           начинаем искать освещенность больше минимально заданной

For i = -250 * jj To 250 * jj '               видимая ширина картинки 500 пикселей и шаг расчета будет при одинарной точности 1 пиксель
'                                                           ТЕОРИЯ ИНТЕРФЕРЕНИИ С УЧЕТОМ ПАДЕНИЯ ЛУЧЕЙ В РАЗНЫЕ ТОЧКИ ЭКРАНА
X(1) = (i * N * m / 250 / jj) '                         расстояние пройденное солнечными зайчиками напряженности лучей (в метрах) от средней
'                                                       точки картинки, где X(1)=0, до точки расчета суммарной напряженности лучей
TT(1) = (X(1) - X1iso) / Ve1 '                время за которое зайчик 1-го луча от точки падения достигнет точки с заданной координатой X(1)
Q31 = 2 * pi * G1 + W(1) * (T - TT(1)) '      суммарная фаза 1-го луча в данной точке экрана (если точка находится дальше от точки падения луча,
'                                             то до нее в текущий момент времени Т дошел зайчик, который начал движение реньше, т.е. от луча,
'                                             который в среднюю точку упал раньше текущего времени Т и его фаза будет меньше, чем у зайчика,
'                                             который в момент времени Т находится в точке падения луча)
TT(2) = (X(1) - X2iso) / Ve2 '                  время за которое ЗАЙЧИК 2-го луча от точки падения достигнет точки с заданной координатой X(1)
Q32 = 2 * pi * G2 + W(2) * (T - TT(2))   '      суммарная фаза 2-го луча в данной точке экрана, где положительное значение TT(2) означает то,
'                                               что зайчику надо от места падения 2-го луча долететь по ходу движения зайчика до точки X(1) и
'                                               поэтому он должен прилететь к экрану раньше, чтобы в текущий момент времени Т оказаться в этой
'                                               точке X(1), а следовательно его фаза будет меньше, чем у зайчика в месте падения луча 2

If i = pp Then '                                вывести параметры для заданного значения pp
Text73.Text = Fix(Q31 * kUgol * MK / 360) / MK: Text74.Text = Fix(Q32 * kUgol * MK / 360) / MK 'это будут N1 и N2 для i = pp
Text57.Text = Fix((Q32 - Q31) * kUgol * MK / 360) / MK: pp = 30000
End If

a = Cos(W(21) * T) * 7.985  ' максимальная амплитуда напряженности 1-го и 2-го лучей в данной точке, где 7.985 дает суммарную яркость двух лучей RGB=255
b = Cos(W(22) * T) * 7.985  ' с учетом частоты модуляции сигналов W(21) и  W(22), которая отсчитывается тоже от времени Т, но наверное надо бы от времени на источнике

ObsB = ObsB + P0 * ((a * Cos(Q31)) ^ 2 + (b * Cos(Q32)) ^ 2) ' энергия излучения, как освещенность экрана от падающих на него двух некогерентных лучей

If Option10.Value = True Then c = a ^ 2 + b ^ 2 + 2 * Sqr((a ^ 2) * (b ^ 2)) * Cos(Q32 - Q31) ' суммарная освещенность в данной точке экрана
'                                                                                               (дает статическую картинку)
If Option9.Value = True Then
a = a * Cos(Q31): b = b * Cos(Q32) ' текущие значения напряженностей 2-х лучей в данной точке экрана
c = a ^ 2 + b ^ 2 + 2 * a * b '      суммарная освещенность в данной точке экрана по формуле Сергея Цикра
If Check7.Value = 1 Then c = a ^ 2 + b ^ 2 + 2 * Sqr((a ^ 2) * (b ^ 2)) * Cos(Q32 - Q31) ' по формуле из учебника (1-3), но с текущими a и b
End If '

ObsL = ObsL + P0 * c '               энергия освещенности полос, как интеграл суммарной мощности излучения умноженной на время

If Check9.Value = 0 Then '                                если определять положение одной самой яркой полосы (даже при составных полосах)
If Nk - Nn < 1.5 Then '                                   если определяем положение одной полосы в одном интервале полосы
If i > Nn * 250 * jj / N And i < Nk * 250 * jj / N Then ' здесь N это уже N/2, т.е. количество полос на половине экрана, а Nn и Nk
If c > Vmax And kodR = 0 Then '                           это номера начала и конца интервала, где искать положение полосы
IGold = i: kodR = 1  '                                    запоминаем номер пикселя (от середины картинки), где освещенность стала больше Vmax
End If
If c < Vmax And kodR = 1 Then
IGnew = i - 1: kodR = 2 '        запоминаем предыдущий номер пикселя (от середины картинки), от того, где освещенность стала меньше Vmax
Vsum = (IGold + IGnew) / 2  '    вычисляем среднее значение пикселей, которое соответствует середине полосы
kodDMY = 1 '                     теперь это новое значение Vsum можно использовать в расчете GMST и ObsLMST для средних значений
End If
End If
End If 'Nk - Nn < 1.5
End If 'Check9.Value = 0

If Check9.Value = 1 Then ' если определяем положение центра составной полосы по положению отдельных полос в одном или нескольких интервалах полос
If i > Nn * 250 * jj / N And i < Nk * 250 * jj / N Then ' здесь N это уже N/2, т.е. количество полос на половине экрана, а Nn и Nk
If c > Vmax And kodR = 0 Then '                           это номера начала и конца интервала, где искать положение полосы
IGold = i: kodR = 1  '                                    запоминаем номер пикселя (от середины картинки), где освещенность стала больше Vmax
End If
If c < Vmax And kodR = 1 Then
IGnew = i - 1: kodR = 2 '      запоминаем предыдущий номер пикселя (от середины картинки), от того, где освещенность стала меньше Vmax
Vsum = (IGold + IGnew) / 2  '  вычисляем среднее значение пикселей, которое соответствует середине полосы
TAU = TAU + Vsum '             сумма номеров пикселей для всех учтеных одинарных полос
hPic = hPic + 1 '              количество учтеных одинарных полос в заданном интервале поиска
kodR = 0 '                     теперь будет находиться положение следующей полосы (если не дошли до конца интервала поиска)
End If 'c < Vmax And kodR = 1
End If
If hPic > 0.1 Then Vsum = TAU / hPic: kodDMY = 1 '           теперь это новое значение Vsum можно использовать в расчете GMST и ObsLMST
End If 'Check9.Value = 1

If NP = 1 Then Picture5.Line (i * N * m / 250 / jj, 0)-(i * N * m / 250 / jj, m / 1.25), RGB(0, c, 0) ' рисуем на картинках вертикальные линии
If NP = 2 Then Picture6.Line (i * N * m / 250 / jj, 0)-(i * N * m / 250 / jj, m / 1.25), RGB(0, c, 0) ' с рассчитанной для данного пикселя i
If NP = 3 Then Picture7.Line (i * N * m / 250 / jj, 0)-(i * N * m / 250 / jj, m / 1.25), RGB(0, c, 0) ' (по ширине) освещенностью "c"

Picture9.PSet (i * N * m / 250 / jj, a * m / 25 + m / 2), RGB(250, 0, 0) ' синусоида напряженности 1-го луча    (ЗДЕСЬ m / 2 НУЛЕВАЯ ЛИНИЯ)
Picture9.PSet (i * N * m / 250 / jj, b * m / 25 + m / 2), RGB(0, 0, 250) ' синусоида напряженности 2-го луча
Picture9.PSet (i * N * m / 250 / jj, c * 0.9 * m / 255 + 0.1 * m), RGB(0, 255, 0) ' суммарная освещенность экрана
Next i

Text13.Text = ObsL / ObsB '                      отношение энергии суммарной освещенности экрана к сумме энергии двух некогерентных лучей
Text58.Text = Fix(MK * (N * Vsum / 250 / jj - Nn) / (Nk - Nn)) / MK ' это положение середины полосы
If kodDMY = 1 Then
wPic = wPic + 1
If wPic > 1.5 Then
GMST = GMST + Vsum: ObsLMST = GMST / (wPic - 1) '                         если это не первый замер, который пропускаем, то вычисляем сумму
Text82.Text = Fix(MK * (N * ObsLMST / 250 / jj - Nn) / (Nk - Nn)) / MK  ' всех полученных значений и потом находим среднее значение
End If
End If 'kodDMY = 1

If Check2.Value = 1 Then NC = NC0 '                     если показать рассчитанные значения фаз для заданного i (при любом NC)
If NC >= NC0 Then
NC = 0: Text33.Text = T: '                              текущее время
kk = kk + NC0 '                                         сделанное общее количество циклов расчета
If Check6.Value = 1 Then '                              если рисовать график
If T / MT <= 1600 Then Picture10.Circle (T / MT, (N * Vsum / 250 / jj - Nn) / (Nk - Nn)), 0.04, RGB(0, 0, 250)
End If
End If

If Check8.Value = 1 And kk >= kkk Then GoTo 100 '       значит закончили расчет одного интервала
If kodEnd = 1 Then
iii = jjj: GoTo 100 '                                   если остановить, то сообщаем, что закончили расчет всех интервалов
End If
T = T + P0 '               увеличиваем время на один шаг решения от момента касания центров фронтов волн лучей экрана

Do While DoEvents() '      идем на 10, после обработки сообщений в очереди
GoTo 10 '                  операционной системы, а если будет сообщение от кнопки <Остановить>,
Loop '                     то kodEnd будет равен 1 и на следующем шаге будет уже GoTo 100
GoTo 100
90: Info = "Ошибка решения" & vbCrLf
Info = Info & "Попробуйте увеличить MT"
MsgBox Info, , "Maikelson": Exit Sub
100: End Sub

Private Sub Command2_Click() 'остановить
kodEnd = 1
End Sub

Private Sub Command4_Click() 'продолжить
kodEnd = 0: Kartinka
End Sub

Private Sub Picture7_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'находим положение середин двух составных полос
On Error GoTo 90
Picture7.Line (X, 0)-(X, m), RGB(0, 0, 250) '                              рисуем линию
If Button = 1 Then Text59.Text = X * 10 ^ 6 '               если нажата левая кнопка на левой полосе, то получаем ее координаты в мкм
If Button = 2 Then Text60.Text = X * 10 ^ 6 '               если нажата правая кнопка на правой полосе, то получаем ее координаты в мкм
GoTo 100
90: MsgBox "Не могу найти эту точку", , "Maikelson"
100: End Sub

Private Sub Command9_Click() '                              найти расстояние между двумя точками на 3-ей картинке интерференции
X0(81) = Text59.Text: X0(82) = Text60.Text
Text42.Text = Fix(MK * (X0(82) - X0(81))) / MK '            расстояние в мкм
GoTo 100
90: MsgBox "Поставьте две точки на 3-м рисунке", , "Maikelson"
100: End Sub

Private Sub Picture10_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ' находим сдвиг полос и время
On Error GoTo 100 '                 поставить на рисунке 2-е точк на графике там, где ткнули мышкой
Picture10.Circle (X, Y), 0.2, 1
If Button = 1 Then  '               если нажата левая кнопка (на левой части графика)
Tn1(15) = X * MT: ' Text31.Text = Tn1(15)
Text17.Text = Y
End If
If Button = 2 Then  '               если нажата правая кнопка (на правой части графика)
Tk1(15) = X * MT: ' Text66.Text = Tk1(15)
Text53.Text = Y
End If
GoTo 160
100: MsgBox "Не могу найти эту точку", , "Maikelson"
160: End Sub

Private Sub Command8_Click() '                    рассчитать скорость сдвига полос (шт/с) по двум их положениям в два момента времени
On Error GoTo 90
IDold = Text17.Text: IDnew = Text53.Text '        положение полосы в моменты времени Tn1(15) и Tk1(15) (максимальная ордината на графике = m )
IDay = Text44.Text - Text43.Text '                количество полос в интервале, где искали положение середины одинарной или составной полосы
'                                                 (положение одинарной полосы ищем всегда в одном интервале и поэтому для нее всегда IDay=1)
a = (IDnew - IDold) * IDay * m / (Tk1(15) - Tn1(15)) / Vs: Text71.Text = Fix(MK * a) / MK ' скорость смещения полос в долях Vs
GoTo 100
90: MsgBox "Поставьте две точки на графике", , "Maikelson"
100: End Sub

Private Sub Command6_Click() '                 Сохранить картинку в файл
On Error GoTo 90
If NP = 1 Then SavePicture Picture5.Image, "Maikelson_3_" & Text21.Text & ".bmp"
If NP = 2 Then SavePicture Picture6.Image, "Maikelson_3_" & Text21.Text & ".bmp"
If NP = 3 Then
Picture7.ForeColor = &H80000002
Info = "A1= " & Q1 * kUgol
Picture7.CurrentX = -N * m / 2: Picture7.CurrentY = m: Picture5.Print Info
Info = "A2= " & Q2 * kUgol
Picture7.CurrentX = -N * m / 2:  Picture7.Print Info
Info = "v1/v0= " & v1(1) / v0
Picture7.CurrentX = -N * m / 2:  Picture7.Print Info
Info = "v2/v0= " & v1(2) / v0
Picture7.CurrentX = -N * m / 2:  Picture7.Print Info
Picture7.ForeColor = &H80000008
SavePicture Picture7.Image, "Maikelson_3_" & Text21.Text & ".bmp"
End If
GoTo 100
90: MsgBox "Ошибка записи в файл", , "Maikelson": Exit Sub
100: End Sub

Private Sub HScroll1_Change()
Picture5.Left = -HScroll1.Value
Picture5.Refresh
End Sub
Private Sub HScroll1_Scroll()
Picture5.Left = -HScroll1.Value
Picture5.Refresh
End Sub
Private Sub HScroll2_Change()
Picture6.Left = -HScroll2.Value
Picture6.Refresh
End Sub
Private Sub HScroll2_Scroll()
Picture6.Left = -HScroll2.Value
Picture6.Refresh
End Sub
Private Sub HScroll3_Change()
Picture7.Left = -HScroll3.Value
Picture7.Refresh
End Sub
Private Sub HScroll3_Scroll()
Picture7.Left = -HScroll3.Value
Picture7.Refresh
End Sub
Private Sub HScroll4_Change()
Picture9.Left = -HScroll4.Value
Picture9.Refresh
End Sub
Private Sub HScroll4_Scroll()
Picture9.Left = -HScroll4.Value
Picture9.Refresh
End Sub
Private Sub HScroll5_Change()
Picture10.Left = -HScroll5.Value
Picture10.Refresh
End Sub
Private Sub HScroll5_Scroll()
Picture10.Left = -HScroll5.Value
Picture10.Refresh
End Sub
Private Sub Command16_Click() 'закрыть форму
Unload Me
End Sub
