n="justify"> For ax=0 To maxx - 1=yc + (ax - xc) * Math.Sin (- 1 * Alpha / 180 * Math.PI) + (ay - yc) * Math.Cos (- 1 * Alpha / 180 * Math.PI) Math.Abs ??((freevarible + yc + Pix4 2) Mod Stp)>=Pix4 Then Mas2D (ax, ay)=& HFF Else Mas2D (ax, ay) =& H0.Value=ay.Value=0Sub
'Процедура генерації поверхностейTelo (ByVal axisX As Integer, ByVal axisY As Integer) As Singlefs As Single=fSize (CB_Res.SelectedIndex)
'визначається ф-я маштабування залежно від обраного розширення
Dim axisZ As Singlet1 As Single=0 площину (Face=1) Then ціліндр1 (axisX> - 50 * fs) And (axisX <50 * fs) Then=Math.Sqrt ((50 * fs) ^ 2 - axisX ^ 2) IfIf (Face=2) Then ціліндр2 (axisX> - 100 * fs) And (axisX <100 * fs) Then=Math.Sqrt ((100 * fs) ^ 2 -axisX ^ 2) IfIf (Face=3) Then конус=(100 * fs - Math.Sqrt (axisY ^ 2 + axisX ^ 2)) * 2axisZ < 0 Then=0IfIf (Face=4) Then куля=(100 * fs) ^ 2 - axisY ^ 2 - axisX ^ 2t1>=0 Then=Math.Sqrt (t1) IfIf (Face=5) Then new=axisY ^ 2 + axisX ^ 2 (t1 <(20 * fs) ^ 2) Then=100If (t1> (20 * fs) ^ 2) And (t1 <(100 * fs) ^ 2) Then =-Math. Sqrt (0.25 * t1 - (10 * fs) ^ 2) + 100IfIf (Face=6) ThenOffX As Integer=SurSize.X / 2OffY As Integer=SurSize.Y / 2 (Math.Abs ??(axisX) <= OffX) And (Math.Abs ??(axisY) <= OffY) Then=UserSur (axisX + OffX, axisY + OffY) IfIf (Face=7) Thenamp As Byte=NUDSyn.Value=amp * Math.Cos (axisX * Math.PI/50) + amp
End IfaxisZ возращает значення висоти
End Function
«Процедура розрахунку іскаженійCamera (ByVal TResol As Byte, ByVal Mas2D (,) As Byte, ByRef MasCam (,) As Byte, ByVal h As Integer) maxx As Integer=fWidth (TResol)» дозвіл по X і Уmaxy As Integer=fHeight (TResol) xc As Integer=maxx 2 'центр X і Yyc As Integer=maxy 2
Dim ax, ay As Int16 'вільні змінні
Dim x1, y1 As Integerfreevarible, az, thaz As Single
ProgressBar1.Maximum=fHeight (TResol)
'Цикл створення растру, проводиться сканування по X і Y
'впізнається, де повинна знаходитися ця точка, потім, де вона знаходиться
For ay=0 To maxy - 1ax=0 To maxx - 1=Telo (ax - xc, ay - yc)=h - azthaz=0 Then thaz=- 0.000000000000001=((ax - xc ) * h) / thaz + xc=((ay - yc) * h) / thaz + yc (x1 =0) And (y1>=0) Then (ax, ay)=Mas2D (x1, y1): MasCam (ax, ay)=0If.Value=ay.Value=0
End Sub
'Процедура збереження двох мірного масиву Mas2D у файл з ім'ям FName
Sub SaveToFile (ByVal TResol As Byte, ByVal Mas2D (,) As Byte, ByVal FName As String) FSize As Int32=fWidth (TResol) * fHeight (TResol) * (bitperpix / 8) + Off
розмір файлаBitCount As Int16=bitperpix кількість біт на цветfs As IO.FileStream=New IO.FileStream (FName, IO.FileMode.Create)
створення файлаw As IO.BinaryWriter=New IO.BinaryWriter (fs)
відкриття файлу на запис
«Запис заголовка.Write (FType)» Тип файла.Write (FSize) 'Розмір
w.Write (Rez). Write (Rez). Write (Off) «Смещеніе.Write (HSize)» Розмір заголовка
w.Write (fWidth (TResol)) 'Розширення по X
w.Write (fHeight (TResol)) по Y