If the parametric formula for an ellipsoid is:

$\begin{align} x&=a\cos(\theta)\cos(\varphi)\\ y&=b\cos(\theta)\sin(\varphi)\\ z&=c\sin(\theta)\end{align}\\$


$ -\frac \pi 2 \le \theta\le \frac \pi 2 \qquad -\pi\le \varphi\le \pi $

And the parametric formula for an offset curve(!) is:

$x_d(t)= x(t)+\frac{d\; y'(t)}{\sqrt {x'(t)^2+y'(t)^2}}$

$y_d(t)= y(t)-\frac{d\; x'(t)}{\sqrt {x'(t)^2+y'(t)^2}}$

where $d$ is the distance from the curve.

Then what is the formula for the offset surface(!) of an ellipsoid? Thanks.


(P.S. what is the derivative of the formula for an ellipsoid? Thanks.)

  • $\begingroup$ For an offset curve, you move a distance $d$ along a normal to the curve. Do the same thing for the surface. $\endgroup$ – amd Jul 20 '18 at 1:56
  • $\begingroup$ I'm in need of help with the formulas. Adding the third dimension is not easy for me. $\endgroup$ – posfan12 Jul 20 '18 at 2:29
  • $\begingroup$ Try deriving the 2-d formulas for yourself. Adding as many dimensions as you want will be easy if you understand them instead of just copying them from somewhere. $\endgroup$ – amd Jul 20 '18 at 2:58
  • $\begingroup$ Seriously? So, if I set aside some time this coming weekend, do you think I can learn calculus? $\endgroup$ – posfan12 Jul 20 '18 at 7:34
  • $\begingroup$ You can certainly learn enough to do this. Look up how to compute the normal to a surface, which I mentioned in my first comment. The rest is simple vector addition. $\endgroup$ – amd Jul 20 '18 at 18:18

The formula that you need is just a couple of lines up from the ones that you’ve quoted from the Parallel Curve Wikipedia article, namely,

• $\vec{x}_d(t) = \vec{x}(t)+d\vec{n}(t)$ with the unit normal $\vec{n}(t)$.

This generalizes to any number of parameters. You’ll have to decide which of the two possible unit normals is appropriate, but you have the same decision to make in two dimensions. (The formulas in the Wikipedia article use the normal that’s 90° clockwise from the tangent vector.)

All that’s left for you to do is to figure out how to compute $\vec{n}$ for the parameterization that you’re using. Typically, for a surface in 3D defined by two parameters, this is computed by taking the cross product of the partial derivatives with respect to each parameter, normalized, but this is problematic for your parameterization since this cross product vanishes at the poles. Fortunately, you can use the gradient of $(x/a)^2+(y/b)^2+(z/c)^2$ instead. This gives you an outward-pointing normal, which is probably what you want, anyway.


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.