Catenoid soap bubbles
|
11-06-2021, 07:51 PM
(This post was last modified: 11-07-2021 10:05 AM by ijabbott.)
Post: #1
|
|||
|
|||
Catenoid soap bubbles
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?) — Ian Abbott |
|||
11-07-2021, 12:11 PM
(This post was last modified: 11-07-2021 01:18 PM by C.Ret.)
Post: #2
|
|||
|
|||
RE: Catenoid soap bubbles
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 ? |
|||
11-07-2021, 04:27 PM
Post: #3
|
|||
|
|||
RE: Catenoid soap bubbles
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 |
|||
11-07-2021, 05:44 PM
(This post was last modified: 11-07-2021 05:46 PM by Wes Loewer.)
Post: #4
|
|||
|
|||
RE: Catenoid soap bubbles
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. |
|||
11-07-2021, 07:56 PM
Post: #5
|
|||
|
|||
RE: Catenoid soap bubbles
(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. He's actually Australian, but I think he pronounces it the same way as the Brits! — Ian Abbott |
|||
11-07-2021, 08:08 PM
Post: #6
|
|||
|
|||
RE: Catenoid soap bubbles
(11-07-2021 04:27 PM)Albert Chan Wrote: I don't understand the complexity. 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. — Ian Abbott |
|||
11-08-2021, 01:56 PM
(This post was last modified: 12-18-2021 01:01 PM by Albert Chan.)
Post: #7
|
|||
|
|||
RE: Catenoid soap bubbles
(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. mpmath can handle multiple nonlinear equations with multiple unknowns. And, with different solver to suit the need >>> 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] |
|||
11-08-2021, 04:28 PM
Post: #8
|
|||
|
|||
RE: Catenoid soap bubbles
That's a very nice substitution, Albert!
— Ian Abbott |
|||
11-08-2021, 06:03 PM
(This post was last modified: 11-10-2021 11:23 AM by Albert Chan.)
Post: #9
|
|||
|
|||
RE: Catenoid soap bubbles
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 |
|||
11-09-2021, 02:57 AM
Post: #10
|
|||
|
|||
RE: Catenoid soap bubbles
A search on Google Images for "catenoid soap bubbles" apparently allows for misspellings.
<0|ɸ|0> -Joe- |
|||
11-09-2021, 08:29 AM
(This post was last modified: 11-09-2021 08:36 AM by ijabbott.)
Post: #11
|
|||
|
|||
RE: Catenoid soap bubbles
(11-09-2021 02:57 AM)Joe Horn Wrote: A search on Google Images for "catenoid soap bubbles" apparently allows for misspellings. I wonder whether an android would keep a catenoid as a pet? (ISTR Data had a real cat though!) — Ian Abbott |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)