アルガン図にポリゴンを作成するにはどうすればいいですか

アルガン図にポリゴンを作成するにはどうすればいいですか

ここに画像の説明を入力してください

点が接続されて軸が中央にある多角形 (この場合は五角形) を形成するこのような図を作成するにはどうすればよいでしょうか。

ありがとう!

答え1

あなたの質問に正確に答えると、五角形はどのように描くのでしょうか?

Tikz の場合: 頂点 (A、B、C、D、E) を知る必要があります。

 \draw (A) \foreach \pt in {A,B,C,D,E}{--(\pt)}--cycle;%

tkz-euclide の場合:\tkzDrawPolygon(A,...,E)

新しい tkz-elements パッケージを使用します ( でコンパイルする必要がありますlualatex)。4、6、または 7 辺が必要な場合は、 RP.five = regular_polygon : new (z.O,z.A,5)5 を削除して必要なものを追加するだけです。Aは最初の頂点です。

RP.five : name ("A_")ノードに適切な名前を取得するための関数です。lua では最初のインデックスは 1 ですが、これを変更できます。

ラテックスコードで外半径と内半径を簡単に取得できます:\tkzUseLua{RP.five.inradius}ここ:4.8541019662497

辺の長さは : \tkzUseLua{RP.five.side}: 3.5267115137548になります

注: ラベルの配置にはあまり力を入れませんでした。配置を改善するには、TikZ スタイルを使用する必要があります。

% !TEX TS-program = lualatex
\documentclass[margin=6pt]{standalone} 
\usepackage{tkz-euclide}
\usepackage{tkz-elements}
\begin{document} 
    
\begin{tkzelements}
   z.A      = point : new ( 0  , -6  )
   z.O      = point : new ( 0  , 0  )
   RP.five  = regular_polygon : new (z.O,z.A,5)
   RP.five : name ("A_")
   z.H = RP.five.proj
\end{tkzelements}
    
\begin{tikzpicture}
   \tkzGetNodes
   \tkzInit[xmin=-7,ymax=7,xmax=7,ymin=-7]
   \tkzDrawX[>=latex,label = Re($z$)]
   \tkzDrawY[>=latex,label = Im($z$)]
   \tkzGrid
   \tkzDrawCircles[red](O,A)
   \tkzDrawCircles[teal](O,H)
   \tkzDrawPolygon(A_1,A_...,A_5)
   \tkzDrawPoints[red](A_1,A_...,A_5)
   \tkzLabelPoints[red](A_1,A_...,A_5)
\end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

答え2

このような:

ここに画像の説明を入力してください コードtikz:

\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw[gray!20,step=.5] (-4,-4) grid (4,4);
        \draw[-latex] (-4,0)--(4,0) node[right] {Re$z$};
        \draw[-latex] (0,-4)--(0,4) node[above] {Im$z$};
        \draw (1,.05)--(1,-.05) node[below] () {\tiny 1};
        \draw (.05,1)--(-.05,1) node[left] () {\tiny 1};
        \draw[color=magenta,dotted] (0,0) circle(3cm);
        \foreach \i in {0,1,2,3,4} 
        \filldraw[red] ({54+72*\i}:3) circle(1.5pt) coordinate (a\i);
        \draw[blue,line width=1pt] (a0)--(a1) coordinate[pos=.25] (c0) {};
        \draw[blue,line width=1pt] (a1)--(a2) coordinate[pos=.25] (c1) {};
        \draw[blue,line width=1pt] (a2)--(a3) coordinate[pos=.25] (c2) {};
        \draw[blue,line width=1pt] (a3)--(a4) coordinate[pos=.25] (c3) {};
        \draw[blue,line width=1pt] (a4)--(a0) coordinate[pos=.25] (c4) {};
        \foreach \i in {0,1,2,3,4} \draw[black] ({54+72*\i}:3.3) node (b\i) {$A_{\i}$};
    \end{tikzpicture}
\end{document}

追加: 厳密に必要でない場合は、補足パケットは好きではありません。そこで、別の最小限のソリューションも提案します (出力は同じです)。

\begin{tikzpicture}
        \draw[gray!20,step=.5] (-4,-4) grid (4,4);
        \draw[-latex] (-4,0)--(4,0) node[right] {Re$z$};
        \draw[-latex] (0,-4)--(0,4) node[above] {Im$z$};
        \draw (1,.05)--(1,-.05) node[below] () {\tiny 1};
        \draw (.05,1)--(-.05,1) node[left] () {\tiny 1};
        \draw[color=magenta,dotted] (0,0) circle(3cm);
        \draw[line width=1pt] (54:3) node[red] {} circle(1pt)--(126:3) node[red] {} circle(1pt)--(198:3) node[red] {} circle(1pt)--(270:3) node[red] {} circle(1pt)--(342:3) node[red] {} circle(1pt)--(54:3);
        \foreach \i in {0,1,2,3,4} \draw[black] ({54+72*\i}:3.3) node (b\i) {$A_{\i}$};
    \end{tikzpicture}

関連情報