Updated documentation theme. Fixed broken link.
[qbasicapps.git] / graphics / fract3.bas
1 ' Fractal\r
2 ' made by Svjatoslav Agejenko\r
3 ' in 2003.12\r
4 ' H-Page: svjatoslav.eu\r
5 ' E-Mail: svjatoslav@svjatoslav.eu\r
6  \r
7 DECLARE SUB mo (x!, y!, an!, s!, w!)\r
8 DIM SHARED depth\r
9 DIM SHARED pi\r
10 \r
11 DIM SHARED sh1, sh2, sv1, sv2, hp, vp\r
12 \r
13 \r
14 pi = 3.14128\r
15 \r
16 SCREEN 12\r
17 \r
18 \r
19 sv1 = 5\r
20 sv2 = 2\r
21 vp = .2\r
22 \r
23 sh1 = 2\r
24 sh2 = 1.4\r
25 hp = .2\r
26 \r
27 \r
28 mo 320, 240, pi - .9, 50, 0\r
29 \r
30 a$ = INPUT$(1)\r
31 SYSTEM\r
32 \r
33 SUB mo (x, y, an, s, w)\r
34 depth = depth + 1\r
35 IF s < .2 THEN GOTO 1\r
36 \r
37 IF depth / 2 = depth \ 2 THEN c = 15 ELSE c = 10\r
38 \r
39 CIRCLE (x, y), s, c\r
40 PAINT (x, y), c\r
41 \r
42 IF w <> 1 THEN\r
43 x1 = SIN(an) * s * 2.5 + x\r
44 y1 = COS(an) * s * 2.5 + y\r
45 IF w = 3 THEN ns = s / sv2 ELSE ns = s / sv1\r
46 mo x1, y1, an + vp, ns, 3\r
47 END IF\r
48 \r
49 IF w <> 2 THEN\r
50 x1 = SIN(an - pi / 2) * s * 2.5 + x\r
51 y1 = COS(an - pi / 2) * s * 2.5 + y\r
52 IF w = 4 THEN ns = s / sh2 ELSE ns = s / sh1\r
53 mo x1, y1, an + hp, ns, 4\r
54 END IF\r
55 \r
56 IF w <> 3 THEN\r
57 x1 = SIN(an - pi) * s * 2.5 + x\r
58 y1 = COS(an - pi) * s * 2.5 + y\r
59 IF w = 1 THEN ns = s / sv2 ELSE ns = s / sv1\r
60 mo x1, y1, an + vp, ns, 1\r
61 END IF\r
62 \r
63 IF w <> 4 THEN\r
64 x1 = SIN(an - pi * 1.5) * s * 2.5 + x\r
65 y1 = COS(an - pi * 1.5) * s * 2.5 + y\r
66 IF w = 2 THEN ns = s / sh2 ELSE ns = s / sh1\r
67 mo x1, y1, an + hp, ns, 2\r
68 END IF\r
69 \r
70 1\r
71 depth = depth - 1\r
72 END SUB\r
73 \r