Given an ellipsoid in the form:

$$ \frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1$$

and an arbitrary point $p$ on the surface of the ellipsoid, how can I compute the normal vector of the surface in that point? I never learned about the $\nabla$ operator, therefore I'd prefer an explanation that only makes use of basic geometry.

Background: I want to model a light source shining on a Go stone, including diffusion and reflection. I think of the stone as an ellipsoid, and I want to place the light source at an arbitrary place, as well as the observer. For that, I plan to use Lambertian reflectance, and for its $\cos \alpha$ I thought I'd take the deviation from the reflected angle and put that into the $\cos \alpha$ formula.

I know that this question exists, but I didn't understand it, and it covered only one specific case, not the general case.


The $\nabla$ operator is known as the gradient operator. It's a vector of all of the partial derivatives of the function with respect to all of its variables, i.e., $$\nabla f=\bigg<\frac{\partial f}{\partial x},\frac{\partial f}{\partial y},\frac{\partial f}{\partial z}\bigg>$$The gradient vector will give you your desired normal vector.

Now, all of that may sound like gibberish to you, so let's break down the intuition behind it.

Suppose our surface involved 1 variable, instead of 3, such as $f=\frac{x^2}{a^2}$. How would we find the normal vector at a given point? What we would want to do, is find the tangent line, and then find the vector perpendicular to it.

Now what does the tangent line look like? We know that it must have a slope equal to the derivative of the function at the given point! In other words, it would be of the form $$\frac{df}{dx}\cdot x+c=0$$With three variables, we can draw an analogy with partial derivatives instead of full ones (since we have more than two variables) and likewise create an equation of a tangent plane, which would look something like$$\frac{\partial f}{\partial x}\cdot x+\frac{\partial f}{\partial y}\cdot y+\frac{\partial f}{\partial z}\cdot z + C=0$$So, now all we want is the normal vector to this plane. However, we know through the magic of the cross product, that the normal vector to a plane $$ax+by+cz+d=0$$ is $$<a,b,c>$$So, you can see why the gradient gives you the desired result.

So, your normal vector at a given point $(x,y,z)$ would be $$2\cdot\bigg<\frac x{a^2},\frac y{b^2},\frac z{c^2}\bigg>$$

  • $\begingroup$ Can you elaborate on why $\frac{df}{dx} \cdot x + c$ is equal to 0? Its obvious how $mx+b$ is a line, but why is it equal to 0? $\endgroup$ – Hushus46 Oct 19 '19 at 21:17
  • $\begingroup$ I'll look at it when I have time. It's been a while since I wrote this $\endgroup$ – Don Thousand Oct 19 '19 at 23:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.