OK digging through Eric Weisstein another notebook I figured a "tentative" generalization, - at least it works with n=3 or n=4. The rest needs more time (also look herelook here):
OK digging through Eric Weisstein another notebook I figured a "tentative" generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
OK digging through Eric Weisstein another notebook I figured a "tentative" generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
OK digging through Eric Weisstein another notebook I figured a "tentative" generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
torusImplicit[{x_, y_, z_}, R_, r_] = (x^2 + y^2 + z^2)^2 - 2 (R^2 + r^2) (x^2 + y^2) + 2 (R^2 - r^2) z^2 + (R^2 - r^2)^2; build[n_] := tripleTorus = Module[{f, cp, polys, cartPolys, cartPolys1},(*implicit polynomial*) f = Product[ torusImplicit[{x - 1.5 Cos[i 2 Pi/n], y - 1.5 Sin[i 2 Pi/n], z}, 1, 1/4], {i, 0, n - 1}] - 10; cp = ContourPlot3D[ Evaluate[f == 0], {x, -3, 3}, {y, -3, 3}, {z, -1/2, 1/2}, BoxRatios -> Automatic, PlotPoints -> 35, MeshStyle -> Opacity[.2], ContourStyle -> Directive[Orange, Opacity[0.8], Specularity[White, 30]], Boxed -> False, Axes -> False]]; build[3] OK digging through Eric Weisstein another notebook I figured a generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
torusImplicit[{x_, y_, z_}, R_, r_] = (x^2 + y^2 + z^2)^2 - 2 (R^2 + r^2) (x^2 + y^2) + 2 (R^2 - r^2) z^2 + (R^2 - r^2)^2; build[n_] := tripleTorus = Module[{f, cp, polys, cartPolys, cartPolys1},(*implicit polynomial*) f = Product[ torusImplicit[{x - 1.5 Cos[i 2 Pi/n], y - 1.5 Sin[i 2 Pi/n], z}, 1, 1/4], {i, 0, n - 1}] - 10; cp = ContourPlot3D[ Evaluate[f == 0], {x, -3, 3}, {y, -3, 3}, {z, -1/2, 1/2}, BoxRatios -> Automatic, PlotPoints -> 35, MeshStyle -> Opacity[.2], ContourStyle -> Directive[Orange, Opacity[0.8], Specularity[White, 30]], Boxed -> False, Axes -> False]]; build[3] OK digging through Eric Weisstein another notebook I figured a "tentative" generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
torusImplicit[{x_, y_, z_}, R_, r_] = (x^2 + y^2 + z^2)^2 - 2 (R^2 + r^2) (x^2 + y^2) + 2 (R^2 - r^2) z^2 + (R^2 - r^2)^2; build[n_] := Module[{f, cp, polys, cartPolys, cartPolys1},(*implicit polynomial*) f = Product[ torusImplicit[{x - 1.5 Cos[i 2 Pi/n], y - 1.5 Sin[i 2 Pi/n], z}, 1, 1/4], {i, 0, n - 1}] - 10; cp = ContourPlot3D[ Evaluate[f == 0], {x, -3, 3}, {y, -3, 3}, {z, -1/2, 1/2}, BoxRatios -> Automatic, PlotPoints -> 35, MeshStyle -> Opacity[.2], ContourStyle -> Directive[Orange, Opacity[0.8], Specularity[White, 30]], Boxed -> False, Axes -> False]]; build[3] OK digging through Eric Weisstein another notebook I figured a generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
torusImplicit[{x_, y_, z_}, R_, r_] = (x^2 + y^2 + z^2)^2 - 2 (R^2 + r^2) (x^2 + y^2) + 2 (R^2 - r^2) z^2 + (R^2 - r^2)^2; build[n_] := tripleTorus = Module[{f, cp, polys, cartPolys, cartPolys1},(*implicit polynomial*) f = Product[ torusImplicit[{x - 1.5 Cos[i 2 Pi/n], y - 1.5 Sin[i 2 Pi/n], z}, 1, 1/4], {i, 0, n - 1}] - 10; cp = ContourPlot3D[ Evaluate[f == 0], {x, -3, 3}, {y, -3, 3}, {z, -1/2, 1/2}, BoxRatios -> Automatic, PlotPoints -> 35, MeshStyle -> Opacity[.2], ContourStyle -> Directive[Orange, Opacity[0.8], Specularity[White, 30]], Boxed -> False, Axes -> False]]; build[3] 
OK digging through Eric Weisstein another notebook I figured a generalization, - at least it works with n=3 or n=4. The rest needs more time (also look here):
torusImplicit[{x_, y_, z_}, R_, r_] = (x^2 + y^2 + z^2)^2 - 2 (R^2 + r^2) (x^2 + y^2) + 2 (R^2 - r^2) z^2 + (R^2 - r^2)^2; build[n_] := tripleTorus = Module[{f, cp, polys, cartPolys, cartPolys1},(*implicit polynomial*) f = Product[ torusImplicit[{x - 1.5 Cos[i 2 Pi/n], y - 1.5 Sin[i 2 Pi/n], z}, 1, 1/4], {i, 0, n - 1}] - 10; cp = ContourPlot3D[ Evaluate[f == 0], {x, -3, 3}, {y, -3, 3}, {z, -1/2, 1/2}, BoxRatios -> Automatic, PlotPoints -> 35, MeshStyle -> Opacity[.2], ContourStyle -> Directive[Orange, Opacity[0.8], Specularity[White, 30]], Boxed -> False, Axes -> False]]; build[3] 