我正在尝试以最简单的方式提出一种绘制单纯形并通过循环处理交叉的方法:对于每一对可能的线,
- 找到交点
- 画第一条线
- 在交叉点处画一个白色圆圈
- 画第二条线
我正在使用该intersections
库,它帮助我完成 90% 的任务,但它引发了一个错误Package pgf Error: No shape named `intersection-1' is known.
,我认为这是因为我的代码生成了不相交的线(长度为 0)。
有什么方法可以确定吗(\x)!=(\y) && (\z)!=(\w)
?或者有更好的方法来生成单纯形?
梅威瑟:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc,intersections}
\begin{document}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (2,0);
\coordinate (C) at (2.5,1);
\coordinate (D) at (0.5,1);
\foreach \x in {A,B,C,D}{
\foreach \y in {A,B,C,D}{
\foreach \z in {A,B,C,D}{
\foreach \w in {A,B,C,D}{
\draw[name path=line 1] (\x) -- (\y);
\path[name path=line 2] (\z) -- (\w);
\fill[white,name intersections={of=line 1 and line 2, by={intpt}}] (intpt) circle[radius=2pt];
}
}
}
\draw[fill=black] (\x) circle[radius=2pt];
}
\end{tikzpicture}
\end{document}