Parabolas through three points

We can draw an infinite number of parabolas that pass through three given points $A$, $B$, $C$ (in that order). For each such parabola, we take the tangent lines at $A$ and $C$, and intersect them to get a point, $P$, which is called the "apex" of the parabola segment, in my business. What is the locus of this apex point $P$? I think it's a hyperbola that has the lines $AB$ and $BC$ as asymptotes.

Here's a picture. The pink curve is the locus that interests me.

I believe the point $P$ is called the "polar point" of the chord $AC$, sometimes.

The answers to this question have some basic computations that might be useful.

The locus of the parabola vertex seems to be much more complicated. It is studied in this question. Given the complexity of the vertex locus, I think it's remarkable that the apex locus is so simple.

A parabola is, of course, a quadratic Bezier curve, and the apex point is its "middle" control point (if this helps).

Can we generalize to rational quadratic Bezier curves (i.e. to conic section curves that are not necessarily parabolas)?

Edit: The generalization to rational quadratic Bezier curves probably doesn't make sense. You can (often) pick any two additional points, say $D$ and $E$, and you'll be able to draw a conic through all five points $A, B, C, D, E$. So, the locus of the apex point is some region of the plane, not a curve.

The locus

After doing some computations in the spirit (and building on the code) of my vertex anser, I found the locus of $P$ to be a quadric

$$a\,x^2 + b\,y^2 + c\,xy + d\,x + e\,y + f = 0$$

with the following parameters:

\begin{align*} a&=4\left(-A_y\,B_y + B_y^2 + A_y\,C_y - B_y\,C_y\right)\\ b&=4\left(-A_x\,B_x + B_x^2 + A_x\,C_x - B_x\,C_x\right)\\ c&=4\left(A_y\,B_x + A_x\,B_y - 2\,B_x\,B_y - A_y\,C_x + B_y\,C_x - A_x\,C_y + B_x\,C_y\right)\\ d&=4\left(A_y\,B_x\,B_y - A_x\,B_y^2 + A_y\,B_y\,C_x - B_y^2\,C_x - 2\,A_y\,B_x\,C_y + A_x\,B_y\,C_y + B_x\,B_y\,C_y\right)\\ e&=4\left(-A_y\,B_x^2 + A_x\,B_x\,B_y + A_y\,B_x\,C_x - 2\,A_x\,B_y\,C_x + B_x\,B_y\,C_x + A_x\,B_x\,C_y - B_x^2\,C_y\right)\\ f&=A_y^2\,B_x^2 - 2\,A_x\,A_y\,B_x\,B_y + A_x^2\,B_y^2 - 2\,A_y^2\,B_x\,C_x + 2\,A_x\,A_y\,B_y\,C_x \\&\quad{} - 2\,A_y\,B_x\,B_y\,C_x + 2\,A_x\,B_y^2\,C_x + A_y^2\,C_x^2 - 2\,A_y\,B_y\,C_x^2 + B_y^2\,C_x^2 \\&\quad{} + 2\,A_x\,A_y\,B_x\,C_y + 2\,A_y\,B_x^2\,C_y - 2\,A_x^2\,B_y\,C_y - 2\,A_x\,B_x\,B_y\,C_y \\&\quad{} - 2\,A_x\,A_y\,C_x\,C_y + 2\,A_y\,B_x\,C_x\,C_y + 2\,A_x\,B_y\,C_x\,C_y - 2\,B_x\,B_y\,C_x\,C_y \\&\quad{} + A_x^2\,C_y^2 - 2\,A_x\,B_x\,C_y^2 + B_x^2\,C_y^2 \end{align*}

Assumption confirmed

Using this formulation, I could verify your assumption: the conic is indeed a hyperbola, with the lines $AB$ and $CB$ as asymptotes. The way to check this is by ensuring that the lines are tangents, and that they touch the conic at infinity.

Special location

In a comment below, you mention that you might assume $B_x=B_y=0$. With that your conic will become

\begin{align*} a&=4\,A_y\,C_y\\ b&=4\,A_x\,C_x\\ c&=-4\left(A_y\,C_x + A_x\,C_y\right)\\ d&=0\\ e&=0\\ f&=A_y^2\,C_x^2 - 2\,A_x\,A_y\,C_x\,C_y + A_x^2\,C_y^2 \end{align*}

