Monday, December 22, 2025

A classic Pursuit problem

One the most famous and classic pursuit problem goes like this: A pursuer, initially at point $(0, b)$, is trying to catch a pursuee, initially at point $(a,0)$ and running along the $x$-axis in the positive direction, by always running directly towards him. If they both run at constant speed and the ratio of pursuer's speed to that of the pursuee is $1:k$ (with $k<1$), how far do the pursuer runs in the pursuit?

This problem is discussed in The American Mathematical Monthly (P3573, Vol. 40, No. 7, (Aug. - Sep., 1933)) and Pi Mu Epsilon Journal (Vol. 6, No. 9, Fall 1978, Pg. 545) among others (for example Pursuit Curve and Pursuit).

In both AMA and PME, the solution is obtained (albeit for a special case where the pursuee starts at the origin) by solving a 'challenging' differential equation which gives the exact equation of the path traversed by the pursuer.

However, if the distance traversed by the pursuer is all we want, do we still have to go through the trouble of solving such a complicated differential equation?

A pursuit curve with $k=4/5$ (Note that Geogebra is unable to render the full curve).
One of the key points to note in this problem is that the respective distance travelled by the participants in given interval of time is directly proportional to the ratio of the speeds.

We make an assumption that the pursuer ends up catching the pursuee (say at $C$ as shown above). While this may be obvious from the full solution, for our purposes, this will remain an assumption.

Consider the infinitesimal distance $\,ds$, say between $F$ and $H$ as shown below, covered by the pursuer in time $\,dt$. Drawing tangents at these points, we know that the pursuee was at position $J$ and $K$ respectively.

As the distance covered by them are in proportion to their speeds, we know that $|JK|=k\cdot|FH|=k\,ds$.

Let $l$ denote the relative distance between the pursuer and pursuee. Then, $\,dl=|FJ|-|HK|$. To calculate this, we complete the right $\triangle FMH$ and draw a line passing through $J$ and perpendicular to $FJ$ such that it intersects line $HK$ at $L$.

We now rotate line $FJ$ about $H$ such that $F$ moves to $F'$ (not shown in image) in line $HK$. Also, because the rotation is infinitesimally small, $J$ moves to $L$ in line $HK$.

Then, $|FJ|\approx |F'L|=|FH|+|HK|-|LK|$. That is, $|FH|=|FJ|-|HK|+|LK| \implies \,ds=\,dl+|LK|$

Because both $\angle FJL$ and $\angle HLJ$ are approximately right angled, $\angle HFM = \angle LJK$. Therefore, by the similarity of $\triangle FMH$ and $\triangle JLK$ and the fact that $|JK|=k\,ds$, we have,

$|LK|=k|HM|=k\,dx$

where $\,dx$ is the infinitesimal movement of pursuer along the $x$-direction.

Combining everything we have so far, we see that $\,ds=\,dl+k\,dx$.

We have now shown that $\,d(s-l-kx)=0$ (or) $s - l - kx = \text{const.}$

We can choose $s$ to be the distance to be travelled by the pursuer to reach $C$ and $x$ to be the distance along the $x$-axis between the pursuer and $C$.

We know that at point $C$, $s=l=x=0$ which means that the constant in the equation above is $0$ giving us the relation that $s=l+kx$.

Before we celebrate our success, we notice a glaring inconvenience in the above relation. While we will know that $l=l_0$ is the relative distance between the two parties at the start of the pursuit and $s=s_0$ is the distance we are trying to find, we do not know $x_0$. However, this is simple to resolve.

Let $x_0=h_0+p_0$ where $h_0$ is the horizontal distance between the pursuer and the pursuee at the start (which should be known for the problem to be defined) and $p_0$ is the distance between the pursuee and $C$.

By our definition of point $C$, we know that the pursuer travels distance $s_0$ in the time the pursuee travels distance $p_0$. Therefore, $p_0=k\cdot s_0$. Using this and solving for $s_0$, we get (after dropping subscripts),

$\displaystyle s=\frac{l+k\cdot h}{1-k^2}$

which solves the problem of finding the distance traversed by the pursuer in a more general setting where the they are not necessarily in the same vertical.

