如何绘制两个集合的闵可夫斯基和?

如何绘制两个集合的闵可夫斯基和?

我想表示凸多边形的ε邻域,即闵可夫斯基和多边形和半径为 ε 的圆盘。多边形由其顶点给出,当然我可以从中计算出图形,但我希望使用 TikZ 有一个更简单的解决方案(尽管我对任何其他解决方案都同样满意)。以下是一个例子,三角形的ε邻域。

答案1

起点:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}

\def\radius{.5cm}

\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (3,-1);
\coordinate (c) at (2,2);
\foreach \nd in {a, b, c} {\draw (\nd) circle (\radius);}
\draw ($(a)!\radius!-90:(b)$) -- ($(b)!\radius!90:(a)$) ($(b)!\radius!-90:(c)$) -- ($(c)!\radius!90:(b)$) ($(c)!\radius!-90:(a)$) -- ($(a)!\radius!90:(c)$) ($(a)!\radius!-90:(b)$);
\draw[dashed] (a) -- (b) -- (c) -- cycle;
\end{tikzpicture}

\end{document}

相关内容