Aqui está o MWE, quero cruzar dois caminhos e percorrer todos os pontos de interseção com um loop, sem saber de antemão quantos pontos de interseção existem e, definitivamente, esperando não precisar nomear cada um em particular. Eu quero ser capaz de fazer algo assim:
%\foreach \p in {\path[name intersections={of = AE and MN}];}
% \filldraw [red] (\p) circle(3pt);
Qual seria a melhor abordagem?
\documentclass{standalone}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\begin{document}
\begin{tikzpicture}
\coordinate (ORG) at (0.00, 0.00);
% first path (zig zag blue)
\coordinate (A) at (1.00, 3.00);
\coordinate (B) at (3.00, -3.00);
\coordinate (C) at (5.00, 3.00);
\coordinate (D) at (7.00, -3.00);
\coordinate (E) at (9.00, 3.00);
\draw[blue, line width=1.50pt, name path = AE] (ORG) -- (A) -- (B) -- (C) -- (D) -- (E);
% second path (ForestGreen)
\coordinate (M) at (0.00, 2.00);
\coordinate (N) at (10.00, 2.00);
\coordinate (U) at (10.00, -2.00);
\coordinate (V) at (0.00, -2.00);
\draw[ForestGreen, line width=1.50pt, name path = MN] (M) -- (N) -- (U) -- (V);
% first path points
\filldraw [teal] (A) circle(3pt);
\filldraw [teal] (B) circle(3pt);
\filldraw [teal] (C) circle(3pt);
\filldraw [teal] (D) circle(3pt);
\filldraw [teal] (E) circle(3pt);
% intersections of the two paths
\path [name intersections={of = AE and MN}];
\coordinate (P) at (intersection-1);
\coordinate (Q) at (intersection-2);
\coordinate (R) at (intersection-3);
\coordinate (S) at (intersection-4);
\coordinate (T) at (intersection-5);
\coordinate (W) at (intersection-6);
\coordinate (X) at (intersection-7);
\coordinate (Y) at (intersection-8);
\coordinate (Z) at (intersection-9);
% mark each intersection with a red dot
\foreach \p in {P,Q,R,S,T,W,X,Y,Z}
\filldraw [red] (\p) circle(3pt);
%\foreach \p in {\path[name intersections={of = AE and MN}];}
% \filldraw [red] (\p) circle(3pt);
\end{tikzpicture}
\end{document}
Responder1
Que tal agora:
\draw[name path = AE] (ORG) -- (A) -- (B) -- (C) -- (D) -- (E);
\draw[name path = MN] (M) -- (N) -- (U) -- (V);
\fill [name intersections={of=AE and MN, name=i, total=\t}] [red]
\foreach \s in {1,...,\t} {
(i-\s) circle (3pt)
};