Elastica Spherical script, Sabban frame

 From: bemfarmer 5 Dec 2014  (1 of 12)
 This script for the CAD program Moment of Inspiration, (Moi), creates Elastica curves on the surface of a unit sphere. The curves look very similar to the planar elastica curves, but wrap around the sphere. It is possible for the curves to be closed, under certain circumstances. A regular sphere in 3 dimension R3 space, is referred to as S2. The sphere is 3 dimensional, but in some respects, the surface of the sphere seems to have 2 dimensions. The Gaussian curvature of the unit sphere is +1. The primary reference paper for this script is: "Lectures on Elastic Curves and Rods," by Dr. David A Singer: http:www.case.edu/artsci/math/singer/publish/elaslecs.pdf A Sabban frame was used. See the pdf for more information. I've written about 5 versions, but finally got this faster version to work. I would recommend 1000 to 3000 points, which takes a few seconds to draw. And a rebuild with tolerance .001. Reference paper #3, by J. Langer & D. Singer, is: "The total squared curvature of closed curves": http:projecteuclid.org/euclid.jdg/1214438990 Only the first 5 of 22 pages could be downloaded. The rest of the paper could not be read because Euclid has access restricted to institutional subscribers of that journal. If someone has access, I would like to read the paper. - Brian Edit 12/19/14 Version3 posted. It includes "figure8" curve, looping waves, and incorporates Join and Rail and Orbit option boxes, and is relatively fast) Uploaded new draft .pdf Edit 12/20/14, Version3b posted. Corrected case of wavelike and pSquared = .5, which caused crashes. EDITED: 20 Dec 2014 by BEMFARMER

 From: bemfarmer 5 Dec 2014  (2 of 12)
 7104.2 In reply to 7104.1 When adjusting pSquared decimals, to avoid tiny closure loops when dropping below closed curve tolerance, it seems to be better to close a gap, rather than spread crossed curve ends. Two mirrored curves, unjoined may be better, which would require slight modification to the script. Maybe an unjoined checkbox? Made a "pringle" and half Sphere solid with loft. - Brian ps, Keyshot has Windows explorer thumbnails of .bip files. Didn't someone request .3dm thumbnails?

 From: bemfarmer 6 Dec 2014  (3 of 12)
 Replaced F version with ElasticaSphericalJ version, with slight modifications to the end of the script. The F version did an automatic Join of "righthand" curve with its mirror, at the startpoint (0,0,1). If the ends of the two curves occur very close together, within some tolerance, Moi will close the ends of the curves, even though there was a slight gap, or a slight crossover. This could even cause a tiny loop to form. With the Join Halves checkbox unchecked, the two halves of the curve remain unjoined. The ends of the two curves maintain their gap or crossed configuration, to aid in fine-tuning closure. The user can then join any tiny gap remaining. (Best not to close a tiny crossover of the ends.) - Brian ps. For the "pringle" curve, the pSquared was 0.013+, not 0.13 EDITED: 7 Dec 2014 by BEMFARMER

 From: bemfarmer 12 Dec 2014  (4 of 12)
 Here is version JR of the script. A Rail is added, for creating a Ribbon. One rail is added, without mirror. Mirror can be done manually after the script closes. A second "outer" rail can be done by re-running the script, with a negative width. Delete the extra copy of the main curve. Rebuild is good after mirror and/or closure of the curves. The ribbon can be done by loft, with loft options, or sweep of a line segment, which causes some cross bowing curving or arching. The solid was generated with a loft, small 3d scale from origin, and two more lofts. Cross tangent line segments could be done, but loft gets the "same" result. - Brian Edit 12/19/2014 Version 3 in post #1 incorporates Join and Ribbon Rail. EDITED: 19 Dec 2014 by BEMFARMER Attachments:

 From: bemfarmer 12 Dec 2014  (5 of 12)
 A few species of Elastica seem to be missing from/with this script. - Brian

 From: bemfarmer 15 Dec 2014  (6 of 12)
 Flow onto an egg, using the egg script and 360 degree revolve. The base circle was a unit sphere. The equator of the original is at an angle to the frame. Sweep of a line from the origin. Had to do it in 4 sections. - Brian Image Attachments:

 From: bemfarmer 16 Dec 2014  (7 of 12)
 7104.7 In reply to 7104.5 There is a "small" division error in the orbitlike curves equation. The "missing" wavelike elastica are due to a major misunderstanding on my part of the Singer lecture equations about pSqr < 1/2. Half of the wavelike curves are missing. So, after re-arranging some of the logic flow of some of the inequalities in the script, I will be posting version 3, which will include the Mirror, Join and Rail improvements. All of the curves and pictures posted above are correct. - Brian ps, I ran Microsoft Fixit program to improve computer performance, mostly by not loading so many programs on startup.

 From: bemfarmer 17 Dec 2014  (8 of 12)
 7104.8 In reply to 7104.7 The missing elastica have been found! I still need to polish up the script before posting it. I'm getting low on remaining upload space, time to go delete some old files. - Brian

 From: bemfarmer 19 Dec 2014  (9 of 12)
 The latest version 3 is posted in post #1. The .js and .htm files are named _ElasticaSpherical, without the 3. This version is fast, but 3000 points takes a few seconds to form the curve. The "missing" elastica cases are included, which include "figure8" and some "wavelike" curves which loop back on themselves. "Pleats" can be more curvy. Corrected an error in the orbitlike formula. The borderline case can also be formed, but cycles should be made fractional. It is sort of a circle with a "90 degree" loop on one side. No crashes have been encountered, so the script should cover all of the cases. Negative lambda can occur in some cases, which tends to make the curves smaller in size. Curves with lambda less than 8/7 may be made to close. Curves with lambda greater than 8/7 are not supposed to close with "perfection", but they can be made to close, and be very nearly uniformly symmetrical. The last loop, with the join does not quite equal the first curve, as may be seen by increasing the cycle number, or doing rotation, and seeing slight displacement. I've rewritten, and am still rewriting the .pdf documentation, including the curve Cases, and more sample closed curves. Edit: uploaded Dec. 19 draft of .pdf, as the old one was so out of date. Has parameters for a "figure8" and a "looping wave." - Brian EDITED: 19 Dec 2014 by BEMFARMER