Gerichtete Hyperkanten mit TikZ zeichnen

Gerichtete Hyperkanten mit TikZ zeichnen

Ich arbeite derzeit an der Modellprüfung symbolischer Abhängigkeitsgraphen für mein Semesterprojekt in Informatik und brauche dringend eine einfache Möglichkeit zum Zeichnen von Abhängigkeitsgraphen, vorzugsweise mit TikZ.

Mein Problem hängt irgendwie damit zusammenDas, aber ich brauche gelenkte Bögen.

Ein Hyperedge eist ein Tupel, e = (v, T)wobei vein Quellknoten und Tdie Zielmenge ist. Jedes Element in Tist ein Tupel t = (w, t), wobei wentweder eine nicht negative Ganzzahl oder ein Parameter ist und tein Zielknoten ist.

Das folgende Beispiel (gefundenHier) macht genau das, was ich brauche, außer dass die Bögen gerichtet werden müssen.

\documentclass{standalone}
\usepackage{tikz}

\newcommand{\hyperedge}[4][180]{
     \draw (#2.#1) ++(#1:.5)  edge (#2) edge (#3) edge (#4);    
}

\begin{document}
\begin{tikzpicture}[
    y=.7cm, x=1cm,
    every edge/.append style={thick}
]

\node (c) at (0,0) {c};
\node (a) at (1,1) {d};
\node (b) at (1,-1) {e};


\hyperedge[0]{c}{b}{a}
\end{tikzpicture}
\end{document}

Ich habe versucht, ->als Option hinzuzufügen zuAbonnieren, aber dies führte zu Pfeilen nicht nur zum Zielsatz, sondern auch zum Quellknoten.

Antwort1

Für diesen speziellen Fall können Sie den \hypergraphBefehl ändern, um zu lesen

\newcommand{\hyperedge}[4][180]{
     \draw (#2.#1) ++(#1:.5)  edge (#2) edge[->] (#3) edge[->] (#4);    
}

Dadurch werden zwei der Pfeile hinzugefügt edge, die zu den Zielknoten führen.

Bildbeschreibung hier eingeben

\documentclass{standalone}
\usepackage{tikz}

\newcommand{\hyperedge}[4][180]{
     \draw (#2.#1) ++(#1:.5)  edge (#2) edge[->] (#3) edge[->] (#4);    
}

\begin{document}
\begin{tikzpicture}[
    y=.7cm, x=1cm,
    every edge/.append style={thick}
]

\node (c) at (0,0) {c};
\node (a) at (1,1) {d};
\node (b) at (1,-1) {e};


\hyperedge[0]{c}{b}{a}
\end{tikzpicture}
\end{document}

verwandte Informationen