Hope you enjoyed this post.


Until then
Yours Aye
Me

Saturday, November 8, 2025

Arclength of the Cycloid(s) from velocity vectors

Cycloid, the curve traced by a point on the rim of a circle rolling on a straight line, probably needs no introduction. Amongst its other distinctions, it remains one of the first few curves to be rectified. In this post we attempt to rectify the cycloid(s) with kinematics.




The cycloid's trajectory is a combination of simple motions - rolling and translation. Because the circle rolls without slipping on the straight line, its translational velocity is equal to its rotational velocity.

In fact, at the point at which the circle touches the base, the velocities are exactly equal in magnitude and opposite in direction making this point the instantaneous center of rotation.

The green vectors in the image below shows the translational and rotational velocities, and the velocity of the tracing point is represented by the red vector. Further, the rotational velocity vector is further resolved along the perpendicular components $PG$ and $PO'$.


From the geometry of the configuration, we can easily see that $|PF|=2\cdot |HE|$.

Because $PE$ represents the circle's infinitesimal arclength (in time $dt$) and $HE$ is the component of that arclength along $PG$, we also know that $|HE|=d(|PG|)$. Therefore, the infinitesimal arclength $ds$ of the cycloid traversed by the tracing point $P$ in time $dt$ is,

$ds=|PF|=2\cdot |HE|=2\cdot d(|PG|)$

As the change in arclength is equal to twice the change in $PG$ in any given time interval, the total arclength of the semiarch of the cycloid is equal to twice the diameter of the circle.

We can use the almost same reasoning for hypocycloids which are curves traced by a point on a rolling  circle of radius (say) $b$ inside within a larger circle of radius (say) $a$. For integer $q=a/b$, we get nice closed hypocycloids. The case for $q=5$ is shown below.

A pentoid ($q=5$)

Note that because the circle rolls without slipping, the angular velocity of rotation of the rolling circle is $q$ times its angular velocity of its revolution. Consequently, the movement of the tracing point is a composition of (i) rotation of vector of length $a-b$ by angle $t$ in the counter-clockwise direction about the origin and (ii) rotation of a vector of length $b$ by an angle $(q-1)t$ in the clockwise direction about the origin.

The above in turn means that the velocity vectors of both the rotations noted above are the same and are proportional to $(a-b)$ times $\,dt$ (or equivalently $b$ times $(q-1)\,dt$) denoted by green vectors below.




Here again, from the geometry of the configuration, it is immediately clear that the infinitesimal arclength traversed by the tracing point in time $dt$ is $ds=|PF|=2|HE|$.

But, because the smaller circle rotates $q$ times faster, the magnitude of the velocity vector of any point on its circumference will be proportional to $b\cdot q\,dt=a\,dt$ which is represented by the cyan vector in the image above.

Therefore, $\displaystyle \frac{|HE|}{|H'E'|}=\frac{a-b}{a} \implies |HE|=\frac{a-b}{a}|H'E'|=\frac{a-b}{a}\,d(|PG|)$

We then finally have $\displaystyle ds=2\frac{a-b}{a}d(|PG|)$

Then, the arclength to be traversed by the tracing point to reach the top of the arch is $2(a-b)/a$ times its distance to the topmost point of the rolling circle.


While the demonstration given for the cycloid in Wikipedia is even nicer method to determine the arclength, it is always fun to arrive at the same results with different methods. As shown below, its is not very difficult to extend the demonstration quoted above to hypocycloids as well.


Hope you enjoyed this post.


Until then
Yours Aye
Me

Sunday, October 5, 2025

A short note on the Median ratio property in Spherical Geometry

We know that in a plane triangle, the median is divided by the centroid in the ratio $2:1$. In this post, we address the question of how this relation generalizes in Spherical geometry.

Consider a spherical triangle $ABC$ with $D$, $E$ and $F$ being the midpoints of $BC$, $CA$ and $AB$. We know from the spherical analogy of Ceva's theorem, that the three medians $AD$, $BE$ and $CF$ meet at a common point, say $G$.

Using the volume and sine-of-side relation, we know that $|ABG|=|BCG|=|CAG|$.

