-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathGRAF.BKP.BAS
101 lines (78 loc) · 2.25 KB
/
GRAF.BKP.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
DECLARE FUNCTION F1! (x!, z!)
DECLARE FUNCTION F2! (x!, z!)
DECLARE FUNCTION F3! (x!, z!)
DECLARE FUNCTION F4! (x!, z!)
DIM largura, altura, va, xfal, zfal, tamanho, prof
REM inicializar variaveis
largura = 280
altura = 190
va = -1
xfal = 5
zfal = 3
tamanho = INT(largura / xfal / 2)
prof = INT(altura / zfal / 3)
inicio = 5
DIM g(tamanho, prof)
REM calcular valores
PRINT " Calculando ... "
FOR a = -(prof / 2) TO (prof / 2)
FOR b = -(tamanho / 2) TO (tamanho / 2)
x = a * 18 / tamanho
z = b * 18 / prof
REM funcão grafica
y = F1(x, z)
g(b + (tamanho / 2), a + (prof / 2)) = y * va * altura
NEXT b
NEXT a
REM hrg2: hcolor7
REM SCREEN 12 OK
SCREEN 13
REM plano x-y
FOR z = 1 TO prof
x = 1
xbase = xfal * z
zbase = (altura / 2) + (z * zfal) + (inicio * va)
xvelho = xbase + xfal
zvelho = 191 - zbase + (x * zfal) + g(x, z)
FOR x = 1 TO tamanho
xnovo = xbase + (x * xfal)
znovo = 191 - zbase + (x * zfal) + g(x, z)
REM plotar
REM hplot xvelho,zvelho to xnovo,znovo
LINE (xvelho, zvelho)-(xnovo, znovo), 1
xvelho = xnovo
zvelho = znovo
NEXT x
NEXT z
REM plano z-y
FOR x = 1 TO tamanho
xbase = (xfal * x) + (prof * xfal)
zbase = (altura / 2) - (x * zfal) + (prof * zfal) + (inicio * va)
xvelho = xbase - xfal
zvelho = 191 - zbase + zfal + g(x, prof - 1)
FOR z = 0 TO prof - 1
xnovo = xbase - (z * xfal)
znovo = 191 - zbase + (z * zfal) + g(x, prof - z)
REM plotar
REM hplot xvelho,zvelho to xnovo,znovo
LINE (xvelho, zvelho)-(xnovo, znovo), 2
xvelho = xnovo
zvelho = znovo
NEXT z
NEXT x
FUNCTION F1 (x, z)
F1 = (SIN(x) + COS(z)) / 60
END FUNCTION
FUNCTION F2 (x, z)
F2 = SIN(x + z) / 24
END FUNCTION
FUNCTION F3 (x, z)
DIM c
c = 50 - (x * x) - (z * z)
F3 = SQR(c * (SGN(c) + 1)) / 30
END FUNCTION
FUNCTION F4 (x, z)
DIM c
c = (x * x) + (z * z) + .00001
F4 = SGN(INT(13 / c)) / 3 + SGN(INT(35 / c)) / 15
END FUNCTION