Following a polyline along the surface of a polygon that is twisted












2












$begingroup$


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:




  1. It is tedious manual work to select all the vertices (there are lot's of separate polygonal shapes).

  2. 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.










share|cite|improve this question











$endgroup$












  • $begingroup$
    I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
    $endgroup$
    – Francis Laclé
    Feb 18 '14 at 13:24
















2












$begingroup$


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:




  1. It is tedious manual work to select all the vertices (there are lot's of separate polygonal shapes).

  2. 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.










share|cite|improve this question











$endgroup$












  • $begingroup$
    I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
    $endgroup$
    – Francis Laclé
    Feb 18 '14 at 13:24














2












2








2





$begingroup$


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:




  1. It is tedious manual work to select all the vertices (there are lot's of separate polygonal shapes).

  2. 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.










share|cite|improve this question











$endgroup$




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:




  1. It is tedious manual work to select all the vertices (there are lot's of separate polygonal shapes).

  2. 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.







general-topology geometry differential-geometry transformation solid-geometry






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Jan 16 at 7:41









Glorfindel

3,41581830




3,41581830










asked May 14 '13 at 20:43









Francis LacléFrancis Laclé

1113




1113












  • $begingroup$
    I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
    $endgroup$
    – Francis Laclé
    Feb 18 '14 at 13:24


















  • $begingroup$
    I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
    $endgroup$
    – Francis Laclé
    Feb 18 '14 at 13:24
















$begingroup$
I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
$endgroup$
– Francis Laclé
Feb 18 '14 at 13:24




$begingroup$
I will try to proof when I have more time, but was thinking the other day to pick an arbitrary vertex $c$ and an arbitrary direction by selecting another vertex $d$. Picking a right subsequent vertex $e$ could be a matter of simply checking an angle $theta$ for every connected edge between vectors $left[c-dright]^T$ and $left[e_i-dright]^T$ with $i$ denoting an index of a connected edge. Then, selecting the edge that has the smallest angle for $pi-theta$ could be the right one as for each iteration, choosing the closest "related" edge provides already an incremental twisting pattern.
$endgroup$
– Francis Laclé
Feb 18 '14 at 13:24










0






active

oldest

votes












Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f391813%2ffollowing-a-polyline-along-the-surface-of-a-polygon-that-is-twisted%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematics Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f391813%2ffollowing-a-polyline-along-the-surface-of-a-polygon-that-is-twisted%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Human spaceflight

Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

張江高科駅