Then, using our results from this post, we have,

$\displaystyle \frac{\sin AG}{\sin GD}=\frac{\sin BC}{\sin BD}$

Using the fact that $D$ is the midpoint of the arc $BC$,

$\displaystyle \frac{\sin AG}{\sin GD}=\frac{\sin BC}{\sin BD}=\frac{2\sin BD \cos BD}{\sin BD}=2\cos(BC/2)$

This shows that, unlike the planar case, the median ratio is dependent on the side on which the median rests ($BC$ in this case). However, by the same relation, we see that it is independent of the vertex of the median. That is, no matter the position of $A$ and as long as the $BC$ is fixed, the ratio remains invariant.

Hope you enjoyed the post.


Yours Aye
Me

Monday, September 22, 2025

A nice analogy in Spherical Geometry with a nicer application to Ceva

It is well known that the Law of sines has a spherical counterpart. But from the Wiki article, we can infer something even better. That is,

$\displaystyle V=\frac{1}{6}\sin{a}\sin{b}\sin{C}=\frac{1}{6}\sin{b}\sin{c}\sin{A}=\frac{1}{6}\sin{c}\sin{a}\sin{B}$

where $V$ is the volume of tetrahedron formed by the vertices of the spherical triangle along with the origin. The above can be re-written as

$\displaystyle V=\frac{1}{6}\sin{a}\sin{h_a}=\frac{1}{6}\sin{b}\sin{h_b}=\frac{1}{6}\sin{c}\sin{h_c}$

where $h_a$ is the altitude passing through $A$ and so on. This way, we can see the volume described above plays a role very similar to that of area in plane geometry. From this, we note that for two spherical triangles with the same height,

$V_1/V_2=\sin{b_1}/\sin{b_2}$

This fact can be used to prove Ceva's theorem, a powerful theorem in plane geometry. Though it is well known that Ceva's theorem also works for spherical geometry, I was not able to find a clear proof which we address in post.

Note that even though the volume and sine-of-side gives a nice analogy with the planar case, we lose the ability to add or subtract the sides and area which is very useful in the planar case. However, this does not seem to be a serious limitation.

While the proof given in Wiki article uses 'subtracting two areas', we can achieve the result even without that. Using the notations used in the Wiki article (but assuming a spherical triangle) and denoting the volume of a tetrahedron formed by points $X$, $Y$, $Z$ and the origin by $|XYZ|$,

$\displaystyle \frac{\sin OC}{\sin OF}=\frac{|OCB|}{|OBF|}$ and $\displaystyle \frac{\sin FB}{\sin AB}=\frac{|OFB|}{|OAB|}$

Combining the two, we have $\displaystyle \frac{\sin OC}{\sin OF}=\frac{|OBC|}{|OAB|}\frac{\sin AB}{\sin FB}$

We can use a similar argument to show $\displaystyle \frac{\sin OC}{\sin OF}=\frac{|OCA|}{|OAB|}\frac{\sin AB}{\sin AF}$

Using the above two, we have $\displaystyle \frac{|OBC|}{|OCA|}=\frac{\sin FB}{\sin AF}$

We can replicate this to the other sides as well. Then,

$\displaystyle \frac{\sin AF}{\sin FB} \cdot \frac{\sin BD}{\sin DC} \cdot \frac{\sin CE}{\sin EA}=\frac{|OCA|}{|OBC|} \cdot \frac{|OAB|}{|OCA|}\cdot \frac{|OBC|}{|OAB|}=1$

The existence of Ceva's theorem can then be used to show the concurrency of medians, altitudes and angle bisectors of spherical triangles (strictly speaking, we need the converse of Ceva's, but at this point I'm taking it for granted).

Hope you enjoyed this post.

Yours Aye
Me 

Saturday, September 13, 2025

Sol LeWitt and his Incomplete Cubes

 The recent video on 3Blue1Brown is something I enjoyed after a long time in the channel. While any post, article or video about Burnside's Lemma is always a delight, the introduction of Sol Lewitt and his mathematical art made the video all the more satisfying to me.

Naturally, I too wanted to explore this idea. I was interested in couple of things - what if we include reflections as well? what about cubes that are unconnected?