The formula is indeed a lot easier, so it might be a good starting point for a geometric description of the curve. For example, it is readily apparent that this hyperbola will be symmetric around the origin. But we already knew $B$ to be the center due to the asymptotes. You can even take this one step further and, via an affine transformation, consider only the case where

\begin{align*} A &= \begin{pmatrix}1\\0\end{pmatrix} & B &= \begin{pmatrix}0\\0\end{pmatrix} & C &= \begin{pmatrix}0\\1\end{pmatrix} \end{align*}

You end up with the hyperbola

$$4xy=1$$

From this you can e.g. conclude that the midpoint between $A$ and $C$ will also lie on that hyperbola. It will of course correspond to a Bézier curve which passes through $B$ for some $t<0$ or $t>1$. You can take that midpoint and reflect it in $B$ to obtain a point on the segment of the hyperbola you get for $0\le t\le 1$. This construction is invariant under affine transformations, so it still holds for the general case. Two asymptotes plus one point on the hyperbola amounts to five real degrees of freedom, so this should be enough to uniquely define your hyperbola.

Summary

To sum it up: the locus of the apex $P$ is the unique hyperbola with asymptotes $AB$ and $CB$ which passes through the midpoint between $A$ and $C$. The portion of it which corresponds to parabolas where $B$ lies between $A$ and $C$, i.e. is obtained in the Bézier curve for $0<t<1$, is the component of the hyperbola which does not contain that midpoint. It does contain the point obtained by reflecting that midpoint in $B$.

The code

Here is the sage code I used to obtain this representation:

# Define multivariate polynomial ring and points
PR1.<A_x, A_y, B_x, B_y, C_x, C_y, P_x, P_y, t> = QQ[]
A = vector(PR1, [A_x, A_y, 1])
B = vector(PR1, [B_x, B_y, 1])
C = vector(PR1, [C_x, C_y, 1])
P = vector(PR1, [P_x, P_y, 1])

# Quadratic Bézier curve parametrized by t
Bt = (1-t)^2*A + 2*(1-t)*t*P + t^2*C
r1 = (Bt[0] - B_x).resultant(Bt[1] - B_y, t) # eliminate t

# Obtain coefficients for coordinates of P
c1 = vector(PR1, flatten([list(i.polynomial(i.parent()(P_y)))
for i in r1.polynomial(P_x)]))
f, e, b, d, c, a = c1

# Print result
fmt1 = [str(i/4).replace('*','\\,')
for i in [a, b, c, d, e]] + [str(f)]
fmt2 = [i + '&=4\\left(' + j + '\\right)'
for i, j in zip('abcdef', fmt1)]
fmt2[-1] = 'f&='+fmt1[-1]
print('\\\\\n'.join(fmt2))

# Check whether lines AB and CB are asymptotes of the Hyperbola
Hyperbola = Matrix([
[2*a, c, d],
[c, 2*b, e],
[d, e, 2*f]])
def onConic(p, c=Hyperbola):
return (p.row()*c*p.column())[0,0].is_zero()
asymptotes = [B.cross_product(p) for p in [A, C]]
infLine = vector(QQ, [0,0,1])
# asymptotes are tangents to the hyperbola:
assert(all(onConic(i, Hyperbola.adjoint()) for i in asymptotes))
# asymptotes touch the hyperbola at infinity:
assert(all(onConic(i.cross_product(infLine)) for i in asymptotes))

# The midpoint between A and C is on the hyperbola:
assert(onConic(A+C))


Originally I had more complicated code which did not rely on the interpretation as a Bézier curve. The result was the same, though.

Generalizing to rational case

Can we generalize to rational quadratic Bezier curves (i.e. to conic section curves that are not necessarily parabolas)?

A parabola has four real degrees of freedom. If you choose a non-rational Bézier curve, you have two real degrees of freedom, but with these you not only specify a parabola but also select a start point and an end point on that parabola, so the degrees of freedom match. A conic in general has five real degrees of freedom. So if you want it to pass through three given points, that still leaves a two-parameter family of corresponding conics. Therefore your locus will not be a single curve, but either the whole plane or some portion of it.

