Saltar al contenido

TikZ: Intersección de dos líneas

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:

ingrese la descripción de la imagen aquí

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

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *