updated license and email addresses
[qbasicapps.git] / graphics / animations / 2drot.bas
1 ' 3D rotation\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 DIM SHARED px(1000) ' point  x & y location\r
8 DIM SHARED py(1000)\r
9 DIM SHARED ox(1000) ' point old  x & y location\r
10 DIM SHARED oy(1000)\r
11 \r
12 \r
13 SCREEN 13\r
14 \r
15 np = 0          'Set points to them place\r
16 FOR x = -10 TO 10\r
17 FOR y = -10 TO 10\r
18 np = np + 1\r
19 px(np) = x\r
20 py(np) = y\r
21 NEXT y\r
22 NEXT x\r
23 \r
24                 'Rotate points now\r
25 nrk = 0  'start angle\r
26 1\r
27 nrk = nrk + .01\r
28 s1 = SIN(nrk)\r
29 c1 = COS(nrk)\r
30 \r
31 \r
32 FOR a = 1 TO 399\r
33 PSET (ox(a), oy(a)), 0\r
34 \r
35 x = px(a)\r
36 y = py(a)\r
37 \r
38 x1 = x * s1 + y * c1\r
39 y1 = x * c1 - y * s1\r
40 x1 = x1 * 7 + 160\r
41 y1 = y1 * 7 + 100\r
42 \r
43 \r
44 ox(a) = x1\r
45 oy(a) = y1\r
46 PSET (x1, y1), 15\r
47 \r
48 NEXT a\r
49 \r
50 IF INKEY$ = "" THEN GOTO 1\r
51  \r
52 \r
53 SYSTEM\r
54 \r