Project a parabolic curve to straight lines.

conic sectionsgeometric-constructiongeometry

I am working with Voronoi Diagrams and I'm given a parabolic curve that is described through four parameters:

  • A start point, say $P_0(x_0,y_0)$.
  • An end point, say $P_1(x_1,y_1)$.
  • A focus point, say $F(x_f,y_f)$.
  • And a directrix line $l$, say from point $L_0$ to $L_1$.

enter image description here

Instead of calculating the parabola points (as in the Wiki), I'd like to find a third point, let's say $C$, that creates two straight lines (e.g. horizontal and vertical) between $P_0$ and $P_1$, such that it "follows" the curve. For example, for the following image, if $P_0 = (3,3)$ and $P_1 = (5,1)$, then I want to find $C = (3,1)$.

I was looking into Bezier curves, but it does not seem to fulfill my needs. The control point seems to depend on the curvature of the parabola, thus it might not give the straight lines I seek.

Is there a proper way to calculate such a point?

enter image description here

EDIT: For the figure above there are two possible solutions to connect $P_0$ to $P_1$ with two straight lines (i.e. horizontal or vertical). Either we go east then south; or south then east. Following the curve means the later solution is the one I am seeking because it somewhat follows the parabola.

enter image description here

I could say point $C$ is farthest from the focal point; but rather than this simple algorithm I would like to know if there's a more robust and mathematical definition for such point, such as Bezier Curves. You could this simply does not exist and that would be a valid solution.

enter image description here

Brainstorming: I've thought about using the tangent crossing (as in the comments below) but they don't yield the exact point I need as they depend on the slope. I've also thought about interpreting this parabola as part of a circle and computing the tangent crossings, but, intuitively, that seems to run into the same problem.

Best Answer

As far as I can see, your question is not related to the parabola. You have two points, $P_0 =(x_0, y_0)$ and $P_1 = (x_0, y_0)$, and you want to construct a third point, $C = (C_x, C_y)$. The coordinates of $C$ are given by $C_x = \min(x_0, x_1)$ and $C_y = \min(y_0, y_1)$.

But perhaps I’m not correctly understanding what you mean by “follows the curve”. If you can give a better definition of that term, then the folks here can give you a better answer.

Edit (after you improved the question)
There are only two choices for the point $C$. I described one of them above. The right choice of $C$ depends on whether the parabola lies above or below the line $P_0P_1$. So, take the mid-point of the parabola (or some other convenient point lying on the parabola) and check whether it lies above or below the line $P_0P_1$.

If above, then $C_x = \max(x_0, x_1)$ and $C_y = \max(y_0, y_1)$.

If below, then $C_x = \min(x_0, x_1)$ and $C_y = \min(y_0, y_1)$.