3
$\begingroup$

This minimal surface is the subject of Michael Foster's beautiful wood-turned sculpture "Inversion" (see http://breezyhillturning.com/styled-2/photos-2/index.html).

In addition, how can one create 2D projections of this minimal surface?

$\endgroup$
  • 2
    $\begingroup$ Topologically, this is the Seifert surface of the union of a trefoil knot and an unknot (a circle). Seifert gave an algorithm for obtaining such a surface, but converting it to Mathematica code is another matter. As is making it a minimal surface... $\endgroup$ – Rahul Dec 16 '14 at 10:53
  • 2
    $\begingroup$ Although for the latter, "Visualizing Minimal Surfaces" from The Mathematica Journal seems relevant. $\endgroup$ – Rahul Dec 16 '14 at 11:00
3
$\begingroup$

Let's start with a very coarse triangle mesh that is spanned into coarse approximations of both a round circle and a trefoil knot:

R0 = MeshRegion[
   {{0.7500273036793702`, 3.76147758203428`*^-17, 2.906278119369538`*^-17}, {0.8705378492638793`, 0.07751720292285104`, 0.0008837176573538955`}, {0.7713524614216626`, 0.33636054838561097`, 0.006228199166873891`}, {0.6573509103985639`, 0.3070512205130426`, 0.028588437239951532`}, {0.6610310804045564`, -0.2984155385454792`, -0.029655789809020023`}, {0.8330929515604932`,  -0.2283642507965738`, -0.002046402312729532`}, {0.6791661090527485`, 0.002270249212695186`, -0.0002805981436901225`},  {0.7277435204772187`, -0.4206035972270632`, -0.00833424354619048`}, {-0.3750136518396851`, 0.6495426985182803`, -2.3629795066625606`*^-17},  {-0.502400791593442`, 0.7151492909569623`, 0.0008837176573538783`}, {-0.6769730104436353`, 0.4998305526700104`, 0.006228199166873873`}, {-0.5945896124265945`, 0.41575697734946326`, 0.028588437239951497`}, {-0.07208010293787873`, 0.7216774775941591`, -0.029655789809020165`},  {-0.218777233274213`, 0.8356617851634327`, -0.0020464023127295563`},  {-0.3415491480174897`, 0.5870399792227651`, -0.00028059814369024353`},  {0.0003816398831454383`, 0.8405461747863238`, -0.008334243546190527`},  {-0.3750136518396851`, -0.6495426985182804`, 3.9668187899865235`*^-18}, {-0.3681370576704374`,  -0.7926664938798135`, 0.0008837176573538869`}, {-0.0943794509780274`,  -0.8361911010556216`, 0.0062281991668738795`}, {-0.06276129797196948`, -0.7228081978625059`, 0.028588437239951504`}, {-0.5889509774666775`, -0.4232619390486799`, -0.02965578980902008`}, {-0.6143157182862803`, -0.6072975343668591`, -0.002046402312729543`}, {-0.33761696103525873`, -0.5893102284354601`, -0.00028059814369018016`}, {-0.7281251603603641`, -0.4199425775592605`, -0.008334243546190499`}, {-0.0000573538651297449`, -0.0021211046948096464`, 0.010235243567421528`}, {-0.11515098290606908`, -0.10323214348312777`, 0.03651746930822393`}, {0.08003195228032729`, -0.1389576306413695`, 0.0015590551459508308`}, {0.14919313946910776`, 0.04539711796317642`, -0.041715744314098344`}, {-0.03469928049253633`, 0.15563767609535087`, 0.03148964601765504`}, {0.25000000000000006`, 0.4330127018922193`, 0.25`}, {0.25`, 0.4330127018922197`, -0.25`}, {0.2500000000000001`, -0.4330127018922194`, 0.25`}, {0.24999999999999925`, -0.433012701892219`, -0.25`}, {-0.5000000000000001`, 1.8369701987210302`*^-16, 0.25`}, {-0.49999999999999994`, 6.123233995736765`*^-17, -0.25`}, {0.7071067811865474`, -0.7071067811865477`, 0.`}, {0.8660254037844384`, -0.5000000000000004`, 0.`}, {0.9659258262890683`, -0.2588190451025207`, 0.`}, {1.`, 0.`, 0.`}, {0.9659258262890683`, 0.25881904510252074`, 0.`}, {0.8660254037844387`, 0.49999999999999994`, 0.`}, {0.7071067811865476`, 0.7071067811865475`, 0.`}, {0.75`, 0.`, 0.`}, {0.25881904510252074`, 0.9659258262890683`, 0.`}, {6.123233995736766`*^-17, 1.`, 0.`}, {-0.25881904510252085`, 0.9659258262890683`, 0.`}, {-0.4999999999999998`, 0.8660254037844387`, 0.`}, {-0.7071067811865475`, 0.7071067811865476`, 0.`}, {-0.8660254037844387`, 0.49999999999999994`, 0.`}, {-0.9659258262890682`, 0.258819045102521`, 0.`}, {-0.37499999999999944`, 0.6495190528383293`, -1.2246467991473532`*^-16}, {-0.9659258262890684`, -0.25881904510252035`, 0.`}, {-0.8660254037844386`, -0.5000000000000001`, 0.`}, {-0.7071067811865477`, -0.7071067811865475`, 0.`}, {-0.5000000000000004`, -0.8660254037844384`, 0.`}, {-0.25881904510252063`, -0.9659258262890683`, 0.`}, {-1.8369701987210297`*^-16, -1.`, 0.`}, {0.2588190451025203`, -0.9659258262890684`, 0.`}, {-0.37500000000000033`, -0.6495190528383288`, -6.123233995736766`*^-17}, {-0.12499999999999994`, 0.21650635094610968`, 3.061616997868383`*^-17}, {-0.12499999999999996`, -0.21650635094610968`, 1.5308084989341916`*^-16}, {0.25`, 0.3383883476483184`, 0.17677669529663687`}, {1.9791719275740164`*^-17, 0.32322330470336313`, 0.1767766952966369`}, {0.2799195929682706`, 0.16161165235168123`, -0.17677669529663664`},  {2.0720310340813742`*^-16, 0.6767766952966366`, -0.17677669529663712`}, {-1.243218620448825`*^-16, -0.676776695296637`, 0.17677669529663684`}, {0.2799195929682708`, -0.16161165235168182`, 0.1767766952966371`}, {-1.3854203493018116`*^-16, -0.32322330470336313`, -0.17677669529663692`}, {0.5861058108161683`, -0.33838834764831854`, -0.17677669529663653`}, {-0.586105810816168`, 0.3383883476483182`, 0.17677669529663695`}, {-0.27991959296827107`, -0.1616116523516814`, 0.17677669529663714`}, {-0.2799195929682707`, 0.1616116523516815`, -0.17677669529663687`}, {-0.586105810816168`, -0.33838834764831854`, -0.17677669529663675`}, {0.5000000000000001`, 0.8660254037844387`, 0.`}, {0.5000000000000001`, -0.8660254037844387`, 0.`}, {-1.`, 1.2246467991473532`*^-16, 0.`}},
   Triangle[{{30, 64, 65}, {30, 65, 31}, {63, 66, 75}, {30, 31, 66}, {30, 66, 63}, {32, 68, 69}, {32, 69, 33}, {67, 70, 76}, {32, 33, 70}, {32, 70, 67}, {34, 72, 73}, {34, 73, 35}, {71, 74, 77}, {34, 35, 74}, {34, 74, 71}, {4, 3, 75}, {8, 1, 5}, {7, 1, 4}, {40, 2, 39}, {3, 2, 40}, {42, 3, 41}, {76, 5, 70}, {63, 4, 75}, {70, 5, 7}, {38, 6, 37}, {6, 8, 37}, {3, 4, 1}, {7, 63, 43}, {6, 38, 2}, {39, 2, 38}, {1, 8, 6}, {75, 3, 42}, {2, 1, 6}, {2, 3, 1}, {4, 63, 7}, {8, 76, 36}, {3, 40, 41}, {70, 7, 43}, {1, 7, 5}, {76, 8, 5}, {37, 8, 36}, {12, 11, 77}, {16, 9, 13}, {15, 9, 12}, {48, 10, 47}, {11, 10, 48}, {50, 11, 49}, {75, 13, 66}, {71, 12, 77}, {66, 13, 15}, {46, 14, 45}, {14, 16, 45}, {11, 12, 9}, {15, 71, 51}, {14, 46, 10}, {47, 10, 46}, {9, 16, 14}, {77, 11, 50}, {10, 9, 14}, {10, 11, 9}, {12, 71, 15}, {16, 75, 44}, {11, 48, 49}, {66, 15, 51}, {9, 15, 13}, {75, 16, 13}, {45, 16, 44}, {20, 19, 76}, {24, 17, 21}, {23, 17, 20}, {56, 18, 55}, {19, 18, 56}, {58, 19, 57}, {77, 21, 74}, {67, 20, 76}, {74, 21, 23}, {54, 22, 53}, {22, 24, 53}, {19, 20, 17}, {23, 67, 59}, {22, 54, 18}, {55, 18, 54}, {17, 24, 22}, {76, 19, 58}, {18, 17, 22}, {18, 19, 17}, {20, 67, 23}, {24, 77, 52}, {19, 56, 57}, {74, 23, 59}, {17, 23, 21}, {77, 24, 21}, {53, 24, 52}, {68, 27, 69}, {73, 29, 60}, {25, 29, 73}, {61, 27, 26}, {26, 72, 61}, {62, 28, 27}, {29, 28, 65}, {29, 65, 64}, {72, 26, 73}, {29, 64, 60}, {62, 27, 68}, {73, 26, 25}, {26, 27, 25}, {62, 65, 28}, {27, 28, 25}, {27, 61, 69}, {28, 29, 25}}]
  ]

enter image description here

Building this from

γ = t \[Function] Evaluate[1/4 KnotData[{"TorusKnot", {2, 3}}, "SpaceCurve"][t]];
δ = t \[Function] {Cos[t], Sin[t], 0};

involved already quite a lot of handcraft (solving several Possion problems and glueing pieces together).

Next, we refine this mesh utilizing the function LoopSubdivide from this post:

 R = Nest[LoopSubdivide, R0, 5]

enter image description here

Finally, we apply areaGradientDescent from this post:

areaGradientDescent[R]

Initial area = 2.92354

Final area = 2.7772

enter image description here

This is a view from the top:

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.