
を使用してサイクル (または多角形のパス) を描画したいと思いますTikZ
。直交座標と極座標を使用してこれを実行しようとするコードを提供します。最初の描画では、補助線によってサイクルが不明瞭になっていると思います。2 番目の描画は、意図したとおりに描画されていません。
どちらの図面でも、パスはグリッド上に描かれています。グリッド線をサイクル内の線分の太さの 4 分の 1 の薄いグレーにしたいと考えていました。描画される線のデフォルトの太さはTikZ
0.4pt だと思います。そのため、仕様ではline width=0.1pt
補助線がサイクルの 4 分の 1 の太さになると思っていましたが、そうではありませんでした。線を薄いグレーにする方法を忘れてしまいました。(補助線はデフォルトでグレーだと思っていました。)
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{intersections,decorations.pathreplacing,positioning}
\begin{document}
\begin{tikzpicture}
\draw (0,0) grid [xstep=0.5, ystep=0.5, line width=0.1pt,gray] (6,6);
\draw[line width=0.5pt] (4,1) -- ++(1,0) -- ++(0,3) -- ++(-2,0) -- cycle;
\end{tikzpicture}
\vskip0.25in
\begin{tikzpicture}
\draw (0,0) grid [xstep=0.5, ystep=0.5, line width=0.1pt,gray] (6,6);
\draw[line width=0.5pt] (1,1.5) -- ++(2:135) -- ++(1:135) -- ++(3:90) -- ++ (1:120) -- cycle;
\end{tikzpicture}
\end{document}
答え1
描画のオプションは\draw
ではなく コマンドに渡す必要がありますgrid
。(編集:Qrrbrbirlbelが最初に言った。
極座標は として指定されます(angle:distance)
。ただし、 の角度は135
常に同じ方向になるため、パスの最初の 2 つのセグメントは同じ方向を向いていることに注意してください。
(1,1.5) -- ++(135:2) -- ++(135:1)
そして
(1,1.5) -- ++(135:3)
同等です。
部分的に修正されたコードは次のようになります。
\documentclass{amsart}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [gray, line width=0.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\draw [line width=0.5pt] (4,1) -- ++(1,0) -- ++(0,3) -- ++(-2,0) -- cycle;
\end{tikzpicture}
\vskip0.25in
\begin{tikzpicture}
\draw [gray, line width=0.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\draw [line width=0.5pt] (1,1.5) -- ++(135:2) -- ++(135:1) -- ++(90:3) -- ++ (120:1) -- cycle;
\end{tikzpicture}
\end{document}
しかし、これはおそらくあなたが望むものではないでしょう:
線のクローズアップ:
編集
このshapes.geometric
ライブラリを使用すると、正多角形などを簡単に描画できます。
\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\node [shape=regular polygon, regular polygon sides=5, draw, minimum width=15mm] at (3,3) {};
\end{tikzpicture}
\end{document}
ただし、それが適切でない場合は、次の方法を試すことができます。
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\begin{scope}[shift={(1,1.5)}]
\draw [line width=0.5pt] ++(0:1) -- ++(72:1) -- ++(144:1) -- ++(216:1) -- ++ (288:1) -- cycle;
\end{scope}
\end{tikzpicture}
編集 編集
あるいは不規則...
\begin{tikzpicture}
\draw [gray, line width=.1pt] (0,0) grid [xstep=0.5, ystep=0.5] (6,6);
\begin{scope}[shift={(3,1.5)}]
\draw [line width=0.5pt] ++(0:2) -- ++(72:1) -- ++(144:3) -- ++(216:2.5) -- ++ (288:.5) -- cycle;
\end{scope}
\end{tikzpicture}