編集

編集

を使用してサイクル (または多角形のパス) を描画したいと思いますTikZ。直交座標と極座標を使用してこれを実行しようとするコードを提供します。最初の描画では、補助線によってサイクルが不明瞭になっていると思います。2 番目の描画は、意図したとおりに描画されていません。

どちらの図面でも、パスはグリッド上に描かれています。グリッド線をサイクル内の線分の太さの 4 分の 1 の薄いグレーにしたいと考えていました。描画される線のデフォルトの太さはTikZ0.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}

不規則な凸多角形

関連情報