如何在 Argand 图上创建多边形

如何在 Argand 图上创建多边形

在此处输入图片描述

我怎样才能制作这样的图表,其中各点连接起来形成一个多边形(在本例中是五边形),轴位于中间。

谢谢你!

答案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,但我们可以修改它。

您可以轻松获得 exradius 和 inradius 在您的乳胶代码中:\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}

相关内容