// retract.fe // J. F. Adams' deformation retract soap film. // For typical evolution, after loading give the command "gogo". parameter ht = .2 // ring height parameter rad = 1 // ring radius parameter sep = 2 // ring centers from origin #define th .2 // opening angle boundary 1 parameters 1 // right top x1: rad*sin(p1) x2: sep - rad*cos(p1) x3: ht boundary 2 parameters 1 // right lower x1: rad*sin(p1) x2: sep - rad*cos(p1) x3: -ht boundary 3 parameters 1 // left top x1: -rad*sin(p1) x2: rad*cos(p1) - sep x3: ht boundary 4 parameters 1 // left bottom x1: -rad*sin(p1) x2: rad*cos(p1) - sep x3: -ht // Center arcs boundary 5 parameters 1 x: 0.081080423768533 + 0.117588907026528*cos(p1) + 0.043444251233214*sin(p1) y: 0.138269056995980 + 0.881664365162778*cos(p1) + -0.346712646265299*sin(p1) z: -0.139409136452580 + 0.339409136452580*cos(p1) + 0.885584950027700*sin(p1) boundary 6 parameters 1 x: 0.000000000000000 + -0.198669330795062*cos(p1) + 0.052546314288196*sin(p1) y: -0.000000000000000 + 1.019933422158759*cos(p1) + -0.269763540951747*sin(p1) z: -0.074833555396896 + 0.274833555396896*cos(p1) + 1.039102347526477*sin(p1) boundary 7 parameters 1 x: -0.081080423768533 + 0.081080423768533*cos(p1) + -0.095606061013008*sin(p1) y: -0.138269056995980 + 0.938269056995980*cos(p1) + -0.131121655580023*sin(p1) z: -0.139409136452580 + 0.139409136452580*cos(p1) + 0.938096134890553*sin(p1) boundary 8 parameters 1 x: 0.081080423768533 + 0.117588907026528*cos(p1) + 0.043444251233214*sin(p1) y: 0.138269056995980 + 0.881664365162778*cos(p1) + -0.346712646265299*sin(p1) z: 0.139409136452580 + -0.339409136452580*cos(p1) + -0.885584950027700*sin(p1) boundary 9 parameters 1 x: 0.000000000000000 + -0.198669330795062*cos(p1) + 0.052546314288196*sin(p1) y: -0.000000000000000 + 1.019933422158759*cos(p1) + -0.269763540951747*sin(p1) z: 0.074833555396896 + -0.274833555396896*cos(p1) + -1.039102347526477*sin(p1) boundary 10 parameters 1 x: -0.081080423768533 + 0.081080423768533*cos(p1) + -0.095606061013008*sin(p1) y: -0.138269056995980 + 0.938269056995980*cos(p1) + -0.131121655580023*sin(p1) z: 0.139409136452580 + -0.139409136452580*cos(p1) + -0.938096134890553*sin(p1) vertices 1 0 boundary 5 fixed 2 pi/2 boundary 1 fixed 3 pi boundary 1 fixed 4 3*pi/2 boundary 1 fixed 5 0 boundary 6 fixed 6 0 boundary 8 fixed 7 pi/2 boundary 2 fixed 9 pi boundary 2 fixed 10 3*pi/2 boundary 2 fixed 11 0 boundary 9 fixed 12 2.628071355770669 boundary 7 fixed 13 pi/2 boundary 3 fixed 14 pi boundary 3 fixed 15 3*pi/2 boundary 3 fixed 16 2.624451909145443 boundary 6 fixed 17 2.628071355770669 boundary 10 fixed 18 pi/2 boundary 4 fixed 19 pi boundary 4 fixed 20 3*pi/2 boundary 4 fixed 21 2.624451909145443 boundary 9 fixed 22 0 sep-1-.2 0 fixed 23 2.628071355770669 boundary 8 fixed 24 1.312225954572722 boundary 6 fixed 25 1.285476091710175 boundary 7 fixed 26 1.342595264060494 boundary 5 fixed 27 1.285476091710175 boundary 10 fixed 28 1.312225954572722 boundary 9 fixed 29 1.342595264060494 boundary 8 fixed 30 0 sep-rad 0 31 rad sep 0 32 0 sep+rad 0 33 -rad sep 0 34 0 0 .9 35 0 0 -.9 36 0 rad-sep 0 37 -rad -sep 0 38 0 -rad-sep 0 39 rad -sep 0 edges 1 1 2 boundary 1 fixed 2 2 3 boundary 1 fixed 3 3 4 boundary 1 fixed 4 4 5 boundary 1 fixed 5 6 7 boundary 2 fixed 6 7 9 boundary 2 fixed 7 9 10 boundary 2 fixed 8 10 11 boundary 2 fixed 9 12 13 boundary 3 fixed 10 13 14 boundary 3 fixed 11 14 15 boundary 3 fixed 12 15 16 boundary 3 fixed 13 17 18 boundary 4 fixed 14 18 19 boundary 4 fixed 15 19 20 boundary 4 fixed 16 20 21 boundary 4 fixed 17 30 31 18 31 32 19 32 33 20 33 30 21 5 30 22 11 30 23 6 30 24 1 30 25 2 31 26 7 31 27 3 32 28 9 32 29 4 33 30 10 33 31 30 34 32 24 34 33 25 34 34 26 34 35 34 36 36 12 36 37 16 36 38 17 36 39 21 36 40 36 37 41 37 38 42 38 39 43 39 36 44 13 37 45 18 37 46 14 38 47 19 38 48 15 39 49 20 39 50 36 35 51 27 35 52 28 35 53 29 35 54 35 30 55 5 24 boundary 6 fixed 56 24 16 boundary 6 fixed 57 22 25 boundary 7 fixed 58 25 12 boundary 7 fixed 59 1 26 boundary 5 fixed 60 26 23 boundary 5 fixed 61 23 29 boundary 8 fixed 62 17 27 boundary 10 fixed 63 21 28 boundary 9 fixed 64 28 11 boundary 9 fixed 65 27 22 boundary 10 fixed 66 29 6 boundary 8 fixed 67 22 30 68 23 36 faces 1 25 -17 -24 1 2 -26 -5 23 17 3 27 -18 -25 2 4 -28 -6 26 18 5 3 29 -19 -27 6 28 19 -30 -7 7 4 21 -20 -29 8 30 20 -22 -8 9 17 18 19 20 10 55 32 -31 -21 11 31 -33 -57 67 12 31 -34 -59 24 13 -32 56 37 -35 14 33 35 -36 -58 15 35 -68 -60 34 16 36 40 -44 -9 17 13 45 -40 -38 18 44 41 -46 -10 19 14 47 -41 -45 20 46 42 -48 -11 21 15 49 -42 -47 22 48 43 -37 -12 23 16 39 -43 -49 24 68 50 -53 -61 25 63 52 -50 -39 26 50 -51 -62 38 27 -52 64 22 -54 28 51 54 -67 -65 29 53 54 -23 -66 30 40 41 42 43 read // alternate coloring for triple line set edge color red where valence > 2 // typical evolution gogo := { refine edges where valence != 2; g 12; t .01; V; V; r; g 12; V; V; g 12; u; V; u; V; refine edges where valence != 2; u; V; u; V; u; V; g 12; u; V; u; V; g 22; r; g 12; u; V; u; V; u; V; u; V; g 12; hessian_seek; }