# Bézier curve approximating the intersection between a cone and a plane.

I've been trying to fine a nice way to visualise projecting a parabola to a circular arc, but I realise I don't actually know how to derive the functions necessary to show projecting a parabola through its plane onto the base plane of the conic it lies on...

I started with the following geometric setup:

In this, we have a 3D space with an origin $$P_2=(0,0,0)$$, and a cone with base radius $$r$$ and height $$h$$, effecting a conic angle $$\phi$$. There is a plane at the same angle, shifted along the x-axis by $$d$$, and as such the intersection of the plane and the cone is a parabolic conic section, with points $$A$$ and $$C$$ the intersection points of the plane and the conic base and point $$B$$ the parabola's extremum.

From the geometry, it is clear that every point on the parabola can be projected from $$P_2$$ through the parabolic plane onto the conic base plane to yield a circular arc (after all, the cone itself is that projection) but I have no idea how to turn this into the form of a function.

I figured I could represent the parabola as a 3D rational quadratic Bezier curve, with start point $$A$$ and end point $$C$$, and a control point $$B'=\{ 0, r-d, \frac{r-d}{r}h \}$$, and then vary the rational weight for point $$B$$ to "slide" the parabola along the cone, but that does not appear to be what happens when you adjust that value.

So my question is: given this geometry, and given the parabola as a Bezier curve, how would I go about turning that into a "projective" Bezier curve function that takes the coordinates $$A$$, $$B$$, and $$C$$, and the angle $$\phi$$, yielding the conic section described by the intersection of the cone and a plane passing through $$A-C$$ at angle $$\phi$$?

(E.g. at $$\phi=0$$ this would be a circular arc, at $$\phi=\frac{\pi}{2}$$ a triangle, and anywhere in between some form of non-parabolic elliptical arc)

• So you have a 2D equation of a parabola as a Bézier curve and want to have a 3D version? Or something else? And what has the semi-circle to do with all that? I think you should make your problem more clear. – Aretino Sep 22 '19 at 19:24
• No? I have a 3d equation of a parabola, which I can represent as a 3d bezier curve, and I want to transform it into other "all the other 3d elliptical arcs" that pass through A and C (think of it as rotating the plane on intersection about A--C if that helps). The special case circular arc is still a 3D curve, even if it has the same value for all z coordinates (technically, all conic sections are 2D in their plane of intersection, but 3D in terms of "world coordinates") – Mike 'Pomax' Kamermans Sep 23 '19 at 1:51
• The type of function I'm looking for, though, is one that explicitly models these curves in terms of a transformed Bezier expression (similar to how the rational Bezier function can model a circular arc up to a semi circle - that same arc is trivially expressed using a parametric sinoidal function, but that's not the form I'm looking for) – Mike 'Pomax' Kamermans Sep 23 '19 at 2:01
• Now I see what you want: a parametric equation for the arc of conic section $ABC$, with $AC$ fixed and $B$ any point along the mid generatrix. This, of course, cannot be a Bézier curve, apart the particular case of a parabola, but you need a Bézier approximating that curve. – Aretino Sep 23 '19 at 9:26
• I edited the title to make the question clearer. I'd suggest you to edit your question, especially the first part with a misleading request for a projection. – Aretino Sep 23 '19 at 9:31

One reason why your idea might not have panned out is that the point $$B'$$ in your question is the parabola’s vertex, so it doesn’t even work as the control point for a Bézier parameterization of the original parabola: even for a rational Bézier curve the middle control point never lies on the curve. The correct middle control point for a Bézier parameterization of the parabola can be found by intersecting the tangent planes to the cone at $$A$$ and $$C$$ with the plane that generates the parabola. We can thus find that with $$A = \left(2\sqrt{d(r-d)},r-2d,h\right) \\ B = \left(0,r,\frac hr(r-2d)\right) \\ C = \left(-2\sqrt{d(r-d)},r-2d,h\right)$$ the Bézier curve $$(1-t)^2A+2t(1-t)B+t^2C \tag1$$ matches the parabola. For $$0\le t\le1$$, we get the arc through the vertex with endpoints $$A$$ and $$C$$. (This orientation might not match your diagram exactly.)

Going back to your idea of projecting the parabola onto a variable plane through $$A$$ and $$C$$, we observe that since the center of the projection is the origin, if a point $$P$$ has a finite projection onto the plane then it is a scalar multiple of $$P$$ and so can be expressed as $$P'=c(P)P$$. Note that this scalar $$c$$ depends on $$P$$, and, of course, on the image plane. By construction, $$A$$ and $$C$$ are their own images, so the projection of the curve (1) is $$(1-t)^2A+2t(1-t)c(B)B+t^2C. \tag2$$ Comparing the rational Bézier parameterization $${(1-t)^2w_1P_1+2t(1-t)w_2P_2+t^2w_3P_3 \over (1-t)^2w_1+2t(1-t)w_2+t^2w_3}$$ to (2) suggests setting $$w_1=w_3=1$$ and since we’d like the control point to lie on the curve’s plane, $$w_2=1/c(B)$$ seems like a reasonable guess, leading to $${(1-t)^2A + 2t(1-t)B'/c(B)+t^2C \over (1-t)^2+2t(1-t)/c(B)+t^2}. \tag3$$

Parameterizing the variable plane by the angle $$\phi$$ between its normal and the positive $$z$$-axis, we have for an equation of the plane $$y\sin\phi+z\cos\phi=h\cos\phi+(r-2d)\sin\phi$$ and we can find $$B' = {r(h\cos\phi+(r-2d)\sin\phi) \over h(r-2d)\cos\phi+r^2\sin\phi}B.$$ I’ll leave verifying that using these values of $$B'$$ and $$w$$ do indeed produce a parameterization of the intersection curve, which involves some tedious but straightforward algebra.

Observe that, instead of sliding the vertex along the cone as you proposed, we are effectively sliding the parabola’s control point $$B$$ along the line through it and the origin. Parameterizing this family of curves by $$c(B)$$ as in (3) instead of the plane’s normal angle makes this relationship more transparent, I think.

Here, for example, is what results with $$h=3$$, $$r=1$$, $$d=1/4$$ and $$\phi=\pi/4$$:

The black arc is the above rational Bézier curve for $$0\le t\le1$$.

• @Mike'Pomax'Kamermans The white fringe at the top of the cone is just GeoGebra fading the image out. I suppressed the $z=h$ plane to reduce clutter. $A$ and $C$ are fixed at $z=h$, in this case $3$. – amd Oct 6 '19 at 2:50
• @Mike'Pomax'Kamermans Glad I could help. It was a fun problem to work on. – amd Oct 6 '19 at 18:02