I have (hopefully) an interesting problem regarding geometry. I will also search online and in literature but I thought to pose the question here as a third resource.
For my problem I need to get the "contour line" of a complex polygon $A$ that is twisted, in order to map the twisting pattern to another polygon $B$.
I can do this semi-automatically, i.e. opening $A$ in a 3D modeler software, choosing a sequence of edges that form a polyline, copying each vertex's position into a list, creating a curve from this list of vertices, attaching the begin and end-vertices to $B$, and finally transforming the inner-vertices of the $B$ to align with the curve derived from the polyline of $A$. With the human eye you see clearly a line that is twisted along the surface of the polygon, so I think in theory it should work. However, two issues I see with this approach are:
- It is tedious manual work to select all the vertices (there are lot's of separate polygonal shapes).
- It is error prone.
My question is therefore if this can be done mathematically. The human eye is good at seeing information from noise... computers not so much. My drafted idea goes something like this:
- Shrink the polygon to its center axis (with techniques like medial axis and 'straight skeleton').
- Somehow follow a sequence of connected edges along the surface with this axis/skeleton and taking the twist into consideration.
It is here at the second point that I get stuck. After doing the shrinkage I get a polyline/curve that would nicely follow the topology but it is of no use I think, because I still don't have a correspondence between this center polyline/curve and the twist that is visible in the triangles on the surface of the polygon.
So here is another way to formulate the question. Is it possible to follow a line continuously on the surface that follows the twisting pattern that is seen in the general polygonal shape here below?
Image showing twisting pattern in a polygon: http://www.webreference.com/3d/lesson24/24-6.jpg

Any ideas and/or hints are welcome, sometimes a small insight is all what it takes :)
I would also like to apologize in advance if this problem was posed before in another (more formal) question; my mathematical knowledge is not that advanced.