
Estoy tratando de dibujar líneas desde el círculo central (Asamblea General) hasta los círculos del Consejo Económico y Social y de la Corte Penal Internacional de modo que el ángulo de incidencia de la línea en los tres círculos sea de 0 grados, es decir, la línea está en un Ángulo de 90 grados con respecto a la superficie del círculo. Ahora mismo esto es lo que tengo.
\documentclass{article}
\usetikzlibrary{calc}
\usetikzlibrary{matrix, shapes}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{snakes}
\usetikzlibrary{positioning, intersections}
\pgfplotsset{compat=1.10}
\begin{document}
\begin{figure}[H]
\label{fig:structure}
\centering
\begin{tikzpicture}
\node[xshift=6cm,draw,regular polygon, regular polygon sides=4,text width=3cm,align=center] (sa)
{{\Large Specialized agencies}:\\
\textbullet FAO\\
\textbullet ILO\\
\textbullet ITU\\
\textbullet WHO};
\node[minimum size= 4.5cm, xshift=12cm,draw,circle, text width=3cm,align=center] (ga) {\Large{General Assembly}\\
\small{1 nation, 1 vote}};
\node[xshift=12cm,yshift=-5cm,draw, circle, text width=3cm,align=center] (sc) {\Large Security Council\\
\small{5 permanent members\\
10 rotating members chosen by GA}};
\node[xshift=12cm,yshift=5cm,draw,circle, text width=3cm,align=center] (sg) {\Large Secretary General\\
\small{Supports GA decisions}};
\node[xshift=17cm,yshift=2cm,draw,circle, text width=3cm,align=center] (ecsoc) {\Large Economic and Social Council
};
\node[xshift=17cm,yshift=-2cm,draw,circle, text width=3cm,align=center] (icc) {\Large International Criminal Court
};
\draw (sa.east) -- (ga.west);
\draw (sg.south) -- (ga.north);
\draw (sc.north) -- (ga.south);
\draw (ga.east) -- (ecsoc.west);
\draw (ga.east) -- (icc.west);
\end{tikzpicture}
\caption{Structure of the United Nations}
\end{figure}
\end{document}
Respuesta1
Si quiere decir que deben ser perpendiculares al borde del círculo, entonces en lugar de --
, use edge[out=0, in=180]
como en \draw (ga.east) edge[out=0, in=180] (ecsoc.west);
. De esta forma la línea sale en 0 grados (derecha) y entra en 180 (izquierda).
Además, escriba todas las bibliotecas de Tikz en un solo lugar, separadas por comas.despuésllamas al paquete Tikz para que no cree errores. Por lo general, enumero todos los paquetes que necesito y luego las bibliotecas, cuando corresponde, después de todos ellos. De esta manera también es más fácil de entender y más organizado.
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{positioning, intersections, calc, matrix, shapes, snakes}
\pgfplotsset{compat=1.10}
\begin{document}
\begin{figure}[H]
\label{fig:structure}
\centering
\begin{tikzpicture}
\node[xshift=6cm,draw,regular polygon, regular polygon sides=4,text width=3cm,align=center] (sa)
{{\Large Specialized agencies}:\\
\textbullet FAO\\
\textbullet ILO\\
\textbullet ITU\\
\textbullet WHO};
\node[minimum size= 4.5cm, xshift=12cm,draw,circle, text width=3cm,align=center] (ga) {\Large{General Assembly}\\
\small{1 nation, 1 vote}};
\node[xshift=12cm,yshift=-5cm,draw, circle, text width=3cm,align=center] (sc) {\Large Security Council\\
\small{5 permanent members\\
10 rotating members chosen by GA}};
\node[xshift=12cm,yshift=5cm,draw,circle, text width=3cm,align=center] (sg) {\Large Secretary General\\
\small{Supports GA decisions}};
\node[xshift=17cm,yshift=2cm,draw,circle, text width=3cm,align=center] (ecsoc) {\Large Economic and Social Council
};
\node[xshift=17cm,yshift=-2cm,draw,circle, text width=3cm,align=center] (icc) {\Large International Criminal Court
};
\draw (sa.east) -- (ga.west);
\draw (sg.south) -- (ga.north);
\draw (sc.north) -- (ga.south);
\draw (ga.east) edge[out=0, in=180] (ecsoc.west);
\draw (ga.east) edge[out=0, in=180] (icc.west);
\end{tikzpicture}
\caption{Structure of the United Nations}
\end{figure}
\end{document}
Por cierto, puedes modificar la apariencia de la curva agregando la tecla "holgura". El valor predeterminado es 1, 0 crea una línea recta y los números crecientes acentúan la curva. Aquí hay un ejemplo (el negro es el estándar, o 1):
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{positioning, intersections, calc, matrix, shapes, snakes}
\pgfplotsset{compat=1.10}
\begin{document}
\begin{tikzpicture}
\node[draw, circle, text width=3cm, align=center] (ga) {\Large General Assembly};
\node[draw, circle, text width=3cm, align=center, xshift=6cm, yshift=3cm] (ecsoc) {\Large Economic and Social Council};
\draw[green] (ga.east) edge[out=0, in=180, looseness=0] (ecsoc.west);
\draw (ga.east) edge[out=0, in=180, looseness=1] (ecsoc.west);
\draw[red] (ga.east) edge[out=0, in=180, looseness=5] (ecsoc.west);
\draw[blue] (ga.east) edge[out=0, in=180, looseness=10] (ecsoc.west);
\end{tikzpicture}
\end{document}