Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- setup and variable declarations
- */
- View.Set ('graphics:778;778,offscreenonly')
- const midx := maxx div 2
- const midy := maxy div 2
- type cart :
- record
- m : array 0 .. 778, 0 .. 778 of int
- x : array 0 .. 778 of int
- y : array 0 .. 778 of int
- z : array 0 .. 778 of int
- end record
- var x, y, z : int
- var map : array 0 .. 360 of cart
- /*
- begin program
- */
- /*
- begin render and capture
- */
- for q : 0 .. 360
- cls
- /*
- begin render of frame
- */
- for s : 0 .. midx
- for t : 1 .. midy
- map (q).x (s) := round (cosd (t) * s) + midx %---------------------------------%
- map (q).y (t) := round (sind (s) * t) + midy % calculate position of plot data %
- map (q).z (s) := t %---------------------------------%
- x := map (q).x (s) - midx
- z := map (q).z (s)
- x := round (cosd (q) * x - sind (q) * z) % calculate rotation around y-axis
- map (q).x (s) := x + midx
- if q > 0 then
- Draw.Dot(map(q).x(s), map(q).y(t), (s mod t) mod maxcolour)
- else
- Draw.Dot(map(q).x(s), map(q).y(t), black)
- end if
- end for
- end for
- /*
- end render of frame
- */
- /*
- begin capture of frame
- */
- for i : 0 .. maxx
- for o : 0 .. maxy
- map(q).m(i,o) := whatdotcolour(i,o)
- end for
- end for
- /*
- end capture of frame
- */
- View.Set ('title:Rendering: ' + realstr (round ((q / 360) * 1000) / 10, 3) + '% complete') % update title bar to show rendering status
- View.Update
- end for
- /*
- end render and capture
- */
- cls
- View.Update
- Input.Pause
- /*
- begin playback
- */
- loop
- for q : 0 .. 360
- cls
- for s : 0 .. maxx
- for t : 0 .. maxy
- Draw.Dot (s, t, map(q).m(s,t))
- end for
- end for
- View.Update
- end for
- cls
- Input.Pause
- end loop
Advertisement
Add Comment
Please, Sign In to add comment