I am looking to put a cool geometric mesh on this object. I came across this question that explained how to put a hexagonal mesh on a parametric equation but I have a series of geometric objects of which use the Graphics3D sphere function along with the parametric equation function, here is the code and the link to the other question.

r := 1 - b^2;
w := Sqrt[r];
denom := b*((w*Cosh[b*u])^2 + (b*Sin[w*v])^2);

breather = {-.8 u + (2*r*Cosh[b*u]*Sinh[b*u])/
    denom, (2*w*Cosh[b*u]*(-(w*Cos[v]*Cos[w*v]) - Sin[v]*Sin[w*v]))/
    denom, (2*w*Cosh[b*u]*(-(w*Sin[v]*Cos[w*v]) + Cos[v]*Sin[w*v]))/denom};

s = Graphics3D[Sphere[{0, 0, 0}, 1.3]];
s2 = Graphics3D[Sphere[{1, 0, 0}, 1]];
s3 = Graphics3D[Sphere[{2, 0, 0}, .7]];
s4 = Graphics3D[Sphere[{2.7, 0, 0}, .5]];
s5 = Graphics3D[Sphere[{3.3, 0, 0}, .33]];
s2n = Graphics3D[Sphere[{-1, 0, 0}, 1]];
s3n = Graphics3D[Sphere[{-2, 0, 0}, .7]];
s4n = Graphics3D[Sphere[{-2.7, 0, 0}, .5]];
s5n = Graphics3D[Sphere[{-3.3, 0, 0}, .33]];

c = ParametricPlot3D[
   Evaluate[breather /. b -> 0.7], {u, -6, 6}, {v, -40, 40}, 
   PlotRange -> All, PlotPoints -> {60, 150}];

t = Show[s, c, s2, s3, s4, s5, s2n, s3n, s4n, s5n]

enter image description here Create a torus with a hexagonal mesh for 3D-printing

  • 4
    $\begingroup$ Are you sure that it is at all possible to tile the sphere with hexagons only? With hexagons and pentagons it's possible, see e.g. bucky ball. It's relatively easy to see that a hexagonal tiling will work for the torus because it does work for the plane (rectangle) and there's an easy mapping from a rectangle to a torus. But it is not at all obvious to me that this is possible with the sphere. It's not possible to tile the sphere with rectangles without either having some ugly "cuts" or poles where the rectangle degenerate into tiny triangles (think lat-long lines). $\endgroup$
    – Szabolcs
    Commented Apr 11, 2015 at 16:15

1 Answer 1


Euler characteristic Vertices - Edges + Faces for torus equals 0.

So you can see that when you have n regular haxagons:

6n/3 - 6n/2 + n == 0 
  (*each vertex is shared between 3 polygons*)
  (*each edge is shared between 2 polygons*)

is fulfilled for any n. That is why it was relatively easy to do what is done in linked answer.

As Szabolcs has pointed out, sphere is different, here Euler characteristic is 2.

Immediately you can see that such simple mesh of regular hexagons can't fit.

So without further details we can't help you.

  • $\begingroup$ Hi@Victoria. I am afraid the hexagon detail may be lost in the narrow central areas near the axis during 3D printing. $\endgroup$
    – Narasimham
    Commented Apr 20, 2015 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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