El algoritmo DCirc

Las topologías en anillo y en estrella son parecidas en varias maneras. Examine Topología en anillo y Topología en estrella para hacerse una idea de los parecidos.
Topología
en anillo sencilla que puede compararse con una topología en estrella
sencilla
Topología en anillo
Topología
en estrella sencilla que puede compararse con una topología en anillo
sencilla
Topología en estrella
Ambas topologías se componen de nodos dibujados en un círculo. En el caso del algoritmo Diseño circular, la única diferencia entre las topologías en anillo y en estrella es que la estrella tiene un nodo especial, llamado el centro de la estrella, que se dibujan en el centro del círculo.
Según la modalidad de agrupación en clúster (consulte Modalidad de agrupación en clúster (DCirc)), el diseño permite especificar el orden de los nodos en el círculo (consulte Miembros del clúster y orden de los nodos de un clúster (DCirc)) o calcula el orden automáticamente de modo que el número de intersecciones de enlaces sea pequeño.
La topología de la red pueden estar compuesta por más de un anillo o estrella. Estos anillos y estrellas pueden estar parcialmente interconectados; es decir, dos o más clústeres pueden tener un nodo común, como se puede ver en la figura Anillos interconectados mediante nodos comunes. También pueden estar interconectados mediante enlaces entre nodos de dos clústeres distintos, como se muestra en la figura Anillos interconectados mediante enlaces .
Tres
anillos interconectados mediante nodos comunes
Anillos interconectados mediante nodos comunes
Tres
anillos interconectados mediante enlaces
Anillos interconectados mediante enlaces
El algoritmo Diseño Circular diseña topologías en anillo y en estrella de forma que conserva la identidad visual de cada clúster y evita el solapamiento de nodos y clústeres. Consulte los dibujos de ejemplo de Ejemplos de DCirc.
Para comprender cómo se ejecuta el diseño en las modalidades de agrupación en clúster AUTOMATIC y BY_CLUSTER_IDS, supongamos que existe un gráfico en el que cada nodo representa una agrupación en anillo o en estrella de una topología de red. Añada un enlace entre dos nodos cada vez que hay una interconexión entre los clústeres correspondientes. El algoritmo Diseño circular está diseñado para el caso de que el gráfico obtenido de este modo sea un árbol (es decir, un gráfico sin ciclos). Si existen ciclos, el diseño se ejecuta mediante un spanning tree del gráfico.
Empezando por un clúster raíz (un anillo o una estrella), los clústeres que están conectados al clúster raíz se dibujan formando un círculo concéntrico respecto al clúster raíz. El radio del círculo se calcula de modo que se evite el solapamiento de clústeres. Seguidamente, el algoritmo diseña los clústeres conectados a estos últimos clústeres en un círculo mayor y así sucesivamente. A cada círculo se le denomina nivel.
Para las redes que no están conectados (es decir, que en el gráfico existen grupos de clústeres desconectados), existe más de un árbol de expansión. Cada árbol de expansión se diseña por separado y se coloca cerca de los demás. Puede verlo en los dibujos de ejemplo de Ejemplos de DCirc.
En la modalidad de agrupación en clúster BY_SUBGRAPHS, cada subgráfico (clúster) conserva su posición inicial. Los subgráficos los puede colocar un algoritmo de diseño distinto o pueden colocarse interactivamente.
Ejemplo de DCirc
En el siguiente ejemplo de código se utiliza la clase ibm_ilog.graphlayout.circular.CircularLayout. En este código de ejemplo se muestra cómo ejecutar un Diseño circular:
dojo.require("ibm_ilog.graphlayout.circular.CircularLayout");

var layout = new ibm_ilog.graphlayout.circular.CircularLayout();
graph.setNodeLayout(layout);
graph.performGraphLayout();