Consider a partial ellipse in 3D space with the following information:
- majorAxis (a 3D vector, such as [1, 0, 0])
- minorAxis (a 3D vector, such as [0, 1, 0])
- startPoint (a 3D vector, such as [1, 0, 0])
- endPoint (a 3D vector, such as [0, 0.5, 0])
- centerPoint (a 3D vector, such as [0, 0, 0])
- majorRadius (a scalar value, such as 1)
- minorRadius (a scalar value, such as 0.5).
Then, how to find the parametric equation of this partial ellipse?
It’s really no different that it would be in 2-D: if the center is $\mathbf c$ and the semiaxes are defined by the vectors $\mathbf u$ and $\mathbf v$ (the lengths of these vectors are the half-axis lengths), then a parameterization of the ellipse is $\mathbf c+(\cos t)\mathbf u+(\sin t)\mathbf v$.
If you just need an arc of this ellipse, then you will have to find an appropriate interval for $t$. An easy way to do this is to map everything to the unit circle: Let $A = \small{\begin{bmatrix}\mathbf u&\mathbf v\end{bmatrix}}$ and let $M=(A^TA)^{-1}A^T$. Then $\phi:\mathbf p\mapsto M(\mathbf v-\mathbf c)$ maps your ellipse to the unit circle in $\mathbb R^2$ such that the major and minor axes are mapped to the coordinate axes. The above parameterization is simply the inverse image of the unit circle $(\cos t,\sin t)^T$, so by applying $\phi$ to the end points of the arc, you can compute suitable values of $t$ for them.