How to get positions of tikz curve to lines












4















I am trying to draw the following figure, that is to get the positions of two separate lines (curve to line) and then draw a line between them.



enter image description here



My code,



begin{tikzpicture}
defL{1.5}
draw (0,0) to[bend left] (L,0) node[pos=0.5] (a) {};
draw (L,0) to[bend left] (0,0) node[pos=0.5] (b) {};
draw[dashed] (a) -- (b);
fill[red] (a) circle(1.5pt);
fill[blue] (a) circle(1.5pt);
end{tikzpicture}


only produce the following one.



enter image description here



How to get points (a list of them would be better) of different (for maximum flexibility) lines so that I can use these points later?










share|improve this question



























    4















    I am trying to draw the following figure, that is to get the positions of two separate lines (curve to line) and then draw a line between them.



    enter image description here



    My code,



    begin{tikzpicture}
    defL{1.5}
    draw (0,0) to[bend left] (L,0) node[pos=0.5] (a) {};
    draw (L,0) to[bend left] (0,0) node[pos=0.5] (b) {};
    draw[dashed] (a) -- (b);
    fill[red] (a) circle(1.5pt);
    fill[blue] (a) circle(1.5pt);
    end{tikzpicture}


    only produce the following one.



    enter image description here



    How to get points (a list of them would be better) of different (for maximum flexibility) lines so that I can use these points later?










    share|improve this question

























      4












      4








      4


      1






      I am trying to draw the following figure, that is to get the positions of two separate lines (curve to line) and then draw a line between them.



      enter image description here



      My code,



      begin{tikzpicture}
      defL{1.5}
      draw (0,0) to[bend left] (L,0) node[pos=0.5] (a) {};
      draw (L,0) to[bend left] (0,0) node[pos=0.5] (b) {};
      draw[dashed] (a) -- (b);
      fill[red] (a) circle(1.5pt);
      fill[blue] (a) circle(1.5pt);
      end{tikzpicture}


      only produce the following one.



      enter image description here



      How to get points (a list of them would be better) of different (for maximum flexibility) lines so that I can use these points later?










      share|improve this question














      I am trying to draw the following figure, that is to get the positions of two separate lines (curve to line) and then draw a line between them.



      enter image description here



      My code,



      begin{tikzpicture}
      defL{1.5}
      draw (0,0) to[bend left] (L,0) node[pos=0.5] (a) {};
      draw (L,0) to[bend left] (0,0) node[pos=0.5] (b) {};
      draw[dashed] (a) -- (b);
      fill[red] (a) circle(1.5pt);
      fill[blue] (a) circle(1.5pt);
      end{tikzpicture}


      only produce the following one.



      enter image description here



      How to get points (a list of them would be better) of different (for maximum flexibility) lines so that I can use these points later?







      tikz-pgf tikz-styles






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 15 '18 at 3:15









      Kevin PowellKevin Powell

      36016




      36016






















          3 Answers
          3






          active

          oldest

          votes


















          4














          You were almost there. You need to place the nodes inside the path when you use pos=0.5. (For straight lines -- you can be more sloppy.)



          documentclass[tikz,border=3.14mm]{standalone}
          begin{document}
          begin{tikzpicture}
          defL{1.5}
          draw (0,0) to[bend left] node[pos=0.5,draw,fill=red,circle,inner sep=2pt] (a) {} (L,0)
          to[bend left] node[pos=0.5,draw,fill=blue,circle,inner sep=2pt] (b) {}(0,0);
          draw[densely dashed] (a) -- (b);
          end{tikzpicture}
          end{document}


          enter image description here



          If you tweak it a tiny bit, it becomes closer to the desired screen shot.



          documentclass[tikz,border=3.14mm]{standalone}
          begin{document}
          begin{tikzpicture}[bullet/.style={draw,circle,inner sep=2pt,fill=#1}]
          defL{2.5}
          draw (0,0) to[bend left=45] node[pos=0.5,bullet=red] (a) {} (L,0)
          to[bend left=45] node[pos=0.5,bullet=blue] (b) {}(0,0);
          draw[densely dashed] (a) -- (b);
          end{tikzpicture}
          end{document}


          enter image description here






          share|improve this answer































            3














            A PSTricks solution only for comparison purposes.



            documentclass[pstricks,border=12pt]{standalone}
            usepackage{pst-node}
            begin{document}
            begin{pspicture}[fillstyle=solid](6,4)
            pcarc[arcangle=-60](0,2)(6,2)ncput{Cnode[fillcolor=red]{A}}
            pcarc[arcangle=60](0,2)(6,2)ncput{Cnode[fillcolor=blue]{B}}
            ncline[linestyle=dashed]{A}{B}
            end{pspicture}
            end{document}


            enter image description here



            Feature: The dashed lines are evenly distributed. Nice?






            share|improve this answer
























            • Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

              – The Inventor of God
              Dec 15 '18 at 7:58



















            2














            When using the to path operation, the syntax is to place the nodes between the two coordinates. And it is not necessary to load the positioning library to place the two nodes in the middle of the path.



            Indeed, I quoted page 157 of the 3.0.1a manual




            Nodes on to–paths.

            It is possible to add nodes to the paths constructed by a to operation. To do so, you specify the nodes between the to keyword and the coordinate (if there are options to the to operation, these come first). The effect of (a) to node {x} (b) (typically) is the same as if you had written (a) --node {x} (b), namely that the node is placed on the to.




            documentclass[tikz,border=5mm]{standalone}
            begin{document}
            begin{tikzpicture}
            [every node/.style={draw=black,circle,inner sep=1.5pt},
            bend left=60]
            defL{1.5}
            draw (0,0) to node[fill=red] (a) {}(L,0) ;
            draw (L,0) to node[fill=blue] (b) {}(0,0) ;
            draw[densely dashed] (a) -- (b);
            end{tikzpicture}
            end{document}


            to node






            share|improve this answer























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "85"
              };
              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: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              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%2ftex.stackexchange.com%2fquestions%2f464929%2fhow-to-get-positions-of-tikz-curve-to-lines%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              You were almost there. You need to place the nodes inside the path when you use pos=0.5. (For straight lines -- you can be more sloppy.)



              documentclass[tikz,border=3.14mm]{standalone}
              begin{document}
              begin{tikzpicture}
              defL{1.5}
              draw (0,0) to[bend left] node[pos=0.5,draw,fill=red,circle,inner sep=2pt] (a) {} (L,0)
              to[bend left] node[pos=0.5,draw,fill=blue,circle,inner sep=2pt] (b) {}(0,0);
              draw[densely dashed] (a) -- (b);
              end{tikzpicture}
              end{document}


              enter image description here



              If you tweak it a tiny bit, it becomes closer to the desired screen shot.



              documentclass[tikz,border=3.14mm]{standalone}
              begin{document}
              begin{tikzpicture}[bullet/.style={draw,circle,inner sep=2pt,fill=#1}]
              defL{2.5}
              draw (0,0) to[bend left=45] node[pos=0.5,bullet=red] (a) {} (L,0)
              to[bend left=45] node[pos=0.5,bullet=blue] (b) {}(0,0);
              draw[densely dashed] (a) -- (b);
              end{tikzpicture}
              end{document}


              enter image description here






              share|improve this answer




























                4














                You were almost there. You need to place the nodes inside the path when you use pos=0.5. (For straight lines -- you can be more sloppy.)



                documentclass[tikz,border=3.14mm]{standalone}
                begin{document}
                begin{tikzpicture}
                defL{1.5}
                draw (0,0) to[bend left] node[pos=0.5,draw,fill=red,circle,inner sep=2pt] (a) {} (L,0)
                to[bend left] node[pos=0.5,draw,fill=blue,circle,inner sep=2pt] (b) {}(0,0);
                draw[densely dashed] (a) -- (b);
                end{tikzpicture}
                end{document}


                enter image description here



                If you tweak it a tiny bit, it becomes closer to the desired screen shot.



                documentclass[tikz,border=3.14mm]{standalone}
                begin{document}
                begin{tikzpicture}[bullet/.style={draw,circle,inner sep=2pt,fill=#1}]
                defL{2.5}
                draw (0,0) to[bend left=45] node[pos=0.5,bullet=red] (a) {} (L,0)
                to[bend left=45] node[pos=0.5,bullet=blue] (b) {}(0,0);
                draw[densely dashed] (a) -- (b);
                end{tikzpicture}
                end{document}


                enter image description here






                share|improve this answer


























                  4












                  4








                  4







                  You were almost there. You need to place the nodes inside the path when you use pos=0.5. (For straight lines -- you can be more sloppy.)



                  documentclass[tikz,border=3.14mm]{standalone}
                  begin{document}
                  begin{tikzpicture}
                  defL{1.5}
                  draw (0,0) to[bend left] node[pos=0.5,draw,fill=red,circle,inner sep=2pt] (a) {} (L,0)
                  to[bend left] node[pos=0.5,draw,fill=blue,circle,inner sep=2pt] (b) {}(0,0);
                  draw[densely dashed] (a) -- (b);
                  end{tikzpicture}
                  end{document}


                  enter image description here



                  If you tweak it a tiny bit, it becomes closer to the desired screen shot.



                  documentclass[tikz,border=3.14mm]{standalone}
                  begin{document}
                  begin{tikzpicture}[bullet/.style={draw,circle,inner sep=2pt,fill=#1}]
                  defL{2.5}
                  draw (0,0) to[bend left=45] node[pos=0.5,bullet=red] (a) {} (L,0)
                  to[bend left=45] node[pos=0.5,bullet=blue] (b) {}(0,0);
                  draw[densely dashed] (a) -- (b);
                  end{tikzpicture}
                  end{document}


                  enter image description here






                  share|improve this answer













                  You were almost there. You need to place the nodes inside the path when you use pos=0.5. (For straight lines -- you can be more sloppy.)



                  documentclass[tikz,border=3.14mm]{standalone}
                  begin{document}
                  begin{tikzpicture}
                  defL{1.5}
                  draw (0,0) to[bend left] node[pos=0.5,draw,fill=red,circle,inner sep=2pt] (a) {} (L,0)
                  to[bend left] node[pos=0.5,draw,fill=blue,circle,inner sep=2pt] (b) {}(0,0);
                  draw[densely dashed] (a) -- (b);
                  end{tikzpicture}
                  end{document}


                  enter image description here



                  If you tweak it a tiny bit, it becomes closer to the desired screen shot.



                  documentclass[tikz,border=3.14mm]{standalone}
                  begin{document}
                  begin{tikzpicture}[bullet/.style={draw,circle,inner sep=2pt,fill=#1}]
                  defL{2.5}
                  draw (0,0) to[bend left=45] node[pos=0.5,bullet=red] (a) {} (L,0)
                  to[bend left=45] node[pos=0.5,bullet=blue] (b) {}(0,0);
                  draw[densely dashed] (a) -- (b);
                  end{tikzpicture}
                  end{document}


                  enter image description here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Dec 15 '18 at 3:23









                  marmotmarmot

                  106k4127242




                  106k4127242























                      3














                      A PSTricks solution only for comparison purposes.



                      documentclass[pstricks,border=12pt]{standalone}
                      usepackage{pst-node}
                      begin{document}
                      begin{pspicture}[fillstyle=solid](6,4)
                      pcarc[arcangle=-60](0,2)(6,2)ncput{Cnode[fillcolor=red]{A}}
                      pcarc[arcangle=60](0,2)(6,2)ncput{Cnode[fillcolor=blue]{B}}
                      ncline[linestyle=dashed]{A}{B}
                      end{pspicture}
                      end{document}


                      enter image description here



                      Feature: The dashed lines are evenly distributed. Nice?






                      share|improve this answer
























                      • Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                        – The Inventor of God
                        Dec 15 '18 at 7:58
















                      3














                      A PSTricks solution only for comparison purposes.



                      documentclass[pstricks,border=12pt]{standalone}
                      usepackage{pst-node}
                      begin{document}
                      begin{pspicture}[fillstyle=solid](6,4)
                      pcarc[arcangle=-60](0,2)(6,2)ncput{Cnode[fillcolor=red]{A}}
                      pcarc[arcangle=60](0,2)(6,2)ncput{Cnode[fillcolor=blue]{B}}
                      ncline[linestyle=dashed]{A}{B}
                      end{pspicture}
                      end{document}


                      enter image description here



                      Feature: The dashed lines are evenly distributed. Nice?






                      share|improve this answer
























                      • Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                        – The Inventor of God
                        Dec 15 '18 at 7:58














                      3












                      3








                      3







                      A PSTricks solution only for comparison purposes.



                      documentclass[pstricks,border=12pt]{standalone}
                      usepackage{pst-node}
                      begin{document}
                      begin{pspicture}[fillstyle=solid](6,4)
                      pcarc[arcangle=-60](0,2)(6,2)ncput{Cnode[fillcolor=red]{A}}
                      pcarc[arcangle=60](0,2)(6,2)ncput{Cnode[fillcolor=blue]{B}}
                      ncline[linestyle=dashed]{A}{B}
                      end{pspicture}
                      end{document}


                      enter image description here



                      Feature: The dashed lines are evenly distributed. Nice?






                      share|improve this answer













                      A PSTricks solution only for comparison purposes.



                      documentclass[pstricks,border=12pt]{standalone}
                      usepackage{pst-node}
                      begin{document}
                      begin{pspicture}[fillstyle=solid](6,4)
                      pcarc[arcangle=-60](0,2)(6,2)ncput{Cnode[fillcolor=red]{A}}
                      pcarc[arcangle=60](0,2)(6,2)ncput{Cnode[fillcolor=blue]{B}}
                      ncline[linestyle=dashed]{A}{B}
                      end{pspicture}
                      end{document}


                      enter image description here



                      Feature: The dashed lines are evenly distributed. Nice?







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Dec 15 '18 at 5:39









                      The Inventor of GodThe Inventor of God

                      4,47211041




                      4,47211041













                      • Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                        – The Inventor of God
                        Dec 15 '18 at 7:58



















                      • Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                        – The Inventor of God
                        Dec 15 '18 at 7:58

















                      Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                      – The Inventor of God
                      Dec 15 '18 at 7:58





                      Sorry for interchanging the dot color. My eyes are not so sensitive to colors.

                      – The Inventor of God
                      Dec 15 '18 at 7:58











                      2














                      When using the to path operation, the syntax is to place the nodes between the two coordinates. And it is not necessary to load the positioning library to place the two nodes in the middle of the path.



                      Indeed, I quoted page 157 of the 3.0.1a manual




                      Nodes on to–paths.

                      It is possible to add nodes to the paths constructed by a to operation. To do so, you specify the nodes between the to keyword and the coordinate (if there are options to the to operation, these come first). The effect of (a) to node {x} (b) (typically) is the same as if you had written (a) --node {x} (b), namely that the node is placed on the to.




                      documentclass[tikz,border=5mm]{standalone}
                      begin{document}
                      begin{tikzpicture}
                      [every node/.style={draw=black,circle,inner sep=1.5pt},
                      bend left=60]
                      defL{1.5}
                      draw (0,0) to node[fill=red] (a) {}(L,0) ;
                      draw (L,0) to node[fill=blue] (b) {}(0,0) ;
                      draw[densely dashed] (a) -- (b);
                      end{tikzpicture}
                      end{document}


                      to node






                      share|improve this answer




























                        2














                        When using the to path operation, the syntax is to place the nodes between the two coordinates. And it is not necessary to load the positioning library to place the two nodes in the middle of the path.



                        Indeed, I quoted page 157 of the 3.0.1a manual




                        Nodes on to–paths.

                        It is possible to add nodes to the paths constructed by a to operation. To do so, you specify the nodes between the to keyword and the coordinate (if there are options to the to operation, these come first). The effect of (a) to node {x} (b) (typically) is the same as if you had written (a) --node {x} (b), namely that the node is placed on the to.




                        documentclass[tikz,border=5mm]{standalone}
                        begin{document}
                        begin{tikzpicture}
                        [every node/.style={draw=black,circle,inner sep=1.5pt},
                        bend left=60]
                        defL{1.5}
                        draw (0,0) to node[fill=red] (a) {}(L,0) ;
                        draw (L,0) to node[fill=blue] (b) {}(0,0) ;
                        draw[densely dashed] (a) -- (b);
                        end{tikzpicture}
                        end{document}


                        to node






                        share|improve this answer


























                          2












                          2








                          2







                          When using the to path operation, the syntax is to place the nodes between the two coordinates. And it is not necessary to load the positioning library to place the two nodes in the middle of the path.



                          Indeed, I quoted page 157 of the 3.0.1a manual




                          Nodes on to–paths.

                          It is possible to add nodes to the paths constructed by a to operation. To do so, you specify the nodes between the to keyword and the coordinate (if there are options to the to operation, these come first). The effect of (a) to node {x} (b) (typically) is the same as if you had written (a) --node {x} (b), namely that the node is placed on the to.




                          documentclass[tikz,border=5mm]{standalone}
                          begin{document}
                          begin{tikzpicture}
                          [every node/.style={draw=black,circle,inner sep=1.5pt},
                          bend left=60]
                          defL{1.5}
                          draw (0,0) to node[fill=red] (a) {}(L,0) ;
                          draw (L,0) to node[fill=blue] (b) {}(0,0) ;
                          draw[densely dashed] (a) -- (b);
                          end{tikzpicture}
                          end{document}


                          to node






                          share|improve this answer













                          When using the to path operation, the syntax is to place the nodes between the two coordinates. And it is not necessary to load the positioning library to place the two nodes in the middle of the path.



                          Indeed, I quoted page 157 of the 3.0.1a manual




                          Nodes on to–paths.

                          It is possible to add nodes to the paths constructed by a to operation. To do so, you specify the nodes between the to keyword and the coordinate (if there are options to the to operation, these come first). The effect of (a) to node {x} (b) (typically) is the same as if you had written (a) --node {x} (b), namely that the node is placed on the to.




                          documentclass[tikz,border=5mm]{standalone}
                          begin{document}
                          begin{tikzpicture}
                          [every node/.style={draw=black,circle,inner sep=1.5pt},
                          bend left=60]
                          defL{1.5}
                          draw (0,0) to node[fill=red] (a) {}(L,0) ;
                          draw (L,0) to node[fill=blue] (b) {}(0,0) ;
                          draw[densely dashed] (a) -- (b);
                          end{tikzpicture}
                          end{document}


                          to node







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Dec 15 '18 at 4:47









                          AndréCAndréC

                          9,69311547




                          9,69311547






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to TeX - LaTeX 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.


                              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%2ftex.stackexchange.com%2fquestions%2f464929%2fhow-to-get-positions-of-tikz-curve-to-lines%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

                              Le Mesnil-Réaume

                              Ida-Boy-Ed-Garten

                              web3.py web3.isConnected() returns false always