dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>El manual de Rocs</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="Rocs es una herramienta de teoría de grafos."><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="next" href="introduction.html" title="Capítulo 1. Introducción"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> El manual de <span class="application">Rocs</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div lang="es" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>El manual de <span class="application">Rocs</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Tomaz</span> <span class="surname">Canabrava</span> <code class="email">&lt;tomaz.canabrava@gmail.com&gt;</code></p><p class="author"><span class="firstname">Andreas</span> <span class="surname">Cord-Landwehr</span> <code class="email">&lt;cordlandwehr@kde.org&gt;</code></p><span class="othercredit"><span class="contrib">Traducción</span>: <span class="firstname">Leticia</span> <span class="surname">Martín Hernández</span><br></span><span class="othercredit"><span class="contrib">Traducción</span>: <span class="firstname">Rocío</span> <span class="surname">Gallego</span><br></span></div></div><div>revisión <span class="releaseinfo">KDE Gear 21.08 (<span class="date">2021-10-23</span>)</span></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Aviso Legal</a></p></div><div><div><div class="abstract"><p><span class="application">Rocs</span> es una herramienta de teoría de grafos. </p></div></div></div></div><hr></div><div class="toc"><p><b>Tabla de contenidos</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introducción</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction-goals">Objetivos, audiencia de destino y flujo de trabajo</a></span></dt><dt><span class="sect1"><a href="introduction-nutshell.html"><span class="application">Rocs</span> en pocas palabras</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-nutshell.html#idm85">Documentos de grafos</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm91">Tipos de aristas</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm94">Tipos de nodos</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm97">Propiedades</a></span></dt></dl></dd><dt><span class="sect1"><a href="introduction-tutorial.html">Tutorial</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-tutorial.html#idm113">Generación del grafo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm122">Creación de los tipos de elementos</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm132">El algoritmo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm136">Ejecución del algoritmo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. La interfaz de usuario de <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all">Elementos principales de la interfaz de usuario</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Guiones</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm232">Ejecución de algoritmos en <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm239">Control de la ejecución del guion</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm255">Salida del guion</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm261">API del motor de guiones</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="import-export.html">4. Importar y exportar</a></span></dt><dd><dl><dt><span class="sect1"><a href="import-export.html#import-export-projects">Intercambiar proyectos de <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Importar y exportar documentos de grafos</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="graph-layout.html">5. Diseño del gráfico</a></span></dt><dd><dl><dt><span class="sect1"><a href="graph-layout.html#idm354">Diseño de gráficos automático en <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="graph-layout.html#idm365">Diseño basado en fuerzas</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">6. Créditos y licencia</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Capítulo 1. Introducción</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="index.html" title="El manual de Rocs"><link rel="next" href="introduction-nutshell.html" title="Rocs en pocas palabras"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Introducción</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Capítulo 1. Introducción</h1></div></div></div><p>En este capítulo le proporcionamos un resumen de las funcionalidades principales y de los flujos de trabajo típicos. Las partes más importantes son <a class="xref" href="introduction-nutshell.html" title="Rocs en pocas palabras">“<span class="application">Rocs</span> en pocas palabras”</a> y <a class="xref" href="scripting.html" title="Capítulo 3. Guiones">Capítulo 3, <i>Guiones</i></a>, que deberían bastar para que cualquier nuevo usuario comience a usar <span class="application">Rocs</span>. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-goals"></a>Objetivos, audiencia de destino y flujo de trabajo</h2></div></div></div><p><span class="application">Rocs</span> es una herramienta de teoría de grafos para todos aquellos interesados en el diseño y el análisis de algoritmos de grafos. Esto incluye:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>a profesores que quieran mostrar algoritmos a sus estudiantes,</p></li><li class="listitem"><p>a estudiantes e investigadores que quieran ver como funciona un algoritmo,</p></li><li class="listitem"><p>y a cualquier persona interesada en estructuras de datos y algoritmos.</p></li></ul></div><p>Para todos ellos, <span class="application">Rocs</span> proporciona un editor gráfico muy fácil de usar para crear grafos, un potente motor de guiones para ejecutar algoritmos y diversas herramientas auxiliares para realizar simulaciones, experimentos y exportar grafos. El modo usual de usar <span class="application">Rocs</span> consiste en crear un grafo, bien a mano (es decir, arrastrando nodos y aristas por la pizarra), o bien usando cualquiera de los generadores de grafos. A continuación puede implementar algoritmos de grafos y ejecutarlos sobre el grafo creado, con lo que cualquier cambio que realice el algoritmo se hará visible de forma inmediata en el editor de grafos. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-screenshot.png" alt="Una captura de pantalla de Rocs."></div></div></div><FILENAME filename="introduction-nutshell.html"><html><head><title>Rocs en pocas palabras</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="introduction.html" title="Capítulo 1. Introducción"><link rel="prev" href="introduction.html" title="Capítulo 1. Introducción"><link rel="next" href="introduction-tutorial.html" title="Tutorial"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> <span class="application">Rocs</span> en pocas palabras</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Anterior</a></td><td class="upCell">Introducción</td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-nutshell"></a><span class="application">Rocs</span> en pocas palabras</h2></div></div></div><p>Cada sesión de <span class="application">Rocs</span> es un proyecto: cuando abra <span class="application">Rocs</span> se creará un proyecto vacío; cuando cargue algún proyecto, se convertirá en proyecto activo. En sí, un proyecto consta de <span class="emphasis"><em>documentos de grafos</em></span>, de <span class="emphasis"><em>guiones o algoritmos</em></span>. y de un <span class="emphasis"><em>diario</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm85"></a>Documentos de grafos</h3></div></div></div><p>Un documento de grafos representa el contenido de una pizarra en el editor de grafos. Contiene información sobre los tipos de nodo y aristas definidos por el usuario y sus propiedades, así como sobre los nodos y aristas ya creados. Es decir, <span class="application">Rocs</span> entiende el conjunto de todos los nodos y aristas de un documento de grafos (no necesariamente conectados) que componen un grafo. Todo lo que pertenezca a un documento de grafos permanece accesible para el motor de guiones usando el objeto global <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Document</strong></span></span></code></strong>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm91"></a>Tipos de aristas</h3></div></div></div><p>En algunos escenarios, los grafos consisten en distintos tipos de aristas (por ejemplo, un grafo no dirigido más las tres aristas calculadas por un algoritmo de búsqueda en anchura) que se deben manejar y mostrar de forma diferente. Para ello, además de un tipo de arista por omisión, puede definir otros tipos de aristas adicionales. Cada tipo de arista tiene su representación visual individual, sus propiedades dinámicas y se puede cambiar de dirigido a no dirigido. La interfaz de guiones proporciona los métodos necesarios para acceder de forma específica a las aristas de determinados tipos. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm94"></a>Tipos de nodos</h3></div></div></div><p>Del mismo modo que para los tipos de aristas, puede definir diferentes tipos de nodos de un grafo (por ejemplo, para proporcionar un papel especial a algunos nodos). Cada tipo de nodo posee su propia representación visual y propiedades dinámicas. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm97"></a>Propiedades</h3></div></div></div><p>Cada elemento (nodo o arista) puede tener propiedades. Estas propiedades se deben configurar en el correspondiente tipo de nodo o arista. Los nombres de las propiedades pueden contener cualquier valor y sirven para identificarlas y para acceder a ellas. Para crear una nueva propiedad o para modificar una existente, use la barra lateral <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipos de elementos</span></span>. Para abrir el diálogo de una propiedad, use el botón <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Propiedades</span></span>. </p><p>También puede usar el motor de guiones para acceder a las propiedades registradas y modificar su valor. En el ejemplo siguiente se supondrá que la propiedad «weight» está registrada para el tipo de arista por omisión. </p><pre class="programlisting">var nodes = Document.nodes()
for (var i = 0; i &lt; nodes.length; ++i){
    nodes[i].weight = i;
}
for (var i = 0; i &lt; nodes.length; ++i){
    Console.log("peso del nodo " + i + ": " + nodes[i].weight);
}
</pre><p>
</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Siguiente</a></td></tr><tr><td class="prevCell">Introducción </td><td class="upCell">Introducción</td><td class="nextCell"> Tutorial</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="introduction-tutorial.html"><html><head><title>Tutorial</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="introduction.html" title="Capítulo 1. Introducción"><link rel="prev" href="introduction-nutshell.html" title="Rocs en pocas palabras"><link rel="next" href="user-interface.html" title="Capítulo 2. La interfaz de usuario de Rocs"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Tutorial</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Anterior</a></td><td class="upCell">Introducción</td><td class="nextCell"><a accesskey="n" href="user-interface.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-tutorial"></a>Tutorial</h2></div></div></div><p>En esta sección queremos crear un proyecto de ejemplo para explorar algunas de las funciones más importantes de <span class="application">Rocs</span>. El objetivo es crear un grafo y un guion que ilustre un sencillo algoritmo de aproximación a 2 para el problema de la <span class="emphasis"><em>cobertura de vértices mínima</em></span>. En este problema se debe encontrar un subconjunto de nodos del grafo C del mínimo tamaño, de modo que cada arista de grafo esté conectada al menos a un nodo de C. Este problema es NP-complejo y deseamos ilustrar cómo encontrar una aproximación de factor 2 buscando una coincidencia en el grafo propuesto. </p><p>Nuestro objetivo es mostrar la correspondencia de las coincidencias y la cobertura de vértices mínima. Para ello, vamos a especificar dos tipos de aristas (uno para mostrar las aristas coincidentes y otro para mostrar las aristas «ordinarias»), así como dos tipos de nodos que vamos a usar para distinguir los nodos contenidos en C y los que no están contenidos en C. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm113"></a>Generación del grafo</h3></div></div></div><p>Para crear el grafo, usaremos el generador por omisión que proporciona <span class="application">Rocs</span>. Está disponible en menú principal: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento de grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Herramientas</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Generar grafo</span></span>. Allí seleccionamos un <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Grafo aleatorio</span></span> con 30 nodos, 90 aristas y semilla 1 (la semilla es la inicial para el generador de grafos aleatorios; si usa la misma semilla varias veces, se volverán a reproducir los mismos grafos). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm122"></a>Creación de los tipos de elementos</h3></div></div></div><p>Usaremos <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipos de elementos</span></span> para crear un segundo tipo de nodo y un segundo tipo de arista. Para estos dos nuevos tipos, abriremos el diálogo de propiedades usando sus respectivos botones <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Propiedades</span></span> y fijaremos sus ID a <code class="literal">2</code>. Además, cambiaremos los colores de los elementos de estos dos nuevos tipos (para distinguirlos de los tipos por omisión). Finalmente, indicaremos que todos los tipos de aristas sean bidireccionales y fijaremos el ID de los tipos por omisión a <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm132"></a>El algoritmo</h3></div></div></div><p>Por último, tenemos que implementar el algoritmo de aproximación. Para ello usaremos la siguiente implementación: </p><pre class="programlisting">for (var i=0; i &lt; Document.nodes.length; i++) {
    Document.nodes[i].type = 1;
}
for (var i=0; i &lt; Document.edges.length; i++) {
    Document.edges[i].type = 1;
}

