Need trig & LCB help

Pink nabble at mad.pink
Tue Oct 29 10:19:10 EDT 2019


In a nutshell, I am working on a widget that consists of a wheel with
buttons. Currently I've just manually calculated out where 8 buttons go, 
and
it works well, but I am trying to set it up with a user definable number 
of
buttons contained in array "mData."

Need help checking my math (and LCB syntax.) I took out some of the 
syntax
like setting paints and some other fluff, this is just calculating the
positions of each circle.

     -- tBigRad is the radius of the main circle across the widget
     if my width > my height then
       put my height/2 into tBigRad
     else
       put my width/2 into tBigRad
     end if

     -- tLilRad is the radius of each small button around the edge
     put tBigRad/4 into tLilRad

     -- finding the coordinates of the center of the main circle
     put my width/2 into tBigX
     put my height/2 into tBigY
     put point [(my width/2),(my height/2)] into tCenter
     fill circle path centered at tCenter with radius tBigRad on this 
canvas

     -- create an "inner circle" by subtracting the radius of a button 
from
the radius of the main circle
     put tBigRad - tLilRad into tInnerRad
     -- calculate angle in radians from the for the center of each button
     put (the number of elements in mData)/(2 * pi()) into tButtonAngles

     repeat with tButtonNumber from 1 up to the number of elements in 
mData
       put tInnerRad * (tButtonNumber-1 * tButtonAngles) into tAngle
       put tBigX * cos(tAngle * pi()) into tButtonX
       put tBigY * sin(tAngle * pi()) into tButtonY
       put point [tButtonX, tButtonY] into tButtonCenter
       fill circle path centered at tButtonCenter with radius tLilRad on 
this
canvas
     end repeat




More information about the use-livecode mailing list