Store intersection point - Matlab










0















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')









share|improve this question
























  • 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











  • 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















0















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')









share|improve this question
























  • 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











  • 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













0












0








0








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')









share|improve this question
















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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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

















  • 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











  • 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












1 Answer
1






active

oldest

votes


















1














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));





share|improve this answer






















    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
    );



    );













    draft saved

    draft discarded


















    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









    1














    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));





    share|improve this answer



























      1














      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));





      share|improve this answer

























        1












        1








        1







        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));





        share|improve this answer













        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));






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 18:36









        Cris LuengoCris Luengo

        21.3k52250




        21.3k52250





























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            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





















































            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

            Top Tejano songwriter Luis Silva dead of heart attack at 64

            政党

            天津地下鉄3号線