HP Forums
Catenoid soap bubbles - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: General Forum (/forum-4.html)
+--- Thread: Catenoid soap bubbles (/thread-17677.html)



Catenoid soap bubbles - ijabbott - 11-06-2021 07:51 PM

Here is a nice demonstration of the minimum surface area of a soap film between two hoops by Matt Parker:





(Something for Albert Chan to sink his teeth into, perhaps?)


RE: Catenoid soap bubbles - C.Ret - 11-07-2021 12:11 PM

Why Matt Parker doesn't use a pocket calculator with Python instead of his laptop; so much easier to handle when standing-up in front of a white board ?

As I remember,he was a fan of CASIO calculators. Is there no CASIO handled with a Python application inside ?


RE: Catenoid soap bubbles - Albert Chan - 11-07-2021 04:27 PM

I don't understand the complexity.

Let R = D/2 = 1.068/2 = 0.534 m
Let H = L/2 = 0.5/2 = 0.25 m

First, with symmetry, b = 0.25 m (not need to solve at all)
Shift axis so that x=0 has radius of r (= Matt's a), x=H have radius of R

(y/r) = cosh(x/r)

At x=0, we have y = r
At x=H, we have y = R, (R/r) = cosh(H/r)

Casio FX-115MS, solve for r:

0.534 - X*cosh(0.25/X) [SOLVE] (guess r = R = 0.534)       → r = 0.465190824


RE: Catenoid soap bubbles - Wes Loewer - 11-07-2021 05:44 PM

Two things immediately came to mind when I watched the video.

1) Coding the best fit for y=a*cosh((x-b)/a) through two points is kind of cool, but GeoGebra has a built-in Fit function that does this very thing. Using the numbers from the video, GeoGebra returns the same values that he got, including where the function "breaks". (GeoGebra can even animate the changing function as shown in the video.)

In the HP Prime Statistics 2Var app, it has an option for a User Defined equation. When I first saw this, I excitedly assumed that it would work like GeoGebra with the ability to find the best-fit for any equation. Unfortunately, that is not the case. It simply graphs the User Defined function without any attempt at a best fit. That's too bad---I thought that would be a very nice numerical feature.

2) I guess I've never heard the British pronunciation of "catenary" before. I was suspecting it might be a catenary, but even so, my American ears did a double-take when he said it the first time. Big Grin


RE: Catenoid soap bubbles - ijabbott - 11-07-2021 07:56 PM

(11-07-2021 05:44 PM)Wes Loewer Wrote:  2) I guess I've never heard the British pronunciation of "catenary" before. I was suspecting it might be a catenary, but even so, my American ears did a double-take when he said it the first time. Big Grin

He's actually Australian, but I think he pronounces it the same way as the Brits!


RE: Catenoid soap bubbles - ijabbott - 11-07-2021 08:08 PM

(11-07-2021 04:27 PM)Albert Chan Wrote:  I don't understand the complexity.

Let R = D/2 = 1.068/2 = 0.534 m
Let H = L/2 = 0.5/2 = 0.25 m

First, with symmetry, b = 0.25 m (not need to solve at all)
Shift axis so that x=0 has radius of r (= Matt's a), x=H have radius of R

Yes, it looked a bit suspicious when he got a b value exactly half of the length (+/- epsilon). Obviously symmetrical.

For different top and bottom radii, you really would have to solve for both a and b. It looks like Matt's Python code could be easily modified to handle different diameters at each end.


RE: Catenoid soap bubbles - Albert Chan - 11-08-2021 01:56 PM

(11-07-2021 08:08 PM)ijabbott Wrote:  For different top and bottom radii, you really would have to solve for both a and b.
It looks like Matt's Python code could be easily modified to handle different diameters at each end.

mpmath can handle multiple nonlinear equations with multiple unknowns.
And, with different solver to suit the need Smile

>>> from mpmath import *
>>> R1, R2, L = 1.016/2, 1.12/2, 0.5
>>> def findab(x,y): return lambda a,b: a*cosh((x-b)/a) - y
...
>>> findroot([findab(0,R1), findab(L,R2)], [R1,L/2])
matrix(
[['0.462106619540686'],
['0.204282212315188']])

---

Solving system of non-linear equations is hard.
I don't think Cas (even XCas) has built-ins to solve them.

Luckily, we can easily turn above to 1 equation with 1 unknown.

R1 = a*cosh((0-b)/a)
R1/a = cosh(b/a)

R2 = a*cosh((L-b)/a)
R2/a = cosh(L/a) * cosh(b/a) - sinh(L/a) * sinh(b/a)
        = cosh(L/a) * (R1/a) - sinh(L/a) * sqrt((R1/a-1)*(R1/a+1))

Solving in Cas (but, to avoid sqrt of negative numbers, make sure guess a < R1)

Cas> finda := (cosh(l/a)*r1 - sinh(l/a)*sqrt((r1+a)*(r1-a))) - r2
Cas> fsolve(finda(l=0.5, r1=0.508, r2=0.560), a=0.5)

0.462106619541       // = a

Cas> id(acosh(r1/a)*a) (a=Ans, r1=0.508)

0.204282212315       // = b

---

Update: I was wrong, Cas/XCas can solve this (without guesses !)

Cas> fsolve([a*cosh(b/a), a*cosh((0.5-b)/a)] = [0.508, 0.56], [a,b])

[0.462106619541, 0.204282212315]


RE: Catenoid soap bubbles - ijabbott - 11-08-2021 04:28 PM

That's a very nice substitution, Albert!


RE: Catenoid soap bubbles - Albert Chan - 11-08-2021 06:03 PM

At the end of video, Matt showed that bubble collapsed when H/R = 0.66274 ...
Let x = H/r, k = H/R

(R/r) = cosh(H/r)       → x/k = cosh(x)

In other words, if k above critical constant (0.66274 ...), equation failed to give a solution.

This is one way to solve for the constant, by geometry

Critical point (at x0) is when cosh(x) tangent line is y = x/k
Matching tangent line, we have:

y = sinh(x0)*(x-x0) + cosh(x0) = sinh(x0)*x + (cosh(x0)-x0*sinh(x0)) = x/k

constant term → x0*tanh(x0) = 1 → x0 ≈ 1.19967864026
linear term     → sinh(x0) = 1/k    → k ≈ 0.662743419349


RE: Catenoid soap bubbles - Joe Horn - 11-09-2021 02:57 AM

A search on Google Images for "catenoid soap bubbles" apparently allows for misspellings. Big Grin

[Image: cat-annoyed-soap-bubbles.jpg]


RE: Catenoid soap bubbles - ijabbott - 11-09-2021 08:29 AM

(11-09-2021 02:57 AM)Joe Horn Wrote:  A search on Google Images for "catenoid soap bubbles" apparently allows for misspellings. Big Grin

I wonder whether an android would keep a catenoid as a pet?

(ISTR Data had a real cat though!)