Pie Chart Algorithms?

Sivakatirswami katir at hindu.org
Thu Mar 2 04:58:54 EST 2006

Alex, you are a gem! Thanks:

Interesting to note that "round" produced smoother motion than  

The following will works for any circle name "baseCircle" at any  
location on the card... Watch the little red ball move run around the  
circle (smile) I renamed your vars to something meaningful -- yes,  
it's verbose, but as i get older, my short term memory may fail  
between reading line 1 and line 10 (grin), one advantage of xTalk.  
(see my thoughts on this on the dot notation thread)

and (obviously) setting a single value to "i" in this

on mouseUp
   put the loc  of  grc "baseCircle" into tCenter
  put getPoints(item 1 of tCenter,item 2 of tCenter,the width of grc  
"baseCircle"/2) into tCirclePoints
  repeat for each line x in tCirclePoints
    set the loc of grc  "mars" to x
    wait 2 milliseconds
  end repeat
end mouseUp
function getPoints circleLocX, circleLocY,radiusLen
  --  returns a list of points on the circumference of a circle
  -- centered at xc,yc with radius rad
  repeat with tCircumPoint= 0 to 360
  --put 90 into tCircumPoint
    put  Round(circleLocX+ radiusLen*sinInDegrees(tCircumPoint)),  
Round(circleLocY+radiusLen*cosInDegrees(tCircumPoint)) & CR after  
  end repeat
  return tResult
end getPoints

function cosInDegrees angleInDegrees
  return cos(angleInDegrees * pi / 180)
end cosInDegrees

function sinInDegrees angleInDegrees
  return sin(angleInDegrees * pi / 180)
end sinInDegrees

On Mar 01, 2006, at 12:32 PM, Alex Tweedly wrote:

> Not professional, but maybe "interested amateur" :-)
> (this returns floating point numbers - remember to convert to  
> integers before using as points of a polygon or similar)

More information about the Use-livecode mailing list