[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference rusure::math

Title:Mathematics at DEC
Moderator:RUSURE::EDP
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2083
Total number of notes:14613

853.0. "parametric equations for ellipse?" by GORP::MARCOTTE (George Marcotte SWS Santa Clara) Fri Apr 01 1988 14:15

    
    
    What is the parametric equation for an ellipse?
    
    I expect it would be in the form:
    
        x = f(fi) * cos(fi)
    
        y = g(fi) * sin(fi)
    
    
    where f() and g() are some function of the angle fi... I need a
    good trig reference.
    
    
    George
T.RTitleUserPersonal
Name
DateLines
853.1not the most general answerZFC::DERAMOTake my advice, I'm not using itFri Apr 01 1988 15:2311
    For an ellipse "centered" at (x0,y0) with minor and major axes
    parallel to the x and y axis,
    
               x - x0 = a cos(fi)
               y - y0 = b sin(fi)
    
    If a = b = r then you have a circle of radius r.
    
    Note that this is not a complete answer to your question.
    
    Dan
853.2check this outZFC::DERAMOTake my advice, I'm not using itSat Apr 02 1988 03:1810
    Could the answer be as simple as this?
    
               x = x0 + a cos (fi - theta)
               y = y0 + b sin (fi - theta)
    
    where fi [phi?] is the parameter, theta the [constant] angle between
    the axes of the ellipse and the x and y axes, and a and b are positive
    constants.
    
    Dan
853.3some conicsCADM::ROTHIf you plant ice you'll harvest windMon Apr 04 1988 20:2932
    To get an ellipse in general position, just make an affine transformation
    of a circle at the origin:

	| x0 |   | cos(theta) -sin(theta) |   | a*cos(phi) |
	|    | + |			  | * |		   |
	| y0 |   | sin(theta)  cos(theta) |   | b*sin(phi) |

    Put hyperbolic functions in the right column vector to get an hyperbola.

    To plot an ellipse (approximated as a polyline, say) it is not
    recommended to use the above parameterization, since it gives a poor
    distribution of points on the curve.  It's better represent the curve
    as an affinely symmetric n-gon with a recurrance like this:

	| x[k+1] |   | a  b |   | x[k] |
	|	 | = |      | * |      |
	| y[k+1] |   | c  d |   | y[k] |

    This gives the curve centered at the origin at an arbitrary rotation.
    Add in (x0,y0) to translate it where you want.  You have to set up the
    ABCD matrix properly but it's simple.

    There also exist rational parameterizations of all the conic sections
    but they require more than one chart to cover the curve.  But they
    carry the advantage that you can continuously vary a parameter, giving
    a pencil of conics that ranges from a hyperbola, thru a parabola, to an
    ellipse...

    This representation can also be drawn efficiently using a subdivision
    algorithm for Bezier curves.

    - Jim
853.4GORP::MARCOTTEGeorge Marcotte SWS Santa ClaraTue Apr 05 1988 14:174
    It seems so simple.... non use of the math muscle makes it atrophied
    
    
    Thanks for all the suggestions/answers.