¿Qué es un edge?

¿Qué es un edge?

Estoy intentando crear diagramas de fracciones para niños usando TikZ.

¿Existe una manera elegante de arreglar la parte superior de este diagrama de 1/2 de manera que se escale cuando quiera mostrar, digamos 29/6 con triángulos... y eventualmente otras formas? Parece que las intersecciones de caminos que se encuentran en ángulos que no son de 90 grados no se cruzan del todo como yo quiero...

imagen desordenada

\documentclass{article}

\usepackage{tikz}
\usepackage{xcolor}

\begin{document}

\(\frac{1}{2}\)

\begin{tikzpicture}
\filldraw[fill=gray, draw=black, thick] (0,0)--(1,0)--(1,2)--cycle;
\draw[thick] (1,0)--(2,0)--(1,2)--cycle;
\end{tikzpicture}

\end{document}

Respuesta1

No estoy seguro de si esto es lo que quieres, pero mirando la imagen vinculada, parece ser así: tomé prestado un código deIgnasi's answera¿Cómo dibujar una cuadrícula triangular en TikZ?. Dado que la cuadrícula triangular está construida con \nodes, puedes usar fácilmente sus anclajes para hacer el relleno, que coloqué en la backgroundcapa:

ingrese la descripción de la imagen aquí

El código:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{shapes,backgrounds}

\newcommand\grid[1]{
\foreach \i [count=\row from 0, remember=\row as \lastrow (initially 0)] in {0,...,#1}
  {
  \foreach \j [count=\column from 0, remember=\column as \lastcolumn (initially 0)] in {0,...,\i}
    {
    \ifnum\row=0
      \node[tri](0-0) {};
    \else
      \ifnum\column=0
        \node[tri, anchor=north](\row-0) at (\lastrow-0.corner 2) {};
      \else
         \node[tri, anchor=north](\row-\column) at (\lastrow-\lastcolumn.corner 3) {};
      \fi
    \fi
    }
  }
}

\begin{document}

\begin{tikzpicture}[
tri/.style={
  draw,
  regular polygon,
  regular polygon sides=3, 
  minimum size=2cm, 
  inner sep=0pt,
  outer sep=0pt,
  line width=1pt
  }
]
\grid{3}
\begin{pgfonlayer}{background}
  \filldraw[cyan!30] 
    (0-0.corner 1) -- 
    (3-3.corner 3) -- 
    (3-0.corner 2) -- 
    cycle;
\end{pgfonlayer}

\begin{scope}[xshift=8cm]
\grid{3}
\begin{pgfonlayer}{background}
  \filldraw[cyan!30] 
    (3-0.corner 1) -- 
    (3-3.corner 1) -- 
    (3-3.corner 3) -- 
    (3-0.corner 2) -- 
    cycle;
\end{pgfonlayer}
\end{scope}

\begin{scope}[yshift=-8cm]
\grid{3}
\begin{pgfonlayer}{background}
  \filldraw[cyan!30] 
    (2-0.corner 1) -- 
    (2-2.corner 1) -- 
    (3-1.corner 3) -- 
    cycle;
\end{pgfonlayer}
\end{scope}

\begin{scope}[xshift=8cm,yshift=-8cm]
\grid{3}
\begin{pgfonlayer}{background}
  \filldraw[cyan!30] 
    (0-0.corner 1) -- 
    (3-1.corner 3) -- 
    (3-0.corner 2) -- 
    cycle;
\end{pgfonlayer}
\draw[line width=1pt]
  (0-0.corner 1) -- (3-1.corner 3);
\end{scope}
\end{tikzpicture}

\end{document}

Respuesta2

Una forma es llenar primero y luego dibujar un único camino:

\documentclass[tikz,border=10pt]{standalone}
\begin{document}
\begin{tikzpicture}
  \fill [fill=gray] (0,0)--(1,0)--(1,2)--cycle;
  \draw[thick] (0,0) -- (1,2) edge (1,0) -- (2,0) -- cycle;
\end{tikzpicture}
\end{document}

llenar y luego dibujar

¿Qué es un edge?

An edgees un tramo de camino independiente que puede tomar una dirección diferente y puede dibujarse (o no) con opciones completamente diferentes a las del camino principal. No interrumpe el camino principal. En este caso, edgedibuja la perpendicular hacia abajo, pero el camino principal continúa desde el vértice como si no edgese hubiera especificado. edgeLos s son útiles para rutas complejas, especialmente. Se construyen después del camino principal.

Para ver qué está pasando, cambie la especificación de la ruta de la siguiente manera:

\draw[thick] (0,0) -- (1,2) edge [red] (1,0) -- (2,0) -- cycle;

De forma predeterminada, edgehereda las opciones de la ruta principal, por lo que esta es thickpero, a diferencia de la ruta principal, es red. En la imagen de arriba, por supuesto, no se especificaron opciones distintas, por lo que edgetambién era el color predeterminado y se mezclaba con la ruta principal.

borde rojo

información relacionada