var E = Document.edges(); // conjunto de aristas sin procesar
var C = new Array();      // aristas coincidentes
while (E.length 
&gt; 0) {
    var e = E[0];         // tomamos la primera arista e={u,v}
    var u = e.from();
    var v = e.to();
    e.type = 2;           // indicamos que la arista es coincidente
    E.shift();            // eliminar e (es decir, E[0]) de la lista de aristas
    C.push(u);            // añadir u a C
    C.push(v);            // añadir v a C

    // marcar u,v como nodos en C
    u.type = 2;
    v.type = 2;

    // eliminar de E todas las aristas en común con u o v
    var adjacent = u.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // encontrar el índice
        if (index != -1) {
            E.splice(index, 1); // eliminarla si se encuentra
        }
    }
    var adjacent = v.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // encontrar el índice
        if (index != -1) {
            E.splice(index, 1); // eliminarla si se encuentra
        }
    }
}
Console.log("La cobertura de vértices contiene " + C.length + " nodos.");
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm136"></a>Ejecución del algoritmo</h3></div></div></div><p>El algoritmo se puede ejecutar usando el botón <span class="inlinemediaobject"><img src="media-playback-start.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Ejecutar</span></span> que hay en el panel de control del guion. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Siguiente</a></td></tr><tr><td class="prevCell"><span class="application">Rocs</span> en pocas palabras </td><td class="upCell">Introducción</td><td class="nextCell"> La interfaz de usuario de <span class="application">Rocs</span></td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Siguiente</a></td></tr><tr><td class="prevCell">El manual de <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> <span class="application">Rocs</span> en pocas palabras</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Capítulo 2. La interfaz de usuario de Rocs</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="introduction-tutorial.html" title="Tutorial"><link rel="next" href="scripting.html" title="Capítulo 3. Guiones"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> La interfaz de usuario de <span class="application">Rocs</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-tutorial.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="scripting.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="user-interface"></a>Capítulo 2. La interfaz de usuario de <span class="application">Rocs</span></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface-all"></a>Elementos principales de la interfaz de usuario</h2></div></div></div><p>La interfaz de usuario se divide en varias partes lógicas tal como se presentan en la captura de pantalla de más abajo. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-interfaces.png" alt="Elementos de la interfaz gráfica de usuario de Rocs."></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">Editor de grafos</span></dt><dd><p>El editor proporciona una pizarra en blanco en la que se pueden situar nodos y aristas. Si hace doble clic en cualquiera de sus elementos, se abrirá el correspondiente menú de propiedades. Puede usar las herramientas de las <span class="emphasis"><em>pestañas de la barra lateral</em></span> para crear y modificar grafos.</p><p>Herramientas disponibles:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>En la parte superior izquierda de la caja se pueden encontrar los siguientes iconos de acciones (al hacer clic en una acción, el puntero del ratón aplica dicha acción a la pizarra del editor de grafos):</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsselect.png"></span><span class="guiicon">Seleccionar y mover</span>: para seleccionar elementos dispone de dos alternativas: puede pulsar en un espacio sin utilizar en la pizarra, mantener el ratón pulsado para dibujar un rectángulo que contenga elementos de datos o aristas para seleccionar dichos elementos, o bien hacer clic directamente en un elemento sin seleccionar para seleccionarlo. Si pulsa sobre un elemento seleccionado o un conjunto de elementos seleccionados, respectivamente, se pueden mover dichos elementos manteniendo el ratón pulsado y moviéndolo. También se pueden mover los elementos seleccionados mediante las teclas de las flechas.</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsnode.png"></span><span class="guiicon">Añadir un nodo</span>: haga clic en cualquier posición de la pizarra del editor visual de grafos para crear un nuevo elemento de datos que pertenezca a la estructura de datos seleccionada actualmente. Si mantiene pulsado el botón del ratón, se mostrará un menú donde puede seleccionar el tipo de datos de los nuevos elementos de datos creados (solo si existen diferentes tipos de datos).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsedge.png"></span><span class="guiicon">Crear una arista</span>: haga clic en un elemento de dato, mantenga pulsado el ratón y dibuje una línea hacia otro elemento de dato al que debe apuntar la arista. Esta acción solo se podrá realizar correctamente si el grafo actual permite añadir dicha arista (<abbr class="abbrev">por ejemplo</abbr>, en un grafo no dirigido no se pueden añadir varias aristas entre dos elementos de datos). Si mantiene pulsado el botón del ratón se mostrará un menú en el que puede seleccionar el tipo de las aristas recién creadas (solo si existen diferentes tipos de aristas).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsdelete.png"></span><span class="guiicon">Borrar elemento</span>: haga clic en un elemento para borrarlo. Si borra un nodo, todas las aristas adyacentes también se borran.</p></li></ul></div></li></ul></div></dd><dt><span class="term">Barra lateral</span></dt><dd><p>A la derecha puede encontrar la barra lateral que le proporciona diversas herramientas para su flujo de trabajo.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipos de elementos</span></span>: esta ventana le proporciona acceso directo a los tipos de aristas y de nodos disponibles.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Diario</span></span>: cada proyecto dispone de su propio diario que se puede usar para, <abbr class="abbrev">por ejemplo</abbr>, anotar tareas, resultados u observaciones.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">API de guiones</span></span>: abra este elemento gráfico para tener acceso directo a la documentación de guiones.</p></li></ul></div></dd><dt><span class="term">Editor de guiones</span></dt><dd><p>En este editor de texto puede escribir algoritmos como se explica con más detalle en <a class="xref" href="scripting.html" title="Capítulo 3. Guiones">Capítulo 3, <i>Guiones</i></a>. Puede trabajar en varios documentos de guiones al mismo tiempo usando varias pestañas.</p></dd><dt><span class="term">Salida del guion:</span></dt><dd><p>Este área de texto muestra información de depuración o la salida del guion del algoritmo, dependiendo de la preferencia indicada en la parte superior de este elemento gráfico. Si el guion produce un error, se muestra de forma automática la salida de depuración.</p></dd><dt><span class="term">Controles</span></dt><dd><p>Aquí puede encontrar los controles para la ejecución de guiones. Se puede ejecutar el guion que esté abierto actualmente en el editor de guiones pulsando el botón <span class="inlinemediaobject"><img src="media-playback-start.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Ejecutar</span></span>. Mientras ejecuta el guion, puede detener su ejecución pulsando el botón <span class="inlinemediaobject"><img src="process-stop.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Detener</span></span>.</p></dd></dl></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-tutorial.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Siguiente</a></td></tr><tr><td class="prevCell">Tutorial </td><td class="upCell"> </td><td class="nextCell"> Guiones</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Capítulo 3. Guiones</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="user-interface.html" title="Capítulo 2. La interfaz de usuario de Rocs"><link rel="next" href="import-export.html" title="Capítulo 4. Importar y exportar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Guiones</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="import-export.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="scripting"></a>Capítulo 3. Guiones</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm232"></a>Ejecución de algoritmos en <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> usa internamente el motor de <span class="application">JavaScript</span> de QtScript. Esto significa que todos los algoritmos que implemente deben usar <span class="application">JavaScript</span>. A continuación explicaremos cómo acceder y modificar los elementos de un documento de grafos desde el motor de guiones. Es importante que tenga en cuenta que los cambios realizados por el motor de guiones se reflejan directamente en las propiedades de los elementos del editor de grafos. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm239"></a>Control de la ejecución del guion</h3></div></div></div><p>Existen diferentes modos para ejecutar los algoritmos: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
        <span class="inlinemediaobject"><img src="media-playback-start.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Ejecutar</span></span>: ejecuta el guion hasta su final.</p></li><li class="listitem"><p>
        <span class="inlinemediaobject"><img src="process-stop.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Detener</span></span>: detener la ejecución del guion (solo está disponible cuando se ejecuta un guion).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm255"></a>Salida del guion</h3></div></div></div><p>Durante la ejecución de un algoritmo, la salida de depuración y del programa se muestran en <span class="emphasis"><em>Depuración y Salida del guion</em></span>. Si el motor de guiones detecta un error de sintaxis en el guion, también se muestra dicho error como un mensaje de depuración. Tenga en cuenta que todos los mensajes del programa también se muestran en la salida de depuración (como texto en negrita). </p><p>Puede controlar el texto que se muestra en la salida del guion mediante las siguientes funciones: </p><pre class="programlisting">Console.log(string mensaje);            // muestra el mensaje como salida del guion
    Console.debug(string mensaje);             // muestra el mensaje como salida de depuración
    Console.error(string mensaje);          // muestra el mensaje comosalida de error
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm261"></a>API del motor de guiones</h3></div></div></div><p>Las diferentes partes de <span class="application">Rocs</span> proporcionan elementos estáticos a los que se puede acceder desde el motor de guiones. Son las siguientes: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Document</strong></span></span></code></strong> para el documento de grafos</p></li><li class="listitem"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Console</strong></span></span></code></strong> para la salida de registro de la consola</p></li></ul></div><p> Para el uso de la API y para una guía sobre los métodos que contienen, consulte la ayuda en línea disponible en la barra lateral de <span class="application">Rocs</span>. </p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Siguiente</a></td></tr><tr><td class="prevCell">La interfaz de usuario de <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> Importar y exportar</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="import-export.html"><html><head><title>Capítulo 4. Importar y exportar</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="scripting.html" title="Capítulo 3. Guiones"><link rel="next" href="graph-layout.html" title="Capítulo 5. Diseño del gráfico"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Importar y exportar</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="import-export"></a>Capítulo 4. Importar y exportar</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="import-export-projects"></a>Intercambiar proyectos de <span class="application">Rocs</span></h2></div></div></div><p>Los proyectos de <span class="application">Rocs</span> se pueden importar y exportar como archivos comprimidos <code class="literal">.tar.gz</code>. Estos archivos se puede usar para intercambiar proyectos. La importación y la exportación se pueden llevar a cabo con los elementos del menú <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento de grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Importar grafo...</span></span> y <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento de grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Exportar grafo como</span></span>, respectivamente. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Importar y exportar documentos de grafos</h3></div></div></div><p>En la actualidad, <span class="application">Rocs</span> permite importar y exportar en los siguientes formatos de archivos:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Archivos <acronym class="acronym">DOT</acronym>, también conocidos como archivos Graphviz</p></li><li class="listitem"><p>Archivos <acronym class="acronym">GML</acronym></p></li><li class="listitem"><p>Archivos en formato de grafos Trivial</p></li><li class="listitem"><p>El formato del lenguaje de marcas Keyhole</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>El formato de archivo de grafos Trivial</h4></div></div></div><p>El <span class="emphasis"><em>Formato de grafo trivial</em></span> (<acronym class="acronym">TGF</acronym>) es un formato de archivo sencillo basado en texto para describir grafos. Un archivo <acronym class="acronym">TGF</acronym> consiste en una lista de definiciones de nodos, que enlazan los ID de los nodos con etiquetas, seguida por una lista de las aristas. En este formato solamente se puede tener una etiqueta por nodo y un valor por arista. <span class="application">Rocs</span> interpreta los grafos importados como grafos no dirigidos. Los grafos exportados contendrán dos aristas por conexión si la conexiones son bidireccionales. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm311"></a>Especificación del formato</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>El archivo comienza con una lista de nodos (un nodo por línea), seguida por una línea que contiene únicamente el carácter «#», seguida por una lista de aristas (una arista por línea).</p></li><li class="listitem"><p>Un nodo consta de un entero (identificador), seguido por un espacio y por una cadena de texto.</p></li><li class="listitem"><p>Una arista consta de dos enteros (identificadores) separados por un espacio, seguidos por un espacio y una cadena de texto. Se supone que la arista dirigida apunta desde el primer identificador hasta el segundo.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm320"></a>Ejemplo</h5></div></div></div><pre class="programlisting">1 nodo inicial
2 transmisor
3 pila
#
1 2 azul
2 1 rojo
2 3 verde
</pre></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-dot"></a>Lenguaje <acronym class="acronym">DOT</acronym> / Formato de archivo de grafos Graphviz</h4></div></div></div><p>El lenguaje <acronym class="acronym">DOT</acronym> es un lenguaje de descripción de grafos en texto sin formato que permite tanto una buena representación legible para humanos como un procesamiento eficiente para los programas de diseño de grafos. <acronym class="acronym">DOT</acronym> es el formato de archivo por omisión para la suite de visualización de grafos Graphviz, aunque también se usa ampliamente en otras herramientas de grafos. Las extensiones típicas para <acronym class="acronym">DOT</acronym> son <code class="literal">.gv</code> y <code class="literal">.dot</code>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm332"></a>Funcionalidades no permitidas</h5></div></div></div><p><span class="application">Rocs</span> puede analizar cualquier archivo de grafos que contenga un grafo definido conforme a la especificación del lenguaje <acronym class="acronym">DOT</acronym><a href="#ftn.idm337" class="footnote" name="idm337"><sup class="footnote">[1]</sup></a>. La implementación de las funcionalidades de este lenguaje es completa, a pesar de las siguientes excepciones: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>subgrafo: debido a la falta del concepto de subgrafo en <span class="application">Rocs</span>, los subgrafos solo se importan como un conjunto de elementos de datos y conexiones. En especial, no se importan las conexiones hacia o desde subgrafos.</p></li><li class="listitem"><p>Atributos <acronym class="acronym">HTML</acronym> y <acronym class="acronym">XML</acronym>: los atributos (como las etiquetas) que contienen sintaxis <acronym class="acronym">HTML</acronym> o <acronym class="acronym">XML</acronym> se leen sin cambios. En especial, no se lee de estos atributos ninguna información sobre ajustes de tipos de letra ni estilos.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm349"></a>Ejemplo</h5></div></div></div><pre class="programlisting">digraph miGrafo {
    a -&gt; b -&gt; c;
    b -&gt; d;
}
</pre></div></div></div></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm337" class="footnote"><p><a href="#idm337" class="para"><sup class="para">[1] </sup></a>https://graphviz.org/doc/info/lang.html</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Siguiente</a></td></tr><tr><td class="prevCell">Guiones </td><td class="upCell"> </td><td class="nextCell"> Diseño del gráfico</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="graph-layout.html"><html><head><title>Capítulo 5. Diseño del gráfico</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="import-export.html" title="Capítulo 4. Importar y exportar"><link rel="next" href="credits.html" title="Capítulo 6. Créditos y licencia"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Diseño del gráfico</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="credits.html">Siguiente</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="graph-layout"></a>Capítulo 5. Diseño del gráfico</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm354"></a>Diseño de gráficos automático en <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> puede diseñar gráficos automáticamente. La herramienta de diseño de gráficos <span class="application">Rocs</span> se puede encontrar en el menú principal, en <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento de grafos</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Herramientas</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Diseño de gráfico</span></span>. Hay dos algoritmos de diseño diferentes que se pueden aplicar: diseño basado en fuerzas y diseño de árbol radial. Para aplicar cualquiera de ellos, seleccione la pestaña correspondiente en la herramienta de diseño de gráficos, elija los parámetros deseados y ejecute el algoritmo pulsando el botón <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Aceptar</span></span>. Los detalles que son específicos de cada uno de los algoritmos de diseño se proporcionan en las siguientes secciones. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm365"></a>Diseño basado en fuerzas</h3></div></div></div><p>El diseño basado en fuerzas se puede aplicar a cualquier gráfico. De manera intuitiva, este algoritmo simula las fuerzas que actúan en cada nodo. Hay fuerzas repelentes entre pares de nodos y fuerzas de atracción entre pares de nodos vecinos. La magnitud de estas fuerzas se puede indicar moviendo los controles deslizantes correspondientes en la interfaz de usuario. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="force-based-layout-ui-screenshot.png" alt="Captura de pantalla de la pestaña de diseño basado en fuerzas de la herramienta de diseño de grafos Rocs."></div></div><p>Otro parámetro que se puede controlar es el factor de área. Este parámetro controla cómo se distribuyen los nodos. Los diseños generados con valores altos de factor de área tienden a tener grandes distancias entre los nodos. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm378"></a>Diseño de árbol radial</h4></div></div></div><p>El diseño de árbol radial solo se puede aplicar a árboles. Cualquier intento de aplicar este algoritmo de diseño a otros tipos de gráficos producirá un mensaje de error. Los parámetros para el diseño de árbol radial se pueden seleccionar usando la interfaz de usuario proporcionada. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="radial-tree-layout-ui-screenshot.png" alt="Captura de pantalla de la pestaña de diseño de árbol radial de la herramienta de diseño de grafos Rocs."></div></div><p>El parámetro de tipo de árbol selecciona entre un diseño de árbol libre y un diseño de árbol con raíz. En un diseño de árbol libre, los nodos se colocan libremente sin ninguna jerarquía aparente entre ellos. En un diseño de árbol con raíz, el nodo raíz se coloca en la parte superior y los subárboles se colocan debajo, lo que da una idea de jerarquía entre los nodos. </p><p>El parámetro centro/raíz define qué nodo se usará como raíz para el diseño de árbol con raíz o como centro para el diseño de árbol libre. El centro de un diseño de árbol libre es el primer nodo que coloca el algoritmo. El resto de nodos se colocan en círculos centrados en el nodo central. El algoritmo de diseño puede seleccionar automáticamente un centro/raíz. </p><p>El parámetro de separación de nodos controla la distancia entre nodos. Al incrementar el valor de este parámetro, aumentará la distancia entre los nodos. De manera similar, disminuir el valor de este parámetro hará que la distancia entre los nodos disminuya. </p></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Siguiente</a></td></tr><tr><td class="prevCell">Importar y exportar </td><td class="upCell"> </td><td class="nextCell"> Créditos y licencia</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Capítulo 6. Créditos y licencia</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemáticas, matemáticas, grafos, nodo, arista, Rocs"><link rel="home" href="index.html" title="El manual de Rocs"><link rel="up" href="index.html" title="El manual de Rocs"><link rel="prev" href="graph-layout.html" title="Capítulo 5. Diseño del gráfico"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Créditos y licencia</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="credits"></a>Capítulo 6. Créditos y licencia</h1></div></div></div><p><span class="application">Rocs</span> </p><p>Copyright del programa:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright 2008 Ugo Sangiori (ugorox EN gmail.com)</p></li><li class="listitem"><p>Copyright 2008-2012 Tomaz Canabrava (tcanabrava EN kde.org)</p></li><li class="listitem"><p>Copyright 2008-2012 Wagner Reck (wagner.reck EN gmail.com)</p></li><li class="listitem"><p>Copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr EN kde.org)</p></li></ul></div><p>Copyright de la documentación:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright de la documentación 2009 <span class="firstname">Anne-Marie</span> <span class="surname">Mahfouf</span> <code class="email">(annma AT kde.org)</code></p></li><li class="listitem"><p>Copyright de la documentación 2009 Tomaz Canabrava (tcanabrava EN kde.org)</p></li><li class="listitem"><p>Copyright de la documentación 2011-2015 Andreas Cord-Landwehr (cordlandwehr EN kde.org)</p></li></ul></div><p>Traducido por Leticia Martín Hernández <code class="email">(leticia.martin AT gmail.com)</code>, Rocío Gallego<code class="email">(traducciones AT rociogallego.com )</code> y Eloy Cuadra <code class="email">(ecuadra AT eloihr.net)</code>.</p><p><a name="gnu-fdl"></a>Esta documentación está sujeta a los términos de la <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">Licencia de Documentación Libre GNU</a>.</p><p>Este programa está sujeto a los términos de la <a class="ulink" href="help:/kdoctools5-common/gpl-license.html" target="_top">Licencia Pública General GNU</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Inicio</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Diseño del gráfico </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Siguiente</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introducción</td></tr></table></div><div id="footer_text">¿Le gustaría hacer algún comentario o aportar una actualización a esta página?<br>Envíe sus comentarios al <a href="mailto:kde-doc-english@kde.org" class="footer_email">equipo de documentación de KDE</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Wed Jun 26 03:24:54 CEST 2024.