View difference between Paste ID: pxdpniNg and H1WuC6ug
SHOW: | | - or go back to the newest paste.
1
/*
2
setup and variable declarations
3
*/
4
5
View.Set ('graphics:778;778,offscreenonly')
6
7
const midx := maxx div 2
8
const midy := maxy div 2
9
10
type cart :
11
record
12-
    m : array 0 .. 778, 0 .. 778 of boolean
12+
    m : array 0 .. 778, 0 .. 778 of int
13
    x : array 0 .. 778 of int
14
    y : array 0 .. 778 of int
15
    z : array 0 .. 778 of int
16
end record
17
18
var x, y, z : int
19
var map : array 0 .. 360 of cart
20
21
/*
22
begin program
23
*/
24
25
/*
26
begin render and capture
27
*/ 
28
29
for q : 0 .. 360
30
    cls
31
					/*
32
					begin render of frame
33
					*/
34
    for s : 0 .. midx
35
        for t : 1 .. midy
36
            map (q).x (s) := round (cosd (t) * s) + midx	%---------------------------------%
37
            map (q).y (t) := round (sind (s) * t) + midy	% calculate position of plot data %
38-
            map (q).z (s) := t					%---------------------------------%
38+
            map (q).z (s) := t					            %---------------------------------%
39
            x := map (q).x (s) - midx
40
            z := map (q).z (s)
41-
            x := round (cosd (q) * x - sind (q) * z)	% calculate rotation around y-axis
41+
            x := round (cosd (q) * x - sind (q) * z)	    % calculate rotation around y-axis
42
            map (q).x (s) := x + midx
43-
            Draw.Dot(map(q).x(s), map(q).y(t), black)		% plot data
43+
            if q > 0 then
44
                Draw.Dot(map(q).x(s), map(q).y(t), (s mod t) mod maxcolour)
45
            else
46-
                    			/* 
46+
                Draw.Dot(map(q).x(s), map(q).y(t), black)
47
            end if
48
        end for
49
    end for
50
                    /* 
51
					end render of frame
52
					*/
53
54
					/*
55-
            if whatdotcolour(i,o) = 7 then
55+
56-
                map(q).m(i,o) := true
56+
57
    for i : 0 .. maxx
58-
                map(q).m(i,o) := false
58+
59
            map(q).m(i,o) := whatdotcolour(i,o)
60
        end for
61
    end for
62
					/*
63
					end capture of frame
64
					*/
65
66
    View.Set ('title:Rendering: ' + realstr (round ((q / 360) * 1000) / 10, 3) + '% complete')      % update title bar to show rendering status
67
    View.Update
68
end for
69
70
/*
71
end render and capture
72
*/ 
73
    
74
cls
75
View.Update
76
Input.Pause
77
78
/*
79
begin playback
80
*/ 
81
82
loop
83
    for q : 0 .. 360
84
        cls
85
        for s : 0 .. maxx
86
            for t : 0 .. maxy
87-
                if map(q).m(s,t) then
87+
                Draw.Dot (s, t, map(q).m(s,t))                    
88-
                    Draw.Dot (s, t, black)                    
88+
89-
                end if
89+
90
        View.Update
91
    end for
92
    cls
93
    Input.Pause
94
end loop