# How to create a vertex at the intersection of two edges with tkz-graph?

I want to draw

But I don't know how to create v_6 which is the intersection of \Edge(v_3)(v_5) & \Edge(v_1)(v_4) and v_7 is the intersection of \Edge(v_3)(v_5) & \Edge(v_2)(v_4). Here the code for the pentagram

\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}


Here is an alternative to JouleV's nice answer in which you do not have to redraw any line, i.e. can keep what you had.

\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}


I would do

\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}


\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}