Specifically what maths do I need to learn to be able to do the following? Wrap the surface of a 3D volume (convex hull) with a 2D convex hexagonal mesh. My guesses so far, Some kind of projection/mapping algorithm? Some way of calculating 2D Voronoi diagrams on curved surfaces? Thanks Nic
I should possibly clarify, I wish to discretize the surface with planar hexagons. Much like what is done with finite element shell elements but hexagons not quads.
You probably can't tessellate the surface entirely with hexagons - certainly not with regular hexagons, because three regular hexagons can only meet at a point if they are all in the same plane. If you make one interior angle of a hexagon smaller than 120 degrees, you have to make another angle bigger than 120, so you just move the problem to another place in the mesh. On the other hand, you can tessellate the entire solid with tetrahedra (e.g using the Delaunay algorithm) which will give you a tessellation of the surface into triangles. You could then try to group the triangles into polygons with more sides than three, or construct the Voronoi diagram, but neither of those ideas is guaranteed to give you all hexagons.
Hi thanks for the reply Alpha. I'm not concerned if they are all regular hexagons just that they remain convex. I've been looking at some surface meshing algorithms & they are all (so far at least) either based on Delunay triangulation or Voronoi diagrams. I was wondering a couple of things, 1) if there was a more generalized version of Delunay triangulation (Delunay polygonation :) )? 2) if there is a way to seed a given surface such that the individual polygons generated by the Voronoi diagram are planar hexagons? What do you think I should be looking into to find out? I'm not a trained mathematician or computational geometer so I'm not familiar with the area as much as I'd like to be.
I think the "obvious" generalization of Delaunay triangulation is into n dimensional space (not necessarily limited to n = 3) not to polygons with more sides. I don't think your idea about an all-hexagon mesh is possible. You can tessellate a plane into regular hexagons, because the angles work out nicely: 3 x 120 = 360. That has to be true "on average", even if the individual hexagons are irregular. And to make the mesh cover a convex surface, the angles meeting at a point must be less than 360. Look at this, from http://en.wikipedia.org/wiki/Geodesic_dome - there are a few pentagons among the hexagons. The same is true of a soccer ball:
Yes thats what I thought but then I came along things like this... and They are from a post on Create a hexagonal mesh on a torus I dont have access to Mathematica so unfortunately this isnt a solution. I would ideally like to be able to generate my own meshes on my own surfaces.
Your original post said "convex hull". That excludes a torus. In principle, to make a hex mesh on a torus, you can make a hex mesh on a flat rectangle, join one pair of edges to make a cylinder, then bend it round and join the other edges to make the torus.
Not all surfaces can be covered using only hexagons. For example, you can't cover a sphere in only hexagons: you also need twelve pentagons. You can cover a torus in hexagons. Whether or not you can cover a surface in only hexagons is determined by its Euler characteristic.
My apologies, I appear to have used that term incorrectly. Could you expand on this please? In particular which Euler characteristics would allow for hexagonal meshing & why?
The basic idea of a convex hull is that if you take any two points on the surface, the straight line joining them is entirely "inside" the surface. That doesn't apply to a torus, because the line might go across the hole through it. The basic ideas of Euler characteristics are on the page in The_Duck's link, http://en.wikipedia.org/wiki/Euler_characteristic In the "soccer" ball section it calculates E for a mesh of hexagons and pentagons. If there are no pentagons the Euler characteristic would be 0. So you can cover a torus, a Mobius strip, or a Klein bottle. If you use a few elements with more than 6 sides, you can get negative Euler characteristics so you could cover a double or triple torus. But you are on your own to work out the details
So if I have a surface that is morphologically the same as a torus I should be able to mesh its surface with hexagons?
Yes. (As in the old joke that a topologist is somebody who can't tell the difference between a teacup and a doughnut).