移动顶点而不移动相邻边

移动顶点而不移动相邻边

我用 Tikz 绘制了这张图,但我不喜欢边缘留下的 {e}:

如果我可以将顶点 {e} 稍微向左移动一点,那就完美了无需移动其相邻边,使其看起来更像顶点 {a}。有什么想法吗?

\begin{tikzpicture}[every node/.style={rectangle,draw=black,thick}]
\node(a)at(-2,1){\(\{a\}\)};
\node(b1)at(0,0){\(\{b_0\}\)};
\node(b0)at(0,2){\(\{b_1\}\)};
\node(c1)at(2,0){\(\{c_0\}\)};
\node(c0)at(2,2){\(\{c_1\}\)};
\node(d1)at(5,0){\(\{d_3,\hdots,d_9\}\)};
\node(d0)at(5,2){\(\{d_0,\hdots,d_2\}\)};
\node(e)at(8,1){\(\{e\}\)};
\draw(a)to[bend left=30](b0);
\draw(a)to[bend right=30](b1);
\draw(e)to[bend right=20](d0);
\draw(e)to[bend left=20](d1);
\draw(b0)--(c0)--(d0)--(d1)--(c1)--(b1);
\end{tikzpicture}

答案1

不应移动节点 {e},而应移动 {e} 中边的入口。您可以通过以下方式指定这一点:

\draw(e.north)to[bend right=20](d0);
\draw(e.south)to[bend left=20](d1);

这使

在此处输入图片描述

你也可以将位置指定为角度,例如

\draw(e.90)to[bend right=20](d0);
\draw(e.-90)to[bend left=20](d1);

得到的结果是一样的。

如果你还想改变边缘的起始角度,除了[bend right=<angle>]给出不同的进出角度外,还可以这样做,例如

\draw(e.north)to[out=90,in=0](d0);
\draw(e.south)to[out=-90,in=0](d1);

在此处输入图片描述

在这种情况下,定位e.northe.south没有什么区别,但对线角进行一些不同的设置就会有所不同。(那么它可能看起来也比这个例子更好。)

相关内容