You can define a conic using five points through which it should pass. In addition to your $A,B,C$ you might use two more points, which you move close to the end points $A$ and $C$. By making them arbitrary close (i.e. computing some limit), you can use these control points to exactly and arbitrarily determine the direction of the tangents in $A$ and $C$. Therefore you can choose any point $P$ in the plance, and find a conic through $A,B,C$ which will have $P$ as its apex. In this sense, the whole plane will be your locus.

I'm not completely sure whether a rational Bézier curve can be defined in such a way that it passes through infinity, but I believe that to be the case. If not, then there might be cases where the resulting conic would be a hyperbola, and $A,B,C$ are not all three in the same of its components. This might result in a restriction to part of the plane.

• Thanks for your efforts. It's nice to have confirmation of the hyperbola property. However, the large formulas don't provide much insight into what's happening. I was hoping for a more geometric (less algebraic) solution; perhaps something based on the classical properties of conic section curves. But, +1 for your answer, anyway; it is useful to me. Thanks again. – bubba Sep 5 '13 at 0:16
• WLOG, we can set $B_x = B_y = 0$. Does that change the formulas for $a,b,c,d,e,f$ into something manageable and recognizable? – bubba Sep 5 '13 at 4:23
• @bubba: WLOG is a useful idea here, should have thought of that. Using an even more special case, I was able to describe a point on the hyperbola, and together with the two asymptotes this will completely define the hyperbola. Updated my answer. – MvG Sep 5 '13 at 7:36

Here, $H$ is the "pole" of ("polar") $AB$, and $M$ is the midpoint of $AB$. Point $F$ is the focus of the parabola, and $PQ$ is its directrix (with $P$ and $Q$ respective projections of $A$ and $B$ onto that line). The focus-directrix definition of parabola tells us that $PA \cong FA$ and $QB\cong FB$; the reflection property implies that $HA$ and $HB$ bisect appropriate angles at $A$ and $B$.

Importantly, $HM$ determines the direction of the parabola's axis, so that $HM\parallel PA\parallel QB$. (One readily verifies this by studying the $y=x^2$ curve.) This tells us more about how $HM$ divides $\angle H$ (and also that $\angle AFC = 2\angle AHC$).

Fun facts: The parabola crosses $HM$ at the segment's midpoint; the tangent to the parabola at that point is parallel to $AB$. (Again, simply study the $y=x^2$ curve.)

All of this geometry ... and we haven't even considered point $C$! Constraining the parabola to meet $C$ ---that is, imposing the condition that $C$'s distance from $PQ$ equals $|FC|$--- is evidently what evokes the hyperbolic nature of the locus of $H$. So far, I have found this quite thorny to verify geometrically (and/or vectorially) in the general case; even transforming to the "nice" case (isosceles right $\triangle ABC$), the symbol crunching gets pretty intense ... and while a hyperbolic relation for $H$'s coordinates appears when the dust settles, the result remains unsatisfying. (Edit. A coordinate derivation appears below. The reason for the hyperbolic relation remains something of a mystery, however.)

Other notes

• The hyperbola's transverse (conjugate) axis has length $\sqrt{a b}\cos\theta$ (respectively, $\sqrt{a b}\sin\theta$), where $a := |CA|$, $b := |CB|$, $\theta := \frac{1}{2}\angle ACB$. Thus, its focal radius is $\sqrt{ab}$.

• (As shown in @Bubba's image, and mentioned his comment to @Achille's answer) $AB$ is tangent to the "other" branch of the hyperbola, with point of tangency $M$.

Here's an image showing the construction of the hyperbola (note that some point names have been re-purposed):

We project $A$ and (the reflection in $C$ of $B$) $B^\prime$ to $P$ and $Q$ on the bisector of $\angle ACB$. Lifting $C$ into the (gray) semi-circle with diameter $PQ$ gives $R$, where $|CR|^2 = |CP||CQ| = a\cos\theta \cdot b\cos\theta$, so that $|CR| = \sqrt{ab}\cos\theta$. The (pink) circle about $C$ and through $R$ contains $S$ and $T$, the vertices of the hyperbola. Lifting $T$ into the asymptote $BB^\prime$ gives $U$, such that $|CU| = |CT|/\cos\theta = \sqrt{ab}$; and then the (green) circle about $C$ through $U$ contains the hyperbola's foci, $F$ and $G$.

