Following a polyline along the surface of a polygon that is twisted
$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:
- 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.
general-topology geometry differential-geometry transformation solid-geometry
$endgroup$
add a comment |
$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:
- 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.
general-topology geometry differential-geometry transformation solid-geometry
$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
add a comment |
$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:
- 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.
general-topology geometry differential-geometry transformation solid-geometry
$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:
- 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.
general-topology geometry differential-geometry transformation solid-geometry
general-topology geometry differential-geometry transformation solid-geometry
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
add a comment |
$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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
$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