Calculate the Normal vector to an Ellipse

How do you calculate the Normal vector to an Ellipse.

r=rx*i + ry*j + rz*k

Velocity Vector:
v=vx*i + vy*j + vz*k

at this point I would like to calculate the Normal to the ellipse.

That is as far as I been able to calculate.

Any help or suggestions are welcome.

Last edited:

Related Differential Geometry News on Phys.org
What does this velocity represent? What is its relationship to the normal vector?

The velocity represents a vector from the point of the Radius Vector almost perpenicular because of being an ellipse. The start of the Radius Vector is at the center of the Earth.

I see, so you're not talking about just any ellipse, but rather an ellipse representing the Earth in some way? What is this ellipse supposed to represent? Some cross-section of the Earth?

A satellite orbiting the Earth. The normal is to represent the unit vector of the centripetal motion so I can separate the forces into their components.

Okay, well, it's typical to impose a basis for an object in parametric motion using the tangent, normal, and binormal (the cross product or the normal and tangent) unit vectors. An ellipse is a 2d object, so it lies in a plane, so if you know the tangent vector (and you do, it's parallel to the velocity), then the normal must be perpendicular to the tangent but also lying in the plane of the ellipse.

In general, you may wish to consult wikipedia's article on the Frenet-Serret formulas, which describes the calculation of the tangent, normal, and binormal.

I would like to find the $\kappa$ and $\tau$ of the Frenet–Serret formulas so may find the Normal and the Tangent at any point along the following equation for an Ellipse:

R = a*(1 - e ^ 2) / (1 + e * Cos(ta))
x = R*(Cos(N) * Cos(ta + w) - Sin(N) * Sin(ta + w) * Cos(i))
y = R * (Sin(N) * Cos(ta + w) * Pi / 180) + Cos(N) * Sin(ta + w) * Cos(i))
z = R * Sin(ta + w) * Sin(i)

Where
a is the center of the ellipse to the closest and furthest point divided by 2
e is Eccentricity of the Elliptical Orbit
R is the radius on that point in the ellipse
N is Node on the x-y plane
ta is True Anomaly, the angle around the interior of the Ellipse
w is the start of the ta angle

Last edited:
D H
Staff Emeritus
What was wrong with post #2?

The velocity vector is tangent to the ellipse. The specific angular momentum, r×v, is normal to the orbital plane. v×(r×v) is what you want.

The constants just serve to normalize the vectors. You can find the normal from the derivative of the unit tangent vector and normalizing it. Same with the binormal.

v×(r×v) yields an awefully large number for it to be the correct normal.

Do you make it into a unit vector?

The unit tangent velocity vector also becomes combersome for the derivative and normalization.

You take the derivative of the tangent vector and then normalize to find the unit normal.

D H
Staff Emeritus
v×(r×v) yields an awefully large number for it to be the correct normal.

Do you make it into a unit vector?
Of course it's a big number. The magnitude is about v2r, which in turn is about 4×1014 m3/s2 for a satellite orbiting the Earth. Normalize this and you get a unit vector, and it is your outward unit normal. Think about it.

You take the derivative of the tangent vector and then normalize to find the unit normal.
Take the derivative with respect to what? Not time; that's acceleration, and acceleration is directed against the radial vector assuming gravity is a central force. You have to take the derivative with respect to arc length to get something proportional to the unit normal. That's rather nontrivial for an ellipse.

Aside: The central force assumption is not valid for a satellite in low Earth orbit; the Earth's gravity field is non spherical and is a bit lumpy to boot. Satellites in low Earth orbit are only approximately ellipsoidal.

Does it really matter which affine parameter you use? Should be the whole idea about normalizing--it makes the result the same regardless of parameterization. Arc length parameterization just does it automatically.

The Unit Normal Vector gave some interesting results.

The Centripetal Acceleration is:

a = v^2 / r

Can this be multiplied to the time to get the centripetal velocity then in turn multiplied to the Normal Unit Vector?

vCENTRIPETAL = a*t + v0

Last edited:
D H
Staff Emeritus
Does it really matter which affine parameter you use?
No, not really. Too many long hours. The derivative of a unit vector (or any constant length vector) with respect to some scalar quantity is either zero or is normal to the unit vector.

Should be the whole idea about normalizing--it makes the result the same regardless of parameterization. Arc length parameterization just does it automatically.
Not really. You still get curvature that has to be removed. Besides, doing that differentiation is non trivial. It's a lot harder than using $\hat v \times \hat h$, where $\hat v$ is the unit vector pointing along the velocity vector and $\hat h$ is the unit vector pointing along the orbital angular momentum vector. Even easier, just use $\vec v \times (\vec r \times \vec v)$ and normalize.

The Centripetal Acceleration is:

a = v^2 / r
That's only true for a circular orbit, and outward normal for a circular orbit is trivial. The general case relationship is given by the vis viva equation, $v^2 = \mu\left(\frac 2 r - \frac 1 a\right)$, where $\mu=GM$ is the standard gravitational parameter and $a$ is the semi major axis. Note that "a" is overloaded. Depending on context, it means acceleration or semi major axis.

The normal to an Ellipse is: vcentripetal = Math.Sqr(mhu(3) * (2 / r - 1 / a)) is its Magnitude and v X (r X v) is its Direction.

The tangent to an Ellipse is: the velocity vector is its Magnitude and (r X v) is its Direction.

The velocity vector itself.

And the velocity induced from the Sun, Planets and Moon.

How do you tie them all together into a Resultant Velocity?

Last edited: