Опубликовано: 2020-04-27 08:00:00
График функции вида Z = F(X, Y)
Программа строит график функции Z = F(X, Y) в виде прозрачной сетки.
Рассмотрим исходный текст программы:
- REM PHUCKER_COPYRIGHT
- 'FROM SCIENCE.CLANBB.RU WITH LOVE
- DECLARE FUNCTION F! (X!, Y!)
- SCREEN 12
- PI = 3.141592
- X0 = 320: Y0 = 240 'EKRANNOYE POLOZHENIYE PROYEKTSII NACHALA KOORDINAT
- M = 20 'MASSHTABNYY KOEFFITSIYENT DLYA OSEY X, Y, Z. POKAZYVAYET
- ' SKOLKIM PIKSELAM RAVEN YEDINICHNYY OTREZOK.
- ALPHA = -.3 * PI: BETA = .1 * PI 'UGLY POVOROTA PROSTRANSTVA XYZ VOKRUG
- ' OSEY X I Y. UKAZYVAYUTSYA V RADIANAKH.
- MINX = -10: MAXX = 10 'OGRANICHENIYA PRYAMOUGOLNOY OBLASTI
- MINY = -10: MAXY = 10 ' PO OSYAM X I Y.
- KOLX = 32: KOLY = 32 'KOLICHESTVO RAZBIYENIY SETKI PO OSYAM X I Y.
- KOLX2 = 1024: KOLY2 = 1024 'KOLICHESTVO TOCHEK DLYA POSTROYENIYA
- ' "PRUTYEV" SETKI PO OSYAM X I Y.
- 'SINUSY I KOSINUSY UGLOV ALPHA I BETA.
- COSA = COS(ALPHA): SINA = SIN(ALPHA)
- COSB = COS(BETA): SINB = SIN(BETA)
- 'SHAGI MEZHDU "PRUTYAMI" SETKI PO OSYAM X I Y.
- DX = (MAXX - MINX) / KOLX: DY = (MAXY - MINY) / KOLY
- 'SHAGI MEZHDU TOCHKAMI POSTROYENIYA "PRUTYEV".
- DX2 = (MAXX - MINX) / KOLX2: DY2 = (MAXY - MINY) / KOLY2
- 'DVUKHUROVNEVYY TSIKL POSTROYENIYA "PRUTYEV" SETKI,
- ' PARALLELNYKH XZ.
- FOR Y = MINY TO MAXY * 1.001 STEP DY
- FOR X = MINX TO MAXX * 1.001 STEP DX2
- Z = F(X, Y)
- 'BLOK PREOBRAZOVANIYA KOORDINAT PROSTRANSTVA.
- 'SCHITAYEM, CHTO PROIZOSHLI POVOROTY TOCHEK PROSTRANSTVA
- 'VOKRUG OSEY X I Y NA UGLY ALPHA I BETA SOOTVETSTVENNO.
- Y2 = Y * COSA - Z * SINA
- Z2 = Y * SINA + Z * COSA
- X2 = X
- 'Z3 = Z2 * COSB - X2 * SINB
- X3 = Z2 * SINB + X2 * COSB
- Y3 = Y2
- PSET (X0 + X3 * M, Y0 - Y3 * M)
- NEXT X
- NEXT Y
- 'DVUKHUROVNEVYY TSIKL POSTROYENIYA "PRUTYEV" SETKI,
- ' PARALLELNYKH YZ.
- FOR X = MINX TO MAXX * 1.001 STEP DX
- FOR Y = MINY TO MAXY * 1.001 STEP DY2
- Z = F(X, Y)
- 'BLOK PREOBRAZOVANIYA KOORDINAT PROSTRANSTVA.
- 'SCHITAYEM, CHTO PROIZOSHLI POVOROTY TOCHEK PROSTRANSTVA
- 'VOKRUG OSEY X I Y NA UGLY ALPHA I BETA SOOTVETSTVENNO.
- Y2 = Y * COSA - Z * SINA
- Z2 = Y * SINA + Z * COSA
- X2 = X
- 'Z3 = Z2 * COSB - X2 * SINB
- X3 = Z2 * SINB + X2 * COSB
- Y3 = Y2
- PSET (X0 + X3 * M, Y0 - Y3 * M)
- NEXT Y
- NEXT X
- 'URAVNENIYE POVERKHNOSTI Z=F(X,Y).
- FUNCTION F (X, Y)
- F = COS(SQR(X ^ 2 + Y ^ 2))
- END FUNCTION
Рисунок 1 – Исходный текст для графика функции вида Z = F(X, Y)
Рисунок 2 – Результат построения графика функции вида Z = F(X, Y)
Спасибо за прочтение этой статьи.
Прикрепленные файлы: