Quiero colorear el borde AB con un color azul intenso y los bordes AC y BC con un color rojo intenso.
Refiriéndose a la respuesta enBordes de múltiples colores en TikZ, una forma es utilizar el \clip[draw]
comando. Pero no estoy seguro de cómo usarlo en mi contexto, ya que mi forma es un triángulo y el triángulo también está relleno de color naranja.
Resultado Esperado:
Resultado actual:
El triángulo aún debe tener el color naranja relleno y los bordes con el color mencionado anteriormente.
Nota: Este ejemplo proviene únicamente del manual de PGF. No se recomienda/agradece proporcionar el código en el manual sin explicación.
¿Existe una forma alternativa de rellenar una forma en lugar de usar \filldraw
o \draw[fill]
ordenar?
MWE:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{through}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
\coordinate[label=left:\textcolor{blue!80!black}{$A$}] (A) at (0,0);
\coordinate[label=right:\textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
\draw[name path=A--B] (A) -- (B);
% \draw let \p1 = ($(B) - (A)$),
% \n2 = {veclen(\x1,\y1)}
% in
% (A) circle (\n2)
% (B) circle (\n2);
\node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
\node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
\path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%\coordinate[label=above:$C$] (C) at (intersection-1); using by instead
\draw [name path=C--C',red] (C) -- (C');
\path [name intersections={of=A--B and C--C', by=F}];
\node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
\draw[fill=orange!80] (A) -- (B) -- (C) -- cycle;
\foreach \point in {A,B,C}
\fill [black,opacity=0.5] (\point) circle (2pt);
\end{tikzpicture}
\end{document}
Respuesta1
Algunas opciones se pueden aplicar a unparte del camino, este es el caso de rounded corners
. Pero esto no funciona con lo colors
indicado en la página 149 del manual 3.1.1 que siempre aplica para elcamino completo.
Captura de pantalla de la página 149:
Entonces, para hacerlo más fácil:
- Primero coloreé el triángulo ABC de naranja con el
\fill
comando(que no dibuja nada); - luego dibujédoscaminos, uno en
blue
, el otro enred
.
Código comentado:
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{through}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
\coordinate[label=left:\textcolor{blue!80!black}{$A$}] (A) at (0,0);
\coordinate[label=right:\textcolor{blue!80!black}{$B$}] (B) at (1.25,0.25);
\path[name path=A--B] (A) -- (B);% <-- construct the path, but not draw it
% \draw let \p1 = ($(B) - (A)$),
% \n2 = {veclen(\x1,\y1)}
% in
% (A) circle (\n2)
% (B) circle (\n2);
\node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
\node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
\path [name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}}];
%\coordinate[label=above:$C$] (C) at (intersection-1); using by instead
\path [name path=C--C',red] (C) -- (C');
\path [name intersections={of=A--B and C--C', by=F}];
%\node[fill=red,inner sep=1pt, label=-45:$F$] at (F) {};
\fill[orange!80] (A) -- (B) -- (C) -- cycle;%<-- only fill without draw the edges
\draw[blue,thick](A)--(B);%<-- draw in blue
\draw[red,thick](A)--(C)--(B);%<-- draw in red
\foreach \point in {A,B,C}
\fill [black,opacity=0.5] (\point) circle (2pt);
\end{tikzpicture}
\end{document}
Respuesta2
Puede guardar algunas de sus rutas utilizando las posibilidades del comando \path
o \draw
. Especialmente los caminos vacíos se pueden eliminar integrando las intersecciones en los caminos correspondientes.
Para colorear a su manera, simplemente A
dibuje B
una línea entre los dos puntos (después de dibujar el marco o simplemente quitar el marco). Lo mismo funciona para A--B--C
.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{through}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[help lines/.style={thin,draw=black!50}]
\path[name path=A--B] (0,0) coordinate[label=left:\textcolor{blue!80!black}{$A$}] (A) --
(1.25,0.25) coordinate[label=right:\textcolor{blue!80!black}{$B$}] (B);
\node (D) [name path=D,draw,circle through=(B),label=left:$D$,help lines,draw] at (A) {};
\node (E) [name path=E,draw,circle through=(A),label=right:$E$,help lines,draw] at (B) {};
\draw[name intersections={of=D and E, by={[label=above:$C$]C,[label=below:$C'$]C'}},
name path=C--C',red] (C) -- (C');
\node[fill=red,inner sep=1pt,name intersections={of=A--B and C--C', by=F},label=-45:$F$] at (F) {};
\draw[draw=none,fill=orange!80] (A) -- (B) -- (C) -- cycle;
\draw[blue,thick] (A) -- (B);
\draw[red,thick] (A) -- (C) -- (B);
\foreach \point in {A,B,C}
\fill [black,opacity=0.5] (\point) circle (2pt);
\end{tikzpicture}
\end{document}