Natural Curve passing through three points

2.6k Views Asked by At

I want to find the formula to a curve which passes through three points in $2D$. There is no other constraint and the more natural it looks the better, possibly zero tangent derivatives in $p_0$ and $p_2$. It doesn't matter which curve type (quadratic, cubic, etc) we use and the simplest solution that works is the best.

There are optional properties that would be desirable for a solution:

  1. Being able to determine the length of the curve.
  2. Determine the $t$ variable at $p_1$.
  3. Determine tangents at $p_1$

The points can be colinear.

1

There are 1 best solutions below

5
On BEST ANSWER

is there anything wrong with the unique parabola going through those points? I'll assume you mean three points in general position (no two are colinear.)

In general, you can take $ax^2+bx+c=y$, and use all three points to determine a $3 \times 3$ system of linear equations to solve for coefficients.

In a similar fashion, you could take $(x-a)^2+(y-b)^2=r^2$ and again plug in $x,y$ to get a system of linear equations to solve.

  1. Both of these should go well, since tangent vectors amount to differentiating second order polynomials, which is easy.

  2. The parabola admits the easiest parametrization by $t$ given by $t \mapsto (t,t^2)$, while the circle can be given by $(x,y)=(a,b)+r(\cos t,\sin t)$ which is also not bad to evaluate.

  3. Arc lengths will be $\int_{t_1}^{t_2} \sqrt{x^{\prime}(t)^2+y^{\prime}(t)^2} dt$ which for the parabola is $\int_{t_1}^{t_2} \sqrt{1+4t^2} dt$ and for the circle $\int_{t_1}^{t_2} \sqrt{\cos^2t+\sin^2t} dt=\int_{t_1}^{t_2} 1 dt$. Maybe the only caveat is that if you want to find the arc length between points you have to find the appropriate $t$ that maps to a point $(x,y)$ but this is not so bad.