 |
Ask A Scientist©
Mathematics Archive
|
 |
Circles
name Jeff P.
status other
age 30s
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.
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
=========================================================
NEWTON is an electronic community for Science, Math, and Computer Science K-12 Educators.
Argonne National Laboratory, Division of Educational Programs, Harold Myron, Ph.D., Division Director.