如何使用 tkz-graph 在两条边的交点处创建一个顶点?

如何使用 tkz-graph 在两条边的交点处创建一个顶点?

我想画画

在此处输入图片描述

但我不知道如何创建是&v_6的交点和是&的交点。这是五角星的代码\Edge(v_3)(v_5)\Edge(v_1)(v_4)v_7\Edge(v_3)(v_5)\Edge(v_2)(v_4)

\documentclass{standalone}
\usepackage{tikz,tkz-graph,tkz-berge}
%\usetikzlibrary{positioning,fit,patterns} 

\begin{document}
\begin{tikzpicture}[rotate=90]
\GraphInit[vstyle=Classic]
\tikzset{VertexStyle/.append style={minimum size=3pt, inner sep=3pt}}
\Vertices[Math,Lpos=90,unit=2]{circle}{v_1,v_2,v_3,v_4,v_5}
\Edges(v_1,v_2,v_3,v_4,v_5,v_1)
\Edges(v_1,v_3,v_5,v_2,v_4,v_1)
%\WE[Math,Lpos=90,unit=2.75](v_1){v_7} % Brutal
%\SOEA[Math,Lpos=0,unit=.5](v_7){v_6} 
\end{tikzpicture}
\end{document} 

答案1

这是替代方案JouleV 的精彩回答您不必重新绘制任何线,即可以保留您已有的内容。

\documentclass{standalone}
\usepackage{tikz,tkz-graph,tkz-berge}
\usetikzlibrary{calc} 

\begin{document}
\begin{tikzpicture}[rotate=90]
\GraphInit[vstyle=Classic]
\tikzset{VertexStyle/.append style={minimum size=3pt, inner sep=3pt}}
\Vertices[Math,Lpos=90,unit=2]{circle}{v_1,v_2,v_3,v_4,v_5}
\Edges(v_1,v_2,v_3,v_4,v_5,v_1)
\Edges(v_1,v_3,v_5,v_2,v_4,v_1)
%\WE[Math,Lpos=90,unit=2.75](v_1){v_7} % Brutal
%\SOEA[Math,Lpos=0,unit=.5](v_7){v_6} 
\path  (intersection cs:first line={(v_3)--(v_5)}, second line={(v_1)--(v_4)})
node[circle,fill,label=right:$v_6$] (v_6){} 
(intersection cs:first line={(v_3)--(v_5)}, second line={(v_2)--(v_4)})
node[circle,fill,label=below:$v_7$] (v_7){} ;
\end{tikzpicture}
\end{document} 

在此处输入图片描述

答案2

我会做

\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric, intersections}
\begin{document}
\begin{tikzpicture}
    \node[draw, minimum size = 3cm, regular polygon, regular polygon sides = 5] (a) {};
    \foreach \x in {1,2,...,5} 
        \fill (a.corner \x) circle [radius=2pt];
    \draw (a.corner 1) node[above] {$v_1$};
    \draw (a.corner 2) node[left] {$v_2$};
    \draw (a.corner 3) node[below] {$v_3$};
    \draw (a.corner 4) node[below] {$v_4$};
    \draw (a.corner 5) node[right] {$v_5$};
    \draw (a.corner 1)--(a.corner 3);
    \draw (a.corner 2)--(a.corner 5);
    \draw [name path = seg1] (a.corner 2)--(a.corner 4);
    \draw [name path = seg2] (a.corner 1)--(a.corner 4);
    \draw [name path = comm] (a.corner 3)--(a.corner 5);
    \path [name intersections = {of = seg1 and comm, by = inter1}];
    \fill (inter1) circle [radius = 2pt];
    \draw (inter1) node[below] {$v_7$};
    \path [name intersections = {of = seg2 and comm, by = inter2}];
    \fill (inter2) circle [radius = 2pt];
    \draw (inter2) node[below right] {$v_6$};
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案3

\documentclass[12pt]{standalone}
\usepackage{pst-poly,pst-eucl} 
\begin{document}
\begin{pspicture}(-3,-2.5)(3,3)
\psset{unit=2.5cm,PstPicture=false,dotsize=0.1}
\PstStarFiveLines
\providecommand{\PstPolygonNode}{\psdots(1;\INode)}
\PstPentagon[PolyName=A]
\pstInterLL[PosAngle=-35]{A1}{A4}{A2}{A5}{v_6}
\pstInterLL[PosAngle=-90]{A1}{A4}{A3}{A5}{v_7}
\uput[90](A2){$v_1$}
\uput[180](A3){$v_2$}
\uput[-90](A4){$v_3$}
\uput[-90](A5){$v_4$}
\uput[0](A1){$v_5$}
\end{pspicture}
\end{document}

在此处输入图片描述

相关内容