решение1
Если отвечать на ваш вопрос точнее: как нарисовать пятиугольник?
С Tikz: вам нужно знать вершины (A,B,C,D,E):
\draw (A) \foreach \pt in {A,B,C,D,E}{--(\pt)}--cycle;%
С tkz-евклидом:\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}