使用 TikZ 繪製定向超邊

使用 TikZ 繪製定向超邊

我目前正在為計算機科學學期專案進行符號依賴圖的模型檢查,並且迫切需要一種簡單的方法來繪製依賴圖,最好使用 TikZ。

我的問題有點與,但我需要引導弧線。

超邊e是一個元組e = (v, T),其中v是來源節點,T是目標集。中的每個元素T都是一個元組t = (w, t),其中w是非負整數或參數,並且t是目標節點。

下面的例子(發現這裡)正是我所需要的,除了我需要引導弧線。

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

我嘗試添加->作為選項抖音圖片,但這導致箭頭不僅指向目標集,而且還指向來源節點。

答案1

對於這種特定情況,您可以修改\hypergraph命令來讀取

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

這將向其中兩個edges 添加箭頭,這些箭頭通向目標節點。

在此輸入影像描述

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

相關內容