While I tried to find the answers mathematically, I realized that I'm both stupid and lazy to figure these myself. I decided to take the easy way and use Mathematica to aid myself, and these results form the crux of this post.

While I understand that from an artist's perpective, Sol might have been interested about (only) connected cubes, we don't have to constrain ourselves with that. With a straightforward bruteforce approach, Mathematica gave me the following.

Count of Sol LeWitt's cubes by Connected Components and Number of Edges

Rows in the above matrix gives the number of connected components and the Columns represents the number of edges. For example, the top left value shows that there is exactly one cube that has $0$ connected components and $0$ edges - (obviously) the empty cube. Similarly, we can see that $23$ cubes have $6$ edges and $2$ connected components.

Some examples of Sol LeWitt's Incomplete cubes

The second row of the matrix (representing the number of cubes with exactly one connected component) was what Sol was interested. We see the two sums to $127$ of which $4$ are planar and $1$ is the complete cube giving the $122$ cubes that Sol found.

From here, I realized that the code I wrote should be easily extendable to identify reflections as well. With the assumption that the Octahedral group (3D equivalent to Dihedral group) is a combination of rotation and point reflection, I modified the same and got the following 'count' matrix.

Count of Sol LeWitt's cubes by Connected Components and Number of Edges with reflections identified

We see that there are a total of $144$ unique cubes after identifying rotations and reflections. Summing the second row, we see that there are $82$ cubes that have exactly one connected component of which we know $4$ are planar and one is the complete cube.

All $82$ connected cubes identifying reflections and rotations

First Version of Mathematica code
Clear["Global`*"];
vertexcoordinates = {1 -> {-1, -1, -1}, 2 -> {1, -1, -1}, 3 -> {1, 1, -1}, 4 -> {-1, 1, -1},
    5 -> {-1, -1, 1}, 6 -> {1, -1, 1}, 7 -> {1, 1, 1}, 8 -> {-1, 1, 1}};
cubegraph = {UndirectedEdge[1, 2], UndirectedEdge[2, 3], UndirectedEdge[1, 4], UndirectedEdge[3, 4],
    UndirectedEdge[1, 5], UndirectedEdge[2, 6], UndirectedEdge[5, 6], UndirectedEdge[3, 7],
    UndirectedEdge[6, 7], UndirectedEdge[4, 8], UndirectedEdge[5, 8], UndirectedEdge[7, 8]};
