We want to investigate the singular points of an involute of the cubical parabola .
If the curve is given parametrically by , an involute is given by
!["conjugate(E)(t)=conjugate(r)(t)-(conjugate(r)'(t))/(|conjugate(r)'(t)|)*(∫)[a]^(t)|conjugate(r)'(tau)| ⅆtau"](/view.aspx?sf=208722_post/e8e6a090cc8ef6ebf7a9925a7d79d702.gif)
What we want to do is to leave the integral unevaluated and compute only its derivatives. The simplest way is to define . Both and will be handled automatically by Maple. We'll do it in a slightly more complicated way, leaving S(a, t) completely inert with the exception of the condition S(a, a)=0 and implementing a more efficient numerical evaluator.
> |
![forget(diff); forget(series); r := proc (t) options operator, arrow; [t, t^3] end proc; s := unapply(sqrt((diff(r(t)[1], t))^2+(diff(r(t)[2], t))^2), t); S := proc (a, t) options operator, arrow; `if`(t = a, 0, 'S(a, t)') end proc; `diff/S` := proc (at, ft, t) options operator, arrow; s(ft)*(diff(ft, t))-s(at)*(diff(at, t)) end proc; E := unapply(r(t)-`~`[`*`](diff(r(t), t), S(a, t)/s(t)), [a, t])](/view.aspx?sf=208722_post/d00a08f93f78a111487f0b4fd1fd477b.gif)
|
> |
![forget(evalf); `evalf/S` := (proc () local acur, Ssol; acur := undefined; Ssol := subs(dsolve({diff(f(t), t) = s(t), f(a) = 0}, f(t), numeric, parameters = [a], output = listprocedure), f(t)); proc (a, t) if [a, t]::(list(numeric)) then if a <> acur then Ssol(parameters = [a]); acur := a end if; Ssol(t) else 'S(a, t)' end if end proc end proc)()](/view.aspx?sf=208722_post/5ce18ce5e304bb958eea856cc325708f.gif)
|
> |
![plot([[op(r(t)), t = -1 .. 3], [op(E(1, t)), t = -1.5 .. 4]], view = -1 .. 3, scaling = constrained)](/view.aspx?sf=208722_post/9e20bd6fca6a94d4872483bdb3bdea3b.gif)
|
> |

|
![[18*S(a, t)*t^3/(9*t^4+1)^(3/2), -6*t*S(a, t)/(9*t^4+1)^(3/2)]](/view.aspx?sf=208722_post/e5639f19bc759cc6987c09013e8ea128.gif)
|
(1) |
The singular points are easily determined now: we need either S(a, t)=0, which implies t=a, or t=0. We assume a>0.
Compute the Taylor series around t=a first.
> |
, t = 0, 4); ser := collect(convert(%, polynom), t, normal)](/view.aspx?sf=208722_post/84aeefd5c2aeac8331b894468196731d.gif)
|
![[-18*a^2*(6*a^4-1)*t^3/(9*a^4+1)^2+9*a^3*t^2/(9*a^4+1)+a, 2*(36*a^4-1)*t^3/(9*a^4+1)^2-3*a*t^2/(9*a^4+1)+a^3]](/view.aspx?sf=208722_post/96a7c24d05aac512c72674e661399e14.gif)
|
(2) |
The center of the expansion E(a, a) is the point on the cubical parabola.
There are two quadratic terms, which give us the slope of the tangent line. The tangent coincides with the normal to the cubical parabola at this point.
Rotate the axes to make the tangent vertical.
> |

|
> |
)); ser := `assuming`([collect(%, t, normal)], [a > 0])](/view.aspx?sf=208722_post/8211b5cd2ea8bcbfb9b79c5d3508f5bb.gif)
|
![[-12*a^2*t^3/(9*a^4+1)^(3/2), -2*(162*a^8+9*a^4-1)*t^3/(9*a^4+1)^(5/2)+3*a*t^2/(9*a^4+1)^(1/2)]](/view.aspx?sf=208722_post/333be2f5dde6e854250a0afbf62481da.gif)
|
(3) |
In the new coordinates, the leading terms are and , and the involute has the shape of a semicubical parabola. When t increases, the involute moves from the first to the second quadrant. In terms of x and y, , and the coefficient is found from the two leading terms. For t>0:
> |
![`assuming`([simplify(coeff(ser[1], t, 3)/coeff(ser[2], t, 2)^(3/2))], [a > 0])](/view.aspx?sf=208722_post/f29bf20158528726ada23e91dc5f6e43.gif)
|

|
(4) |
Now consider the second singular point t=0 in the original coordinate system.
> |
, t = 0, 6), polynom)](/view.aspx?sf=208722_post/04b237b3a4f89735cc3c6d13bf22934f.gif)
|
![[-S(a, 0)+(9/2)*S(a, 0)*t^4+(18/5)*t^5, -3*S(a, 0)*t^2-2*t^3]](/view.aspx?sf=208722_post/c8d410b83b594730d289e60943fe8777.gif)
|
(5) |
The center is the point [-S(a, 0), 0], which corresponds to the point [0, 0] on the cubical parabola. The leading terms and indicate that the tangent line is vertical and that this is a return point, with both branches lying in the second quadrant in the coordinate system shifted by [-S(a, 0), 0].
In terms of x and y, , and to determine the next term, we need to analyze the two series expansions. gives a term and fixes . gives a term, but the coefficient doesn't match the coefficient at in x. So the next term has to be in order to match . For t>0, , which gives plus higher order terms. No other terms contribute, and we can equate the coefficients at and in x and y:
> |
![collect(alpha*ser[2]^2+beta*coeff(ser[2], t, 2)^(5/2)*t^5, t); (`@`(simplify, solve))(`~`[coeff](%-ser[1], t, [4, 5]), {alpha, beta})](/view.aspx?sf=208722_post/e6e18df05b433d08d6efaf01004a7154.gif)
|

