- #1
Starbug
- 17
- 0
"unflattening" a surface
Hi,
I have a strange problem to solve. Imagine having a surface defined in 3D, say for example a cone, pointing up in the Z direction and sliced in half through the Y-Z plane.
The half cone is then sliced further into a number of sections with horizontal cuts through the XY plane. The different sections are then flattened to 2D panels. (I'm not sure exactly what name would be given to the process for doing this, and I think there are possibly quite few ways it could be done, but the goal in general when flattening is to preserve some properties of the surface, i.e as if you were modeling a piece of cloth and wanted to flatten it without stretching it.)
Given these 2d panels (i.e given the poly-lines that define the four edge curves) produced from such a process I need to find a way to get back to the original 3D surface, in the above example I need to recover the cone. At first I wasn't sue this could be done as it seemed like there were too few constraints, apart form the need to preserve the geodesic distances between edge points. However the important point I think is that the top and bottom edge points of each panel are not straight and do not match up with the corresponding edge of the adjacent panel. The surface therefore needs to be deformed into 3D in such a way as to match these points up.
My first thought is to make a mesh from the 2d panels and then some sort of Metropolis style search to deform the mesh with the "energy" term favoring the edges being lined up while preventing the mesh from stretching. These sorts of methods must be fairly standard in modeling cloth and so on, although I'm not very knowledgeable of them myself. I don't know if anyone can see a more obvious way to do this.
Hi,
I have a strange problem to solve. Imagine having a surface defined in 3D, say for example a cone, pointing up in the Z direction and sliced in half through the Y-Z plane.
The half cone is then sliced further into a number of sections with horizontal cuts through the XY plane. The different sections are then flattened to 2D panels. (I'm not sure exactly what name would be given to the process for doing this, and I think there are possibly quite few ways it could be done, but the goal in general when flattening is to preserve some properties of the surface, i.e as if you were modeling a piece of cloth and wanted to flatten it without stretching it.)
Given these 2d panels (i.e given the poly-lines that define the four edge curves) produced from such a process I need to find a way to get back to the original 3D surface, in the above example I need to recover the cone. At first I wasn't sue this could be done as it seemed like there were too few constraints, apart form the need to preserve the geodesic distances between edge points. However the important point I think is that the top and bottom edge points of each panel are not straight and do not match up with the corresponding edge of the adjacent panel. The surface therefore needs to be deformed into 3D in such a way as to match these points up.
My first thought is to make a mesh from the 2d panels and then some sort of Metropolis style search to deform the mesh with the "energy" term favoring the edges being lined up while preventing the mesh from stretching. These sorts of methods must be fairly standard in modeling cloth and so on, although I'm not very knowledgeable of them myself. I don't know if anyone can see a more obvious way to do this.