Commande intersection (tikz)

shinitchi
Modifié (March 2023) dans LaTeX
Bonjour à tous,
est-ce que quelqu'un saurait comment récupérer dans deux commandes l'abscisse et l'ordonnée d'un point d'intersection de deux courbes déterminé par l'option "intersections" ?
Sur l'image, j'ai les points d'intersections de dessinés mais je voudrais leurs coordonnées.
En vous remerciant par avance.
code : 
% préambule
\usepackage{tikz}
\usetikzlibrary{fadings,patterns,shapes.geometric,trees,intersections}
% document
\begin{tikzpicture}
\draw[gray,opacity=0.5] (0,0) grid (10,10) ;
\draw[thick] (0,10) |- (10,0) ;
\foreach \x in{0,1,...,10}{
	\draw[thick]
		(\x,0) -- ++ (0,-0.15) node[below]{$\x$}
		(0,\x) -- ++ (-0.15,0) node[left]{$\x$}
		;
}
\begin{scope}
	\clip (0,0) rectangle (10,10) ;
	\draw[Magenta, name path = line 1]
		plot[smooth,samples=200,domain=0:10]
		(\x,{-0.2*(\x - 6)*(\x - 6) + 5})
		;
	\draw[cyan, name path = line 2]
		plot[smooth,samples=200,domain=0:10]
		(\x,{0.1*(\x - 4)*(\x - 4) + 2})
		;
\fill[red,name intersections={of=line 1 and line 2,total=\t}]
	\foreach \s in {1,...,\t}{
		(intersection-\s) circle (2pt)
	}
	;
\end{scope}
\end{tikzpicture}

Réponses

  • j'ai trouvé quelque chose en page 1093 du doc suivant : pgfmanual.pdf (ircam.fr) mais je n'arrive pas à l'exploiter... J'ai tenté d'utiliser la commande \pgfextractx mais je ne suis pas sûr de bien comprendre la nature des arguments de la commande et où la placer. Si quelqu'un a des notions là-dessus, je suis preneur.

    En vous remerciant.
  • Math Coss
    Modifié (March 2023)
    Ceci aide-t-il ?
    \documentclass{standalone}
    \usepackage{tikz}
    \usetikzlibrary{fadings,patterns,shapes.geometric,trees,intersections}
    
    \begin{document}
    \begin{tikzpicture}
    \draw[gray,opacity=0.5] (0,0) grid (10,10) ;
    \draw[thick] (0,10) |- (10,0) ;
    \foreach \x in{0,1,...,10}{
    	\draw[thick]
    		(\x,0) -- ++ (0,-0.15) node[below]{$\x$}
    		(0,\x) -- ++ (-0.15,0) node[left]{$\x$}
    		;
    }
    \begin{scope}
    	\clip (0,0) rectangle (10,10) ;
    	\draw[red, name path = line 1]
    		plot[smooth,samples=200,domain=0:10]
    		(\x,{-0.2*(\x - 6)*(\x - 6) + 5})
    		;
    	\draw[cyan, name path = line 2]
    		plot[smooth,samples=200,domain=0:10]
    		(\x,{0.1*(\x - 4)*(\x - 4) + 2})
    		;
    \fill[red,name intersections={of=line 1 and line 2,total=\t}]
    	\foreach \s in {1,...,\t}{
              (intersection-\s) circle (5pt)
    	}
    	;
    \foreach \s in {1,2}{
        \node at (intersection-\s) {};
        \pgfgetlastxy{\macrox}{\macroy};
        \node at (\macrox,6.5) {\scriptsize(\macrox, \macroy)};
      }
    \end{scope}
    \end{tikzpicture}
    
    \end{document}
    

    shi.pdf 33.5K
  • shinitchi
    Modifié (March 2023)
    Bonjour Math Coss : 

    je te remercie pour ta réponse qui m'aide effectivement d'une certaine façon. Il y a tout de même une chose que je ne parviens pas à faire. Je me débrouillerai pour effectuer la conversion des valeurs afin d'obtenir des coordonnées dont l'unité est celle choisie dans mon repère. Néanmoins, les valeurs des coordonnées sont enregistrées que localement dans le \foreach mais je souhaiterai m'en servir une fois sorti de mon foreach.
    Je souhaite programmer l'intersection de courbes donc enregistrer dans une commande la valeur de l'abscisse afin de m'en resservir plus tard en faisant appel à elle.
    Autre problème, j'aurai aimé extraire dans une autre commande le nombre d'intersections représenté par \t.
    \t est une commande mais je n'arrive pas à faire appel à elle une fois sorti du \fill... Notamment dans le \foreach \s in{1,2} dont tu te sers, j'aurais voulu mettre :
    \foreach \s in{1,...,\t}{
              \draw....
    }

Connectez-vous ou Inscrivez-vous pour répondre.