|
(6) |
We have obtained the coefficients in . and are negative, while for t<0, has the opposite sign, and the branch corresponding to t<0 is the one which is closer to the vertical tangent.
This could have been done by using Groebner:-Basis to eliminate t from the two series and then using algcurves:-puiseux. But it is still necessary to determine the truncation order.
There is also a separate case a=0.
> |
, t = 0, 6)](/view.aspx?sf=208722_post/5494116b6bba59e37e3859654f6eb3b6.gif)
|
![[series((18/5)*t^5+O(t^6),t,6), series(-2*t^3+O(t^7),t,7)]](/view.aspx?sf=208722_post/ccff4164fba8b75c6038e84dcd6a160a.gif)
|
(7) |
Now the singularity is an inflection point, and the involute has a vertical tangent and moves from the second to the fourth quadrant. In the fourth quadrant, , and we find in the same way as before:
> |
![coeff(ser[1], t, 5)/(-coeff(ser[2], t, 3))^(5/3)](/view.aspx?sf=208722_post/56e1cb13d80c3a4e78aff72a51f971cf.gif)
|

|
(8) |
Finally let's consider the asymptotic behavior of an involute at infinity. Now we do have to investigate S(a, t). One possible way is to apply the binomial formula to and integrate term by term:
> |
![`assuming`([int(3*tau^2*binomial(1/2, k)*(9*tau^4)^(-k), tau = a .. t)], [0 < a and a < t])](/view.aspx?sf=208722_post/c20d99df6c887442da005e1baa5eb80a.gif)
|

|
(9) |
This is the power series expansion of S(a, t) for large t, valid for . Substituting it into E(a, t), we obtain the required asymptotics.
> |

|
![[-S(a, t)/(9*t^4+1)^(1/2)+t, -3*t^2*S(a, t)/(9*t^4+1)^(1/2)+t^3]](/view.aspx?sf=208722_post/0c5808a2d181081179d99169ae5bb5f5.gif)
|
(10) |
In the x component, we get . In the y component, we get . Thus the involute approaches a horizontal asymptote when t goes to +infinity, and the constant term gives the position of the asymptote:
> |
![`C__+` := `assuming`([unapply(sum(3*binomial(1/2, k)*9^(-k)*a^(-4*k+3)/(4*k-3), k = 0 .. infinity), a)], [a > 1/sqrt(3)])](/view.aspx?sf=208722_post/79e15d693f5f5ad179b28b3d67af2be9.gif)
|
![proc (a) options operator, arrow; -a^3*hypergeom([-3/4, -1/2], [1/4], -(1/9)/a^4) end proc](/view.aspx?sf=208722_post/01e112a3e42e642a3267cb50e09011dc.gif)
|
(11) |
That in fact extends to all positive . For the asymptotics at -infinity, first we compute the integral over [a, -a], this time using the power series for small t. For the integral from -a to -t, S(-a, -t) = -S(a, t), and we need to subtract the value found above:
> |
![`C__-` := `assuming`([unapply(sum(int(binomial(1/2, k)*(9*tau^4)^k, tau = a .. -a), k = 0 .. infinity)-`C__+`(a), a)], [0 < a and a < 1/sqrt(3)])](/view.aspx?sf=208722_post/dc45521c6d1f129fd7e3d83b74d24db4.gif)
|
![proc (a) options operator, arrow; -2*a*hypergeom([-1/2, 1/4], [5/4], -9*a^4)+a^3*hypergeom([-3/4, -1/2], [1/4], -(1/9)/a^4) end proc](/view.aspx?sf=208722_post/40312982c099b8bda752affa6aa1bb7f.gif)
|
(12) |
For negative , and are swapped.
This could have been done by converting S(a, t) into a difference of two integrals of hypergeometric type, for which Maple is able to find the asymptotics automatically.
> |
![inv := proc (a, T) plots:-display(plot([op(r(t)), t = -1 .. 2], color = black), plot([op(E(a, t)), t = -1.5 .. T], color = red), plottools:-line(r(T), E(a, T), linestyle = dot), map(proc (y) options operator, arrow; plottools:-line([-1, y], [3, y], linestyle = spacedot) end proc, [-`C__+`(a), -`C__-`(a)]), scaling = constrained, view = [-1 .. 3, -1 .. 3]) end proc](/view.aspx?sf=208722_post/65f0dc0c27ddf58bf522f5a239871c21.gif)
|
> |
![Explore(inv(a, t), a = -.3 .. 1.3, t = -1. .. 4., initialvalues = [a = 1., t = 3.])](/view.aspx?sf=208722_post/dd5ccce59f48e1e84868b3c1e70b66b2.gif)
|
> |

|
|