ReOrderGraph[g0_] := Module[{g = g0, temp},
    temp = Table[UndirectedEdge[Min[First[k], Last[k]], Max[First[k], Last[k]]], {k, g}];
    temp = SortBy[temp, {First, Last}];
    temp
];
cubegraph = ReOrderGraph[cubegraph];
cubegraphsubsets = Subsets[cubegraph];
cubegraphsubsets = Rest[cubegraphsubsets];
RotateGraph[g0_, p0_] := Module[{g = g0, p = p0, res},
    If[Length[g] <= 0, Return[{}];];
    res = Table[UndirectedEdge[p[[First[k]]], p[[Last[k]]]], {k, g}];
    res = ReOrderGraph[res];
    res
];
cuberotations = {
    {1, 2, 3, 4, 5, 6, 7, 8},
    {2, 3, 4, 1, 6, 7, 8, 5},
    {4, 1, 2, 3, 8, 5, 6, 7},
    {5, 6, 2, 1, 8, 7, 3, 4},
    {4, 3, 7, 8, 1, 2, 6, 5},
    {5, 1, 4, 8, 6, 2, 3, 7},
    {2, 6, 7, 3, 1, 5, 8, 4},
    {3, 4, 1, 2, 7, 8, 5, 6},
    {6, 5, 8, 7, 2, 1, 4, 3},
    {8, 7, 6, 5, 4, 3, 2, 1},
    {1, 4, 8, 5, 2, 3, 7, 6},
    {1, 5, 6, 2, 4, 8, 7, 3},
    {6, 2, 1, 5, 7, 3, 4, 8},
    {3, 2, 6, 7, 4, 1, 5, 8},
    {6, 7, 3, 2, 5, 8, 4, 1},
    {8, 4, 3, 7, 5, 1, 2, 6},
    {3, 7, 8, 4, 2, 6, 5, 1},
    {8, 5, 1, 4, 7, 6, 2, 3},
    {7, 3, 2, 6, 8, 4, 1, 5},
    {5, 8, 7, 6, 1, 4, 3, 2},
    {2, 1, 5, 6, 3, 4, 8, 7},
    {4, 8, 5, 1, 3, 7, 6, 2},
    {7, 6, 5, 8, 3, 2, 1, 4},
    {7, 8, 4, 3, 6, 5, 1, 2}
};
isomorphcounts = Association[{}];
While[Length[cubegraphsubsets] > 0,
    k = First[cubegraphsubsets];
    temp = Table[RotateGraph[k, j], {j, cuberotations}];
    temp = DeleteDuplicates[temp];
    isomorphcounts[k] = Length[temp];
    cubegraphsubsets = Complement[cubegraphsubsets, temp];
];
isomorphgraphedgelist = Keys[isomorphcounts];
graphcnt = Table[0, {5}, {13}];
graphcnt[[1, 1]] += 1;
Do[
    graphcnt[[1 + Length[ConnectedComponents[k]], 1 + EdgeCount[k]]] += 1;
, {k, isomorphgraphedgelist}
];
graphcnt // MatrixForm
(* isomorphgraphs = Table[GraphPlot3D[k, VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", VertexLabels -> "Name", Boxed -> True, PlotRange -> {{-17/16, 17/16}, {-17/16, 17/16}, {-17/16, 17/16}}], {k, isomorphgraphedgelist}]; *)
(* isomorphgraphs = Table[GraphPlot3D[k, VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", Boxed -> False, PlotRange -> {{-17/16, 17/16}, {-17/16, 17/16}, {-17/16, 17/16}}], {k, isomorphgraphedgelist}]; *)
isomorphgraphs = Table[GraphPlot3D[k, VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", Boxed -> True, BoxStyle -> Directive[Dashed, White], PlotRange -> {{-17/16, 17/16}, {-17/16, 17/16}, {-17/16, 17/16}}], {k, isomorphgraphedgelist}];
(* GraphicsGrid[Partition[isomorphgraphs, 15]] *)
(* GraphicsGrid[{Take[isomorphgraphs, {200, 202}]}] *)
(* Table[GraphPlot3D[k, VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", VertexLabels -> "Name", Boxed -> True, PlotRange -> {{-17/16, 17/16}, {-17/16, 17/16}, {-17/16, 17/16}}], {k, Take[isomorphgraphedgelist, 140]}] *)
(* GraphPlot3D[isomorphgraphedgelist[[3]], VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", VertexLabels -> "Name"] *)
(* GraphicsGrid[Partition[Take[isomorphgraphs, {200, 210}], 4]] *)
Take[isomorphgraphs, {200, 211}]

Second Version:
Clear["Global`*"];
vertexcoordinates = {1 -> {-1, -1, -1}, 2 -> {1, -1, -1}, 3 -> {1, 1, -1}, 4 -> {-1, 1, -1},
    5 -> {-1, -1, 1}, 6 -> {1, -1, 1}, 7 -> {1, 1, 1}, 8 -> {-1, 1, 1}};
cubegraph = {UndirectedEdge[1, 2], UndirectedEdge[2, 3], UndirectedEdge[1, 4], UndirectedEdge[3, 4],
    UndirectedEdge[1, 5], UndirectedEdge[2, 6], UndirectedEdge[5, 6], UndirectedEdge[3, 7],
    UndirectedEdge[6, 7], UndirectedEdge[4, 8], UndirectedEdge[5, 8], UndirectedEdge[7, 8]};
ReOrderGraph[g0_] := Module[{g = g0, temp},
    temp = Table[UndirectedEdge[Min[First[k], Last[k]], Max[First[k], Last[k]]], {k, g}];
    temp = SortBy[temp, {First, Last}];
    temp
];
cubegraph = ReOrderGraph[cubegraph];
cubegraphsubsets = Subsets[cubegraph];
cubegraphsubsets = Rest[cubegraphsubsets];
RotateGraph[g0_, p0_] := Module[{g = g0, p = p0, res},
    If[Length[g] <= 0, Return[{}];];
    res = Table[UndirectedEdge[p[[First[k]]], p[[Last[k]]]], {k, g}];
    res = ReOrderGraph[res];
    res
];
cuberotations = {
    {1, 2, 3, 4, 5, 6, 7, 8},
    {2, 3, 4, 1, 6, 7, 8, 5},
    {4, 1, 2, 3, 8, 5, 6, 7},
    {5, 6, 2, 1, 8, 7, 3, 4},
    {4, 3, 7, 8, 1, 2, 6, 5},
    {5, 1, 4, 8, 6, 2, 3, 7},
    {2, 6, 7, 3, 1, 5, 8, 4},
    {3, 4, 1, 2, 7, 8, 5, 6},
    {6, 5, 8, 7, 2, 1, 4, 3},
    {8, 7, 6, 5, 4, 3, 2, 1},
    {1, 4, 8, 5, 2, 3, 7, 6},
    {1, 5, 6, 2, 4, 8, 7, 3},
    {6, 2, 1, 5, 7, 3, 4, 8},
    {3, 2, 6, 7, 4, 1, 5, 8},
    {6, 7, 3, 2, 5, 8, 4, 1},
    {8, 4, 3, 7, 5, 1, 2, 6},
    {3, 7, 8, 4, 2, 6, 5, 1},
    {8, 5, 1, 4, 7, 6, 2, 3},
    {7, 3, 2, 6, 8, 4, 1, 5},
    {5, 8, 7, 6, 1, 4, 3, 2},
    {2, 1, 5, 6, 3, 4, 8, 7},
    {4, 8, 5, 1, 3, 7, 6, 2},
    {7, 6, 5, 8, 3, 2, 1, 4},
    {7, 8, 4, 3, 6, 5, 1, 2}
};
ReflectVertex[k_] := {7, 8, 5, 6, 3, 4, 1, 2}[[k]];
cubereflections = Table[Map[ReflectVertex, k], {k, cuberotations}];
cuberotations = Join[cuberotations, cubereflections];
isomorphcounts = Association[{}];
While[Length[cubegraphsubsets] > 0,
    k = First[cubegraphsubsets];
    temp = Table[RotateGraph[k, j], {j, cuberotations}];
    temp = DeleteDuplicates[temp];
    isomorphcounts[k] = Length[temp];
    cubegraphsubsets = Complement[cubegraphsubsets, temp];
];
isomorphgraphedgelist = Keys[isomorphcounts];
graphcnt = Table[0, {5}, {13}];
graphcnt[[1, 1]] += 1;
Do[
    graphcnt[[1 + Length[ConnectedComponents[k]], 1 + EdgeCount[k]]] += 1;
, {k, isomorphgraphedgelist}
];
graphcnt // MatrixForm
lewitts = Select[isomorphgraphedgelist, Length[ConnectedComponents[#]] == 1 &];
isomorphgraphs = Table[GraphPlot3D[k, VertexCoordinates -> vertexcoordinates, ViewProjection -> "Orthographic", Boxed -> True, BoxStyle -> Directive[Dashed, White], PlotRange -> {{-17/16, 17/16}, {-17/16, 17/16}, {-17/16, 17/16}}], {k, lewitts}];
isomorphgraphs


Yours Aye

Me

Drain times with Toricelli's law

 It's easy to calculate the drain time of water in a cylindrical tank using Toricelli's law, $v=\sqrt{2gh}$. In fact, using a simple differential equation, we can see that

$\displaystyle \sqrt{\frac{h}{H}}=1-\frac{t}{t_H}$

where $H$ is the initial height and $t_H$ is the time it takes for the tank to drain a water column of height $H$.

I got curious about the case when there is a constant inflow of water. Then, we have the differential equation,

$a\sqrt{2gh_0} \,dt-a\sqrt{2gh}\,dt=A\,dh$

where $a$ is the area of discharge, $A$ the cylindrical area and $h_0$ the measure of constant inflow. Solving this gives,

$\displaystyle \frac{t}{t_0}=\sqrt{H/h_0}-\sqrt{h/h_0}+\ln\left(\frac{1-\sqrt{H/h_0}}{1-\sqrt{h/h_0}}\right)$

where $t_0$ is the time taken to drain a water column of height $h_0$.

Plotting this shows that irrespective of the height of the water column we start with, we always end up with a steady state water column of height $h_0$.

This brings us to the next case. Suppose we have a tank with an initial water column of height $H$ which drains water into a identical tank. We know that the first tank takes time $t_H$ to drain completely and therefore, will be restricting our analysis to this timeframe.

In this case, the differential equation (using the first equation of this post) becomes

$\displaystyle a\sqrt{2gH}\left(1-\frac{t}{t_H}\right)\,dt-a\sqrt{2gh}\,dt=A\,dh$

This can be simplified to

$\displaystyle 1 - \frac{t}{t_H}-\sqrt{\frac{h}{H}}=\frac{t_H}{2H}\frac{dh}{dt}$

We now makes substitutions, $x=1 - t/t_H$ and $y=\sqrt{h/H}$ so that the above equation becomes

$\displaystyle y-x=y\frac{dy}{dx}$

Solving this homogenous differential equation, we get

$\displaystyle\ln(y^2-yx+x^2)+\frac{2}{\sqrt{3}}\tan^{-1}\left(\frac{2}{\sqrt{3}}\frac{y}{x}-\frac{1}{\sqrt{3}}\right)=C$

Let's see some special cases of height of the water column in the second tank when the first tank runs out of water.

If the second tank is empty to start with, we have $h=0,t=0 \implies y=0,x=1$ as the initial conditions. With this we get,

$\displaystyle\ln(y^2-yx+x^2)+\frac{2}{\sqrt{3}}\tan^{-1}\left(\frac{2}{\sqrt{3}}\frac{y}{x}-\frac{1}{\sqrt{3}}\right)=-\frac{\pi}{3\sqrt{3}}$

Putting $x=0$ in the above (to find the water column at $t=t_H$), we see that $\displaystyle h(t_H) =\exp\left(-\frac{4\pi}{3\sqrt{3}}\right)H$

Similarly, if the two tanks start with the same level from the start, we use the initial conditions $h=H,t=0 \implies y=1,x=1$. This time we get,

$\displaystyle\ln(y^2-yx+x^2)+\frac{2}{\sqrt{3}}\tan^{-1}\left(\frac{2}{\sqrt{3}}\frac{y}{x}-\frac{1}{\sqrt{3}}\right)=\frac{\pi}{3\sqrt{3}}$

Now, if we put $x=0$ in the above we get, $\displaystyle h(t_H) =\exp\left(-\frac{2\pi}{3\sqrt{3}}\right)H$

Finally, note that if the initial water level in the second tank is lower than that of the first tank, it's water level rises initially, reaches a maximum and then falls off.

To find the maximum height it reaches, we need $dh=0 \implies dy=0 \implies y=x$.

If we let $y_{\text{max}}$ to denote the maximum $y$ and $y_1$ to denote the value of $y$ at $x=1$, we see that

$\displaystyle\ln(y^2-yx+x^2)+\frac{2}{\sqrt{3}}\tan^{-1}\left(\frac{2}{\sqrt{3}}\frac{y}{x}-\frac{1}{\sqrt{3}}\right)=\ln y_1^2+\frac{\pi}{\sqrt{3}}$

Putting $y=x$ in the above, we have

$\displaystyle \ln y_{\text{max}}^2+\frac{\pi}{3\sqrt{3}}=\ln y_1^2+\frac{\pi}{\sqrt{3}}$

This then shows that

$\displaystyle h_{\text{max}}=\exp\left(\frac{2\pi}{3\sqrt{3}}\right)h_1$

While it was already surprising that both $\pi$ and $e$ made an appearance in this problem, this result that the max. height and final height are in a constant ratio made it all the more satisfying for me.


Until then

Yours Aye

Me

Friday, June 20, 2025

Visual proof an integer sided $120^\circ$ triangle

 





Until then
Yours Aye
Me