From: Oliver Burghard Date: 2008-11-30T10:08:43+09:00 Subject: Re: rmagick and circles Yes, x_0 and y_0 are the coordinates of the center of the circle. I am glad if I could help you. :) Oliver Am Sonntag, den 30.11.2008, 08:35 +0900 schrieb shawn bright: > Thanks much > tinkered around with my numbers in your formula, and it worked. > > shawn > > On Sat, Nov 29, 2008 at 2:48 PM, shawn bright wrote: > > 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 > >>> > >> > >> > >> > > > > >