From: shawn bright Date: 2008-11-30T05:48:21+09:00 Subject: Re: rmagick and circles This is great, thanks Oliver. One question, what is meant by x_0 and y_0, are those the plot points for the center of the graph? thanks. shawn On Sat, Nov 29, 2008 at 2:34 PM, Oliver Burghard wrote: > Hey, > > I am not sure what you want. If you only want one point it is easy: > > x = x_0 + radius * Math.cos(angle * 2.0 * Math::PI / 360.0) > y = y_0 + radius * Math.sin(angle * 2.0 * Math::PI / 360.0) > > This is for the angle in degrees. Like this you can get any point on the > circle. Now if you want to get the points of an arc you could just > increase the angle a bit at a time and plot the points. But that would > not be a very nice circle and would be slow. > > An option would be to get a starting point with the formula above and > then iterate with x**2 + y**2 = r**2. For example in the first part of > the circle between 0 and 45 degrees y is growing faster than x. > > You would start with an y and increase it once by one. > ( leave away the translation for easiness ) > > y' <- y + 1 > x' <- sqrt( r**2 - (y+1)**2 ) = sqrt( r**2 - y**2 -2*y - 1) > = sqrt( x**2 - 2 * y - 1) > > Hope it gives some ideas. > > Oliver > > Am Sonntag, den 30.11.2008, 04:45 +0900 schrieb shawn bright: >> Hey there all, >> >> I am using RMagick to draw some circles. >> what i need though is a math formula to give me a pair of plot points >> for an angle. >> >> Say a circle is 40 x 40 on a sheet of graph paper. >> this would put the center of the circle at x=20, y=20 >> and it would make the radius = 20. >> >> now, i need to be able to pass in a number like say, 20 degrees and >> return the x and y plots of this on the circle. >> >> i know, more a math problem than ruby, but i could use any suggestions. >> >> thanks, >> shawn >> > > >