 |
 |
Circles
Name: Jeff P.
Status: student
Age: N/A
Location: N/A
Country: N/A
Date: N/A
Question:
I would like to create some displays for our school's
web site that use items distributed in circles to illustrate ideas. I
thought I'd put together a function in Flash that would do the
distribution for me. I'm getting lost in mathematical research which,
though interesting, is taking too much time. I need a mathematician!
In particular, I need equations for determining a point on a circle given
the number of equidistant points, which point in the sequence I'm
looking for, and the radius. So:
circlePoint (instances, item, radius)
would return x,y coordinates for the point in position "item" of
"instances" on the circle whose radius is "radius" from (0,0). Any
assumed position [(0,r), (r,0), etc.] for the first point in the sequence
is OK.
I don't need program code, just the mathematics. Our teachers and
students (and I!) thank you for any and all assistance.
Replies:
I am not sure I follow exactly where your question is leading. Nonetheless,
the following two equations tell just about anything you need to know about
circles:
1. An especially compact and elegant equation of a circle is:
((x-h)/R)^2 + ((y-k)/R)^2 = 1
where, (x,y) are the coordinates of points on the circle, R is the radius,
and (h,k) is the location of the origin of the circle. This is called the
center/radius form.
2. The most general equation for a circle is:
x^2 +y^2 +D*x +E*y +F = 0
Given the coordinates of any three points: (x1,y1) ; (x2,y2) ; (x3,y3) gives
a system of linear equations in three unknowns: D, E, and F in terms of the
coordinates of the three points. Solving that system of equations gives the
equation of the circle containing the three points.
Good Luck,
Vince Calder
Jeff,
Trigonometry is your tool for this problem. You will be dividing the 360
degree circle into "instances" parts. Let "angle" be (360)/"instances".
You want to 'rotate' a multiple of this "angle" for each item. Let your x
coordinate be "radius" * Cosine("item" * "angle"). Let your y-coordinate be
"radius" * Sine("item" * "angle"). To adjust positions, you can add or
subtract any angle from your function argument. It is just VERY IMPORTANT
that both functions have exactly the same argument.
Note: Some programs and languages use the full words sine and cosine. Some
use SIN and COS.
Dr. Ken Mellendorf
Click here to return to the Mathematics Archives
| |
Update: June 2012
|
|