I have an image where I'd like to draw arrows between nodes where the arrows are all "on the same circle". I can achieve what I want by hand as follows:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[ultra thick, -stealth]
\node[circle,fill] (a) at (0: 1) {};
\node[rectangle,minimum width=1cm,fill](b) at (120: 1) {};
\node[rectangle,minimum height=1cm,fill](c) at (240: 1) {};
\draw[dashed] (85: 1) arc (85: 30: 1) ;
\draw (330:1) arc (330: 280:1) ;
\draw[dashed] (200:1) arc (200: 140:1);
\end{tikzpicture}
\end{document}
But if my nodes are different shapes and sizes, I have to find coordinates that work by hand. What I'd really like to do, is find where the edges of the node intersect the circle and draw the arcs using those edges. Is there an automatic way to do this? This answer is a partial solution, but it seems like I'd still have to pick the arcs and shorten
lengths by hand...
The actual use case is that the nodes will contain pictures of different aspect ratios. I've approximated the problem using some akward shaped nodes.