Direction, and color

Colin Holgate coiin at verizon.net
Tue Dec 16 04:02:06 CET 2014


So, I had a go at this. Here’s my test stack:

go url "http://colin.scienceninja.com/colorwheel.livecode”

Choose the browse tool and click the button. The script deletes any existing graphics and then makes 315 new graphics, with the forelock set to a calculated amount.

There’s one difference from what was asked for, because angles start from the east, not from the north. In my example red is to the right, blue is lower left, and green upper left. Like, 3, 7, and 11 if it was a clock. I suspect I have something reversed, I wanted green to be where blue is. But still, it’ll show off the idea.

Here’s the button script, take a look at it for a while, and the stack, then ask questions!

on mouseUp
   lock screen
   repeat while the number of graphics > 0 
      delete graphic 1
   end repeat
   repeat with a = 1 to 315
      new graphic
      set the width of graphic a to 10
      set the height of graphic a to 10
      put (a-1)/50 into ang 
      put cos(ang) * 200 into dx
      put sin(ang) * 200 into dy
      set the loc of graphic a to 300 + dx,300+dy
      set the forecolor of graphic a to getred(ang),getgreen(ang),getblue(ang)
      if a = 1 then put the forecolor of graphic a
   end repeat
   unlock screen
end mouseUp

function getred val
   if val > PI then put 2*PI - val into val
   put abs(val) into val
   return round(max(0,(2/3*Pi - val)/(2/3*PI)) * 255)
end getred

function getgreen val
   add 2/3*PI to val
   if val > PI then put 2*PI - val into val
   put abs(val) into val
   return round(max(0,(2/3*Pi - val)/(2/3*PI)) * 255)
end getgreen

function getblue val
   add 4/3*PI to val
   if val > PI then put 2*PI - val into val
   put abs(val) into val
   return round(max(0,(2/3*Pi - val)/(2/3*PI)) * 255)
end getblue



More information about the use-livecode mailing list