Store intersection point - Matlab
How can I store the intersection points of a polyshape and a line so I can plot it?
Script (source):
clc;
clear;
close all;
poly1 = polyshape([0.5 0 1 1.5],[1 0 0 2]);
lineseg = [0.5 0.5; 2 2];
[in,out] = intersect(poly1,lineseg);
plot(poly1)
hold on
plot(in(:,1),in(:,2),'b',out(:,1),out(:,2),'r')
matlab polygon intersection
add a comment |
How can I store the intersection points of a polyshape and a line so I can plot it?
Script (source):
clc;
clear;
close all;
poly1 = polyshape([0.5 0 1 1.5],[1 0 0 2]);
lineseg = [0.5 0.5; 2 2];
[in,out] = intersect(poly1,lineseg);
plot(poly1)
hold on
plot(in(:,1),in(:,2),'b',out(:,1),out(:,2),'r')
matlab polygon intersection
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
Do you understand the meaning of thatplot
command? It is plotting lines between the points were thelineseg
intersectspoly1
. Thus, you have those points right there inin
and/orout
.
– Cris Luengo
Nov 15 '18 at 18:24
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36
add a comment |
How can I store the intersection points of a polyshape and a line so I can plot it?
Script (source):
clc;
clear;
close all;
poly1 = polyshape([0.5 0 1 1.5],[1 0 0 2]);
lineseg = [0.5 0.5; 2 2];
[in,out] = intersect(poly1,lineseg);
plot(poly1)
hold on
plot(in(:,1),in(:,2),'b',out(:,1),out(:,2),'r')
matlab polygon intersection
How can I store the intersection points of a polyshape and a line so I can plot it?
Script (source):
clc;
clear;
close all;
poly1 = polyshape([0.5 0 1 1.5],[1 0 0 2]);
lineseg = [0.5 0.5; 2 2];
[in,out] = intersect(poly1,lineseg);
plot(poly1)
hold on
plot(in(:,1),in(:,2),'b',out(:,1),out(:,2),'r')
matlab polygon intersection
matlab polygon intersection
edited Nov 17 '18 at 17:16
jane
asked Nov 15 '18 at 18:16
janejane
697
697
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
Do you understand the meaning of thatplot
command? It is plotting lines between the points were thelineseg
intersectspoly1
. Thus, you have those points right there inin
and/orout
.
– Cris Luengo
Nov 15 '18 at 18:24
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36
add a comment |
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
Do you understand the meaning of thatplot
command? It is plotting lines between the points were thelineseg
intersectspoly1
. Thus, you have those points right there inin
and/orout
.
– Cris Luengo
Nov 15 '18 at 18:24
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
Do you understand the meaning of that
plot
command? It is plotting lines between the points were the lineseg
intersects poly1
. Thus, you have those points right there in in
and/or out
.– Cris Luengo
Nov 15 '18 at 18:24
Do you understand the meaning of that
plot
command? It is plotting lines between the points were the lineseg
intersects poly1
. Thus, you have those points right there in in
and/or out
.– Cris Luengo
Nov 15 '18 at 18:24
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36
add a comment |
1 Answer
1
active
oldest
votes
Given that in
contains the points forming line segments inside the polygon, and out
contains the points forming line segments outside the polygon, I would say that any point that is in both in
and out
should be an intersection point.
To find these common points, use this other intersect
function with the 'rows'
option:
pts = intersect(in, out, 'rows');
scatter(pts(:,1), pts(:,2));
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
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
,
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%2fstackoverflow.com%2fquestions%2f53325601%2fstore-intersection-point-matlab%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Given that in
contains the points forming line segments inside the polygon, and out
contains the points forming line segments outside the polygon, I would say that any point that is in both in
and out
should be an intersection point.
To find these common points, use this other intersect
function with the 'rows'
option:
pts = intersect(in, out, 'rows');
scatter(pts(:,1), pts(:,2));
add a comment |
Given that in
contains the points forming line segments inside the polygon, and out
contains the points forming line segments outside the polygon, I would say that any point that is in both in
and out
should be an intersection point.
To find these common points, use this other intersect
function with the 'rows'
option:
pts = intersect(in, out, 'rows');
scatter(pts(:,1), pts(:,2));
add a comment |
Given that in
contains the points forming line segments inside the polygon, and out
contains the points forming line segments outside the polygon, I would say that any point that is in both in
and out
should be an intersection point.
To find these common points, use this other intersect
function with the 'rows'
option:
pts = intersect(in, out, 'rows');
scatter(pts(:,1), pts(:,2));
Given that in
contains the points forming line segments inside the polygon, and out
contains the points forming line segments outside the polygon, I would say that any point that is in both in
and out
should be an intersection point.
To find these common points, use this other intersect
function with the 'rows'
option:
pts = intersect(in, out, 'rows');
scatter(pts(:,1), pts(:,2));
answered Nov 15 '18 at 18:36
Cris LuengoCris Luengo
21.3k52250
21.3k52250
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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.
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%2fstackoverflow.com%2fquestions%2f53325601%2fstore-intersection-point-matlab%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
You've copy-pasted code from here: mathworks.com/help/matlab/ref/… -- Please don't forget to attribute.
– Cris Luengo
Nov 15 '18 at 18:23
Do you understand the meaning of that
plot
command? It is plotting lines between the points were thelineseg
intersectspoly1
. Thus, you have those points right there inin
and/orout
.– Cris Luengo
Nov 15 '18 at 18:24
I do not want to do a mistake but is xInter = in(1,1); yInter = in(1,2); scatter(xInter,yInter)
– jane
Nov 15 '18 at 18:36