Incidentally: From here, it's easy to verify that $M$ ---with coordinates $\left(\frac{a+b}{2}\cos\theta, \frac{a-b}{2}\sin\theta \right)$--- lies on the hyperbola $\frac{x^2}{ab\cos^2\theta}-\frac{y^2}{ab\sin^2\theta} = 1$, and (with a modicum of calculus) that $AB$ ---with slope $\frac{a+b}{a-b}\frac{\sin\theta}{\cos\theta}$ --- is tangent to the curve at that point.

More notes ...

Coordinates seem to suggest connections that I haven't quite grokked geometrically.

Take the original points to be $A(a \cos\theta, a\sin\theta)$, $B(b\cos\theta,-b\sin\theta)$, $C(0,0)$, with $H(h,k)$ the pole of polar $AB$. Midpoint $M$ of $AB$ has coordinates $$M = \left(\frac{a+b}{2}\cos\theta, \; \frac{a-b}{2} \sin\theta \right)$$

so that vector $\overrightarrow{MH}$ has components $$\overrightarrow{MH} = \left(h - \frac{a+b}{2}\cos\theta, \; k - \frac{a-b}{2} \sin\theta \right) =: (p, q)$$ that occur surprisingly-often in this analysis.

We can construct the focus $F$ of the parabola as follows: Lift the midpoints of $HA$ and $HB$ to points $A^\prime$ and $B^\prime$ on $MH$. By construction, $\triangle HAA^\prime$ is isosceles; since we've already noted that $\angle HAF \cong \angle MHA$, it follows that $\overleftrightarrow{AA^\prime}$ contains $F$; as does $\overleftrightarrow{BB^\prime}$, so that the focus is the intersection of these lines and has coordinates $$F = \frac{1}{2\;(p^2+q^2)}\left( \; 2 h k\;\left( q, p \right) + ( h^2 - k^2 - a b ) \;\left( p, -q \right) \; \right)$$

To construct directrix $\overleftrightarrow{PQ}$, recall that the midpoint of $HM$ lies on the parabola, and that the tangent line at that point is parallel to $AB$. Reflecting $F$ across that tangent line gives a point on $PQ$; and we know that $PQ \perp HM$, so $$\overleftrightarrow{PQ} : \quad 2 x p + 2 y q = h^2 + k^2 - a b \cos 2\theta$$

The squared distances from $C$ (the origin) to the focus and directrix are then $$|CF|^2 = \frac{ \left( h^2 - k^2 - a b \right)^2 + 4 h^2 k^2}{4\;(p^2+q^2)} \qquad\qquad |C,\;\overleftrightarrow{PQ}|^2 = \frac{\left( h^2 + k^2 - a b \cos 2\theta \right)^2}{4\;( p^2+q^2 )}$$

For $C$ to lie on the parabola, these values must match; therefore, $$4 h^2 \sin^2\theta - 4 k^2 \cos^2\theta = a b \sin^2 2\theta \quad \to \quad \frac{h^2}{a b \cos^2\theta} - \frac{k^2}{a b\sin^2\theta} = 1$$ as expected.

The trick to really understanding this situation, then, is properly interpreting how the geometry contributes to the coordinate formulas ... in particular, the formula for focus $F$. Of course, $(q,p)$ and $(p,-q)$ are simply transformations of $(p,q) = \overrightarrow{MH}$, and $p^2+q^2$ is the squared length of that vector; no mystery there. But what are the (very hyperbola-esque) multipliers $2hk$ and $h^2-k^2-a b$ trying to tell us? I don't know ...

• +1 even though I can't follow all the steps yet, this interesting stuff definitely worth an upvote. – achille hui Sep 8 '13 at 2:01
• Thanks, Blue. I was hoping that someone would give a purely geometric answer, rather than an algebraic or vectorial one. Very nice. How did you create the diagrams? – bubba Sep 8 '13 at 8:47
• @bubba: Well, I was/am hoping that I could give a purely geometric answer, but I'm not there yet ... and may never be. It's turned out to be frustratingly difficult to wrestle the result directly out of the geometry; it's rather surprising, given how easily it falls-out of the algebra. In any case, I've learned a few neat things (such as the "Fun Facts" I mention). I used GeoGebra for the diagrams. (The hyperbola tool really helps this investigation! I had to devise the construction first so that I could give point $H$ a "track" to ride on in a dynamic version of the parabola figure.) – Blue Sep 8 '13 at 10:09
• Fun facts: The parabola crosses HM at the segment's midpoint; the tangent to the parabola at that point is parallel to AB. This is well-known in CAD circles. In fact, take a segment of any conic section curve, with end-points $A$ and $C$. Construct its apex point $P$ (intersection of end tangents). Construct a line from $P$ to the mid-point $M$ of the chord $AC$. At the point $B$ where the conic crosses this line, its tangent is parallel to the chord $AC$. The ratio $\rho=PB/PM$ is called the projective discriminant, which tells us the type of conic. If $\rho = 1/2$, we have a parabola. – bubba Sep 8 '13 at 11:46

This is a comment for the quadratic Bezier curve part.

If $\vec{A}, \vec{B}$ and $\vec{C}$ are three non-collinear points, then the locus of $\vec{P}$, the "middle" control point, has a parametrization of the form:

$$\vec{P} = \vec{B} -\frac12 \left[ \lambda^{-1} ( \vec{A} - \vec{B} ) + \lambda ( \vec{C} - \vec{B} ) \right]\tag{*1}$$

Please refer to my answer for the link mentioned in question if this is not immediately obvious.

Since $\vec{A}, \vec{B}$ and $\vec{C}$ are non-collinear, we can find two vectors $\vec{A}_{d}$ and $\vec{C}_{d}$ such that:

$$\begin{cases} \vec{A}_{d} \cdot ( \vec{A} - \vec{B} ) = 1\\ \vec{C}_{d} \cdot ( \vec{A} - \vec{B} ) = 0 \end{cases} \quad\text{ and }\quad \begin{cases} \vec{A}_{d} \cdot ( \vec{C} - \vec{B} ) = 0\\ \vec{C}_{d} \cdot ( \vec{C} - \vec{B} ) = 1 \end{cases}$$ This implies $$\begin{cases} \vec{A}_{d} \cdot ( \vec{P} - \vec{B} ) = -\frac12 \lambda^{-1}\\ \\ \vec{C}_{d} \cdot ( \vec{P} - \vec{B} ) = -\frac12 \lambda\\ \end{cases} \quad\iff\quad ( \vec{A}_{d} \cdot ( \vec{P} - \vec{B} ) )\;( \vec{C}_{d} \cdot ( \vec{P} - \vec{B} ) ) = \frac14$$ So the locus of $P$ is one branch of a hyperpola (the branch where $\lambda > 0$ ) having the two lines

$$\begin{cases} \vec{A}_{d} \cdot ( \vec{X} - \vec{B} ) = 0 & (\text{ i.e. the line }\overline{BC} )\\ \vec{C}_{d} \cdot ( \vec{X} - \vec{B} ) = 0 & (\text{ i.e. the line }\overline{BA} ) \end{cases}$$ as asymptotes.

When $\lambda = -1$, the point $\vec{P}$ in $(*1)$ becomes $\vec{M} = \frac12 ( \vec{A} + \vec{C} )$. $\vec{M}$ is the mid-point of $\vec{A}$ and $\vec{C}$ and this show $\vec{M}$ belongs to the $\lambda < 0$ branch of the hyperbola. As first pointed out by MvG, this fact and the asymptotes is enough to uniquely determine the hyperbola.

• This answer is much prettier, and it's the kind of answer I was hoping for. But the other one was first, it has more information, and it probably involved a lot more work, so that's the one I'm accepting. But a +1 and a big "thank you" to you, too. – bubba Sep 5 '13 at 9:09
• In fact, the line $AC$ is tangent to the $\lambda <0$ branch of the hyperbola at $\vec{M}$. I'll post a picture when I get home. – bubba Sep 6 '13 at 8:57
• @bubba, You're right! that's getting more and more interesting. – achille hui Sep 6 '13 at 9:42
• > this fact and the asymptotes is enough to uniquely determine the hyperbola. The other way to fix the hyperbola is to calculate its vertex. Formulae for doing this were given in answers to this question: math.stackexchange.com/questions/480240/… – bubba Sep 6 '13 at 14:52

Here is a picture that illustrates the situation. The red dashed lines are the axes of symmetry of the hyperbola, and the green dashed lines are its asymptotes. You can see how one of the axes of symmetry is normal to both the parabola (at $B$) and the hyperbola (at its vertex).

Here's a fairly quick algebraic approach to @MvG's "one step further" simplification. (This was actually my first approach.) We leverage the fact that tangency, parabola-ness, and hyperbola-ness are preserved under affine transformations, and we apply such a transform to move the defining points to coordinates $$A(1,0) \qquad B(0,0) \qquad C(0,1)$$

Now, instead of using the general equation of the conic to describe the locus as @MvG did, I'll use (slightly different version of) it to describe the parabola. $$a x^2 + b y^2 + 2 h x y + 2 d x + 2 e y + c = 0 \qquad (1)$$

We can make several observations about the coefficients of $(1)$.

• Since $A$, $B$, $C$ are on the parabola, we substitute their coordinates into $(2)$ to get these relations \begin{align}a + 2 d + c &= 0\\ c &= 0\\ b + 2 e + c &= 0 \end{align} whereupon $(1)$ becomes $$a x^2 + b y^2 + 2 h x y - a x - b y = 0 \qquad (2)$$

• Next, we reference known "pole and polar" lore. Point $P$ is a pole of its parabola; and $AC$ is the corresponding polar (line). As the polar, line $AC$ has an equation derived from $(2)$ to be $$p x + q y + r = 0$$ where $$p = a u + h v - \frac{1}{2}a \qquad q = h u + b v - \frac{1}{2}b \qquad r = - \frac{1}{2} a u - \frac{1}{2}b v$$ We know that $A(1,0)$ and $B(0,1)$ lie on this line, so $$p + r = 0 = q + r$$ Solving the system for $u$ and $v$ gives $$u = \frac{b}{2h} \qquad v = \frac{a}{2h} \qquad \implies \qquad u v = \frac{a b}{4h^2}$$

• Finally, simply recall (or look-up) that, for $(1)$ to represent a parabola, we must have $h^2 = a b$. Therefore, $$u v = \frac{1}{4}$$ The locus of $P(u,v)$ is indeed a hyperbola with $AB$ and $BC$ (aka, the coordinate axes in our affinely-transformed case) as its asymptotes.

• The final result $uv = \tfrac14$ is the same as Achille's equation $( \vec{A}_{d} \cdot ( \vec{P} - \vec{B} ) )\;( \vec{C}_{d} \cdot ( \vec{P} - \vec{B} ) ) = \frac14$, I suppose. The moral is that things are much easier when you choose a good coordinate system. – bubba Sep 8 '13 at 10:28
• This is starting to smell a bit like "blossoming". Given a polynomial $f(t)$ of degree $n$, there is a symmetric multi-affine function $F$ with the property that $F(t, \ldots, t) = f(t)$. If $f$ is a quadratic Bezier curve, parameterized over the interval $[u,v]$, then it's control points are $F(u,u)$, $F(u,v)$, and $F(v,v)$. Blossoming is closely related to polar forms. – bubba Sep 8 '13 at 10:35
• @bubba: "[T]hings are much easier when you choose a good coordinate system." Agreed. Annoyingly, while the simplification $a=b=1$, $\theta = \pi/4$ helps remove a great deal of trigonometric clutter in my geometric approach, things remain very complicated. – Blue Sep 8 '13 at 10:43
• @bubba: I never heard of "blossoming" before, so I can't confirm your olfactory suspicions. :) – Blue Sep 8 '13 at 10:45
• algebra folks call these things polar forms. People in CAD re-invented them and have used them to great advantage to study Bezier curves. I'll dig up a couple of references. – bubba Sep 8 '13 at 11:28