은(는) 무엇입니까 edge?

은(는) 무엇입니까 edge?

TikZ를 사용하여 어린이를 위한 분수 다이어그램을 만들려고 합니다.

표시하고 싶을 때 크기가 조정되는 방식으로 이 1/2 다이어그램의 상단을 수정하는 우아한 방법이 있습니까? 예를 들어 29/6을 삼각형으로 표시하고 결국에는 다른 모양으로 표시할 수 있습니까? 90도가 아닌 각도에서 만나는 경로의 교차점이 내가 원하는 방식으로 교차하지 않는 것 같습니다...

엉망인 사진

\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}

답변1

이것이 당신이 원하는 것인지 확실하지 않지만 링크된 이미지를 보면 그런 것 같습니다. 나는 다음에서 일부 코드를 빌렸습니다.Ignasi's answer에게TikZ에서 삼각형 그리드를 그리는 방법은 무엇입니까?. 삼각형 그리드는 \nodes로 만들어졌으므로 앵커를 사용하여 레이어에 배치한 채우기 작업을 쉽게 수행할 수 있습니다 background.

여기에 이미지 설명을 입력하세요

코드:

\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}

답변2

한 가지 방법은 먼저 칠한 다음 단일 경로를 그리는 것입니다.

\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}

채우고 그린다

은(는) 무엇입니까 edge?

An은 edge다른 방향으로 나갈 수 있고 기본 경로와 완전히 다른 옵션으로 그려질(또는 그려지지 않을) 수 있는 독립적인 경로 비트입니다. 기본 경로를 방해하지 않습니다. 이 경우 에서는 수직선을 아래로 그리지만 기본 경로는 마치 정점이 지정되지 edge않은 것처럼 정점에서 계속됩니다 . s는 특히 복잡한 경로에 유용합니다. 이는 기본 경로 다음에 구성됩니다.edgeedge

무슨 일이 일어나고 있는지 확인하려면 다음과 같이 경로 사양을 변경하세요.

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

기본적으로 는 edge기본 경로에서 옵션을 상속하므로 이 경로는 thick기본 경로와 달리 입니다 red. 물론 위 이미지에서는 별도의 옵션이 지정되지 않았으므로 이 edge역시 기본 색상이었으며 기본 경로와 혼합되었습니다.

빨간 가장자리

관련 정보