내가 사용하는 정삼각형을 얻으려면
\tikzstyle{triangle} = [fill=green!20, regular polygon, regular polygon sides=3]
하지만 직각 삼각형에 대한 tikz 노드를 정의하는 데 어려움을 겪고 있습니다.
이런 걸 해보자고 생각했어요
\tikzstyle{anytriangle} = [draw, A--B--C--A]
그런 다음
\begin{tikzpicture}[ auto, node distance=4em]
% Gridline
\draw [step=0.5cm,draw=gray] (-4,-4) grid (4,4);
\coordinate (A) at (0,0);
\coordinate (B) at (4,0);
\coordinate (C) at (0,4);
\node [anytriangle] {};
\end{tikzpicture}
하지만 오류가 발생합니다: 알 수 없는 좌표 A
답변1
아마도 다음과 같을 것입니다(하지만 당신이 달성하고자 하는 것이 무엇인지 완전히 이해하지 못했다는 점을 인정해야 합니다).
\documentclass[tikz]{standalone}
\begin{document}
\tikzset{triangle/.append style={fill=green!20, regular polygon, regular polygon sides=3},
anytriangle/.append style={draw, append after command={ \pgfextra{ \draw (A) -- (B) -- (C) -- (A); } }}}
\begin{tikzpicture}[auto, node distance=4em]
% Gridline
\draw [step=0.5cm,draw=gray] (-4,-4) grid (4,4);
\coordinate (A) at (0,0);
\coordinate (B) at (4,0);
\coordinate (C) at (0,4);
\node [anytriangle] {};
\end{tikzpicture}
\end{document}
답변2
isosceles triangle
로 모양을 사용할 수 있습니다 apex angle=90
.
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{positioning, shapes.geometric}
\begin{document}
\begin{tikzpicture}[
right angle triangle/.style={
isosceles triangle,
isosceles triangle apex angle=90},
every node/.style={right angle triangle,
draw, inner sep=0pt,
anchor=left corner,
shape border rotate=90},
paint/.style={draw=#1!75, fill=#1!20}
]
\draw[help lines] grid (5,2);
\foreach \a/\c in {1.5/blue, 1/green, 0.5/red}{
\node[paint=\c, minimum width=\a cm] at (0,0) {};
\node[paint=\c, minimum height=\a cm] at (2,0) {};
}
\begin{scope}[yshift=-3cm,
every node/.style={
right angle triangle,
isosceles triangle stretches=false,
draw, inner sep=0pt,
minimum height=1cm,
anchor=apex}
]
\draw[help lines] (0,0) grid (2,2);
\foreach \a/\c in {45/blue, 135/green,225/red,315/orange}
\node[paint=\c,
shape border rotate=\a] at (1,1) {};
\end{scope}
\end{tikzpicture}
\end{document}
답변3
귀하의 질문을 통해 귀하가 이것을 찾고 있다는 것을 이해했습니다.
나는 핀으로 좌표 A, B, C를 표시했습니다. (보시다시피 삼각형 모양이 핀과 완벽하게 일치합니다.
위 이미지에 대해 두 가지 솔루션을 제안합니다.
- 이등변삼각형을 사용하세요.이그나시답변:
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}[
trian/.style = {isosceles triangle,
isosceles triangle apex angle=90,
minimum size=4cm/sqrt(2), inner sep=0pt,
anchor=east,rotate=-135,
draw, fill=green!20}
]
\coordinate[pin=below:A] (A) at (0,0);
\coordinate[pin=below:B] (B) at (4,0);
\coordinate[pin=C] (C) at (0,4);
%
\node [trian] {};
\end{tikzpicture}
\end{document}
\pic
노드는 아니지만 유사한 기능을 갖는 작은 그림( )이 있습니다 (가능한 노드 앵커에서 세 개의 모서리만-a
,-b
및 ˙-c`로 정의함).
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
trian/.pic = {
\draw [fill=green!20]
(0,0) coordinate (-a) --
(4,0) coordinate (-b) --
(0,4) coordinate (-c) -- cycle;
}
]
\coordinate[pin=below:A] (A) at (0,0);
\coordinate[pin=below:B] (B) at (4,0);
\coordinate[pin=C] (C) at (0,4);
%
\pic[above right] at (A) {trian};
\end{tikzpicture}
\end{document}
두 경우 모두 결과는 동일합니다