Holy crap, I think I get it.
On Mon, Dec 15, 2014 at 9:18 PM, Colin Holgate <co...@verizon.net> wrote: > > On Dec 15, 2014, at 11:07 PM, Mike Bonner <bonnm...@gmail.com> wrote: > > >I have a chance of understanding) is to determine if an angle falls > between > say, red and green, find the ratio of the distances to each, and use that > as a factor of 255 to create the color. > > > That is exactly what my code is doing. There are several numbers in the > code that help cheat towards an easy solution. I’ll talk through a few of > those lines: > > 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 > > This just gives PI * 100 (roughly) objects spread over a 2*PI range, to > draw the circle of graphics. > > 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 > > 120 degrees is 2/3PI. I take the angle we’re at and make it be in the > range of -PI to +PI, and then take the absolute value of that. I subtract > the angle from 2/3*PI, to find out how far from zero we are. If it’s more > than 120 degrees, the max(0, takes care of it. The divide by 2/3*PI makes > the results be in the range 0-1, which gets multiplied by 255. > > function getgreen val > subtract 2/3*PI from 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 get green > > I just add 2/3* PI or 4/3*PI to offset the green and blue angles, so that > the math becomes just the same as it was for red. > > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode