Цветной шестиугольник с точками по краям

Цветной шестиугольник с точками по краям

Я нашел этот ответcfrно когда я использую код, он выдает мне ошибку. Также мне нужны точки, но я не могу этого сделать. Все, что я смог сделать, это нарисовать шестиугольник с помеченными вершинами. Как нам раскрасить ребра и поставить точки на каждом ребре?

\begin{tikzpicture}
\tkzDefPoint(0,0){O}\tkzDefPoint(2,0){A}
\tkzDefPointsBy[rotation=center O angle 360/6](A,B,C,D,E){B,C,D,E,F}
\tkzDrawPoints[fill ={black,red},size=5,color=black](A,B,C,D,E,F)
\tkzLabelPoints[above](B,C)
\tkzLabelPoints[right](A)
\tkzLabelPoints[left](D)
\tkzLabelPoints[below](E,F)
\tkzDrawPolygon[ultra thick](A,B,C,D,E,F)
\end{tikzpicture}

решение1

Так?

\documentclass[tikz,border=4mm]{standalone}

%-----------------------------------------------------------------------
\usepackage{tkz-euclide}
\usetkzobj{all}
%-----------------------------------------------------------------------
\begin{document}
\def\sc{1.5pt}
\begin{tikzpicture}
\tkzDefPoint(0,0){O}\tkzDefPoint(2,0){A}
\tkzDefPointsBy[rotation=center O angle 360/6](A,B,C,D,E){B,C,D,E,F}
\tkzLabelPoints[above](B,C)
\tkzLabelPoints[right](A)
\tkzLabelPoints[left](D)
\tkzLabelPoints[below](E,F)
\tkzDrawPolygon[white](A,B,C,D,E,F)
\tkzDrawSegment[blue](A,B)
\tkzDrawSegment[red](B,C)
\tkzDrawSegment[yellow](C,D)
\tkzDrawSegment[magenta](D,E)
\tkzDrawSegment[cyan](E,F)
\tkzDrawSegment[orange](F,A)
\tkzMarkSegment[color=blue,pos=0.5,mark=*,size=\sc](A,B)
\tkzMarkSegment[color=red,pos=0.5,mark=*,size=\sc](B,C)
\tkzMarkSegment[color=yellow,pos=0.5,mark=*,size=\sc](C,D)
\tkzMarkSegment[color=magenta,pos=0.5,mark=*,size=\sc](D,E)
\tkzMarkSegment[color=cyan,pos=0.5,mark=*,size=\sc](E,F)
\tkzMarkSegment[color=orange,pos=0.5,mark=*,size=\sc](F,A)
\tkzDrawPoints[fill ={black,red},size=6,color=black](A,B,C,D,E,F)
\end{tikzpicture}
\end{document}

введите описание изображения здесь

решение2

Короткий код, использующий для этого цикл:

\documentclass[tikz,border=7pt]{standalone}
\begin{document}
  \tikz[p/.style={circle,inner sep=.7pt,fill}]
    \draw foreach[count=\i from 0,count=\j]
      \l/\c in {A/blue,B/red,C/yellow,D/magenta,E/cyan,F/orange}{
        (\i*60:1.5) edge[\c] node[p]{} (\j*60:1.5) node[p]{} (\i*60:1.8) node{\l}
    } (\j*60:1.5) node[p]{};
\end{document}

введите описание изображения здесь

Связанный контент