Presta atención porque en este post vas a hallar la contestación que buscas.Esta noticia ha sido evaluado por nuestros expertos para asegurar la calidad y exactitud de nuestro contenido.
Solución:
La razón por la que el código no funciona como se indica es que solo hay una intersección, por lo que (intersection-2)
no existe. Una forma de aliviar este tipo de problema es especificar total=t
para contener el número total de intersecciones y el uso de un foreach
para recorrer cada intersección:
documentclassarticle
usepackagetikz
usetikzlibraryintersections
begindocument
begintikzpicture[every node/.style=black,above right]
draw[name path=line 1] (0,0) -- (2,2);
draw[name path=line 2] (2,0) -- (0,2);
fill[red,name intersections=of=line 1 and line 2,total=t]
foreach s in 1,...,t(intersection-s) circle (2pt) node footnotesizes;
endtikzpicture
enddocument
Leer el Manual de PGF ayuda ;). Vea la página 54ff, hice esto a partir de ella:
documentclass[parskip]scrartcl
usepackage[margin=15mm]geometry
usepackagetikz
usetikzlibrarycalc,intersections,through,backgrounds
begindocument
begintikzpicture
coordinate (A) at (0,0);
coordinate (B) at (3,3);
draw [name path=A--B] (A) -- (B);
coordinate (C) at (3,0);
coordinate (D) at (0,1);
draw [name path=C--D] (C) -- (D);
path [name intersections=of=A--B and C--D,by=E];
node [fill=red,inner sep=1pt,label=-90:$E$] at (E) ;
endtikzpicture
enddocument
lo que resulta en:
Una alternativa, en forma de tkz-euclide
.
documentclassarticle
usepackagetkz-euclide
begindocument
begintikzpicture
tkzDefPoint(0,0)A tkzDefPoint(2,2)B
tkzDefPoint(0,2)C tkzDefPoint(2,0)D
tkzDrawSegments(A,B C,D)
tkzInterLL(A,B)(C,D) tkzGetPointE
tkzDrawPoints(E) tkzLabelPoints[below](E)
endtikzpicture
enddocument
Las primeras tres líneas definen los puntos y dibujan los segmentos de línea entre ellos. tkzInterLL
calcular la intersección de las rectas A--B
y C--D
mientras tkzGetPointE
le da un nombre al punto. Finalmente el punto es dibujado y rotulado.
Puede mezclar esto con el código TikZ “normal” si lo desea, por ejemplo (tomando prestado de Tom Bombadil):
documentclassarticle
usepackagetkz-euclide
begindocument
begintikzpicture
coordinate (A) at (0,0);
coordinate (B) at (3,3);
coordinate (C) at (3,0);
coordinate (D) at (0,1);
draw (A) -- (B);
draw (C) -- (D);
tkzInterLL(A,B)(C,D) tkzGetPointE
node [fill=red,inner sep=1pt,label=-90:$E$] at (E) ;
endtikzpicture
enddocument
Esto solo usa tkz-euclide
para encontrar y nombrar la intersección.
Si posees algún inconveniente y disposición de regenerar nuestro división eres capaz de realizar una explicación y con gusto lo estudiaremos.