home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / totallyamos / issue4 / programming / 10.seq < prev    next >
Text File  |  1992-03-10  |  6KB  |  163 lines

  1. fff00000ff00fe0080555000a7f
  2. ^7*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF
  3.  
  4. ^3               T R I G   S C R E E N   E F F E C T S 
  5.  
  6. ^2                     An Insight By Paul Townsend
  7.  
  8. ^7*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF
  9.  
  10. ^4 So  you  want  to  know  how  to produce those Sin and Cos generated
  11. ^4effects that keep appearing from Technical Fred Software.  This short
  12. ^4introduction  should  give  you an idea on how to get started.  I get
  13. ^4the  impression that many people seem to have a fear of using Sin and
  14. ^4Cos  in  their  programs  (Trigophobia  ?), this is not too suprising
  15. ^4really  as  their  seems  to  be very little explanation of what they
  16. ^4really do, so here I am to try to make sense of it all.
  17.  
  18. ^2                             First Steps
  19.  
  20. ^5 When you run my programs that use Sin and Cos, if you look carefully
  21. ^5then  you  will  realize  that most of the effects are based upon the
  22. ^5circle,  or multiple circles interacting with each other.  The reason
  23. ^5for  this  is that I use Sin and Cos to produce circles, with is what
  24. ^5they  are  good at (They probably have many other uses, but I haven't
  25. ^5found any that are interesting enough to bother about).
  26.  
  27. ^2                             The Theory
  28.  
  29. ^4 The  circle can be split up into 360 points which can be imagined to
  30. ^4be  positioned,  equally  spaced around the circumference.  So if you
  31. ^4start  at  any  place on the circumference and move 360 points in any
  32. ^4direction, you will end up back where you started from.
  33.  
  34. ^5 What  we  need to know is how to work out where all these points are
  35. ^5so  that  we can do something at that particular point on the screen,
  36. ^5i.e plot a point, paste a bob etc.
  37.  
  38. ^4 When  typing  in these examples, dont type in the <---- and comments
  39. ^4or  the  computer  will spit them back at you, (You could use Rems if
  40. ^4you want, but I'm just too lazy !), Just type in the bits before them
  41. ^4and press RETURN
  42.  
  43. ^5 The way to do this is to choose which points on the circle you want,
  44. ^5for our purposes we will just plot the entire circle, a program to do
  45. ^5this could be:
  46.  
  47. ^7Screen Open 0,320,256,32,Lowres
  48.  
  49. ^7Degree           <----Tell the computer we want to work in degrees
  50.  
  51. ^7For F=0 To 360   <----Set up a loop 
  52.  
  53. ^7X#=Sin(F)        <----Work out the Co-ords
  54.  
  55. ^7Y#=Cos(F)        <---- "    "   "   "  "
  56.  
  57. ^7Plot X#,Y#       <----Plot the point
  58.  
  59. ^7Next F           <----Loop ? 
  60.  
  61. ^4If  you  try  it,  don't  be  surprised  if you get nothing at all on
  62. ^4screen, the reason for this is that
  63. ^4 1) The co-ords are just off screen at the top left and
  64. ^4 2) the circle is only 1 pixel wide.
  65.  
  66. ^5This calls for some minor changes to the above program :-
  67.  
  68. ^4Firstly let's add the centre of the screen to the points plotted.
  69.  
  70. ^7Screen Open 0,320,256,32,Lowres
  71.  
  72. ^7Degree           <----Tell the computer we want to work in degrees
  73.  
  74. ^7For F=0 To 360   <----Set up a loop 
  75.  
  76. ^7X#=160+Sin(F)    <----Work out the Co-ords
  77.  
  78. ^7Y#=128+Cos(F)    <---- "    "   "   "  "
  79.  
  80. ^7Plot X#,Y#       <----Plot the point
  81.  
  82. ^7Next F           <----Loop ? 
  83.  
  84. ^5 This  program  will  appear  to  plot  a  point in the centre of the
  85. ^5screen,  this  is  because  the  circle  is  still only 1 pixel wide,
  86. ^5therefore one final change is needed to get the circle to look like a
  87. ^5circle.
  88.  
  89. ^7Screen Open 0,320,256,32,Lowres
  90.  
  91. ^7Degree              <----Tell the computer we want to work in degrees
  92.  
  93. ^7For F=0 To 360       <----Set up a loop 
  94.  
  95. ^7X#=160+(100*Sin(F))  <----Work out the Co-ords
  96.  
  97. ^7Y#=128+(100*Cos(F))  <---- "    "   "   "  "
  98.  
  99. ^7Plot X#,Y#           <----Plot the point
  100.  
  101. ^7Next F               <----Loop ? 
  102.  
  103. ^4 This  program  should  now work, it should draw a circle that is 100
  104. ^4pixels wide.  (Why not try other numbers other than 100 for different
  105. ^4sizes of circles)
  106.  
  107. ^5 Hopefully  you  should  now  have a circle on the screen, it may not
  108. ^5look  much,  but  if you can understand why the circle is there, then
  109. ^5that is the first hurdle over with.
  110.  
  111. ^4 OK,  I  think we should make this program a little more interesting,
  112. ^4what about making the circle appear to move.
  113.  
  114. ^5The  method  I  will use is a palette switch, try this, don't type in
  115. ^5the comments though
  116.  
  117. ^7Screen Open 0,320,256,32,Lowres
  118.  
  119. ^7Flash off            <----Needed for Shift Up to work
  120.  
  121. ^7Degree               <----Tell the computer we want to work in degrees
  122.  
  123. ^7For F=0 To 360       <----Set up a loop 
  124.  
  125. ^7Add rgb,1,1 to 31
  126.  
  127. ^7X#=160+(100*Sin(F))  <----Work out the Co-ords
  128.  
  129. ^7Y#=128+(100*Cos(F))  <---- "    "   "   "  "
  130.  
  131. ^7Plot X#,Y#,RGB       <----Plot the point in the selected colour.
  132.  
  133. ^7Next F               <------Loop ? 
  134.  
  135. ^7Shift Up 2,1,31,1    <------set up a palette switch (or colour cycle)
  136.  
  137. ^7Direct
  138.  
  139. ^4 If you run this program you should have a revolving circle.
  140.  
  141. ^5 You  can  now  plot  a circle, each point in a different colour, and
  142. ^5then to make it move.
  143.  
  144. ^4 In  the  next part of this tutorial, we will try to use what we have
  145. ^4learned  to  produce  some  more  interesting effects, but until then
  146. ^4please don't be afraid to experiment, try changing any of the numbers
  147. ^4in  the  above programs, just to see what happens.  After all, that's
  148. ^4how all of the effects I have written in the past started off.  (i.e.
  149. ^4see Screen Wipes in previous editions of TA) I just guess at a number
  150. ^4to  change  in a program run it and hope for the best.  If the effect
  151. ^4looks  good then I save the program, if not, I change it to something
  152. ^4else.  (How's that for a structured approach to programming?)
  153.  
  154. ^5 So  until  next time, have fun.  If you have anything you would like
  155. ^5to see in these tutorials, why not drop a line to Totally Amos at the
  156. ^5usual address.
  157.  
  158.                              ^3T T F N 
  159.  
  160.                   ^2Paul (Technical Fred) Townsend.
  161.  
  162. ^7*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF*TF
  163. \