答案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
像这样:
\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}