dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Manuale di 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 è uno strumento per la teoria dei grafi."><meta name="keywords" content="KDE, kdeedu, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="next" href="introduction.html" title="Capitolo 1. Introduzione"><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"> Manuale di <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">Avanti</a></td></tr></table></div><div id="contentBody"><div lang="it" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>Manuale di <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">Traduzione della documentazione</span>: <span class="firstname">Valter</span> <span class="surname">Mura</span><br></span><span class="othercredit"><span class="contrib">Traduzione della documentazione</span>: <span class="firstname">Paolo</span> <span class="surname">Zamponi</span><br></span><span class="othercredit"><span class="contrib">Traduzione della documentazione</span>: <span class="firstname">Domenico</span> <span class="surname">Camasta</span><br></span><span class="othercredit"><span class="contrib">Traduzione della documentazione</span>: <span class="firstname">Francesco</span> <span class="surname">Nigro</span><br></span><span class="othercredit"><span class="contrib">Traduzione di interfaccia e documentazione</span>: <span class="firstname">Federico Zenith</span> <span class="surname"></span><br></span></div></div><div>Revisione <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">Nota Legale</a></p></div><div><div><div class="abstract"><p><span class="application">Rocs</span> è uno strumento per la teoria dei grafi. </p></div></div></div></div><hr></div><div class="toc"><p><b>Indice</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introduzione</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction-goals">Obiettivi, destinatari e processi di lavoro</a></span></dt><dt><span class="sect1"><a href="introduction-nutshell.html"><span class="application">Rocs</span> in breve</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-nutshell.html#idm100">Grafi</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm106">Tipi di archi</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm109">Tipi di nodi</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm112">Proprietà</a></span></dt></dl></dd><dt><span class="sect1"><a href="introduction-tutorial.html">Esercitazione</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-tutorial.html#idm130">Creazione del grafo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm139">Creazione dei tipi di elementi</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm149">L'algoritmo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm153">Eseguire l'algoritmo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. L'interfaccia di <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all">Elementi principali dell'interfaccia</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Scripting</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm247">Eseguire algoritmi in <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm254">Controllare l'esecuzione degli script</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm270">Risultato script</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm276">API del motore di scripting</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="import-export.html">4. Importazione ed esportazione</a></span></dt><dd><dl><dt><span class="sect1"><a href="import-export.html#import-export-projects">Condividere i progetti di <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Importazione ed esportazione di grafi</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="graph-layout.html">5. Disposizione dei grafi</a></span></dt><dd><dl><dt><span class="sect1"><a href="graph-layout.html#idm370">Disporre automaticamente i grafi in <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="graph-layout.html#idm381">Disposizione basata sulla forza</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">6. Riconoscimenti e licenza</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Capitolo 1. Introduzione</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="index.html" title="Manuale di Rocs"><link rel="next" href="introduction-nutshell.html" title="Rocs in breve"><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"> Introduzione</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Capitolo 1. Introduzione</h1></div></div></div><p>Questo capitolo fornisce una panoramica delle funzionalità principali e dei tipici processi di lavoro. Le parti più importanti sono <a class="xref" href="introduction-nutshell.html" title="Rocs in breve">la sezione chiamata «<span class="application">Rocs</span> in breve»</a> e <a class="xref" href="scripting.html" title="Capitolo 3. Scripting">Capitolo 3, <i>Scripting</i></a>, che insieme dovrebbero permettere al nuovo utente di iniziare ad usare subito <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>Obiettivi, destinatari e processi di lavoro</h2></div></div></div><p><span class="application">Rocs</span> è uno strumento per la teoria dei grafi pensato per chiunque sia interessato a tracciare e analizzare algoritmi per grafi. Ciò include esplicitamente:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>docenti che vogliano dimostrare gli algoritmi ai loro studenti,</p></li><li class="listitem"><p>studenti e ricercatori che vogliono vedere e capire come funziona il loro algoritmo, e</p></li><li class="listitem"><p>chiunque sia interessato alle strutture di dati e agli algoritmi.</p></li></ul></div><p><span class="application">Rocs</span> fornisce a tutti loro un editor grafico per la creazione di grafi semplice da usare, un potente motore di scripting per eseguire gli algoritmi, molti strumenti di aiuto per le simulazioni e gli esperimenti, ed un esportatore di grafi. Generalmente <span class="application">Rocs</span> viene utilizzato per creare grafi, sia a mano (trascinando, cioè, i nodi e gli archi sulla lavagna), sia usando uno dei generatori di grafi. Gli algoritmi per grafi possono poi essere implementati ed eseguiti sui grafi creati, e tutti i cambiamenti eseguiti dall'algoritmo sono immediatamente visibili nell'editor dei grafi. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-screenshot.png" alt="Una schermata di Rocs."></div></div></div><FILENAME filename="introduction-nutshell.html"><html><head><title>Rocs in breve</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="introduction.html" title="Capitolo 1. Introduzione"><link rel="prev" href="introduction.html" title="Capitolo 1. Introduzione"><link rel="next" href="introduction-tutorial.html" title="Esercitazione"><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> in breve</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Indietro</a></td><td class="upCell">Introduzione</td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Avanti</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> in breve</h2></div></div></div><p>Ogni sessione di <span class="application">Rocs</span> è un progetto: quando si apre, <span class="application">Rocs</span> crea un progetto vuoto, mentre quando si carica un progetto, esso diventa quello corrente. In questo contesto, un progetto consiste di <span class="emphasis"><em>grafi</em></span>, <span class="emphasis"><em>script/algoritmi</em></span>, e un <span class="emphasis"><em>diario</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm100"></a>Grafi</h3></div></div></div><p>Un grafo rappresenta il contenuto di una lavagna dell'editor di grafi. Contiene le informazioni sui nodi definiti dall'utente e sui tipi di arco, sulle loro proprietà e sui nodi e gli archi già creati. <span class="application">Rocs</span> interpreta l'insieme di tutti i nodi e gli archi di un grafo per formare un grafo (non necessariamente connesso). Tutto ciò che appartiene ad un grafo è accessibile dal motore di script per mezzo dell'oggetto globale <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="idm106"></a>Tipi di archi</h3></div></div></div><p>In alcuni scenari i grafi sono formati da diversi tipi di archi (ad esempio un grafo non direzionale con tre archi computato da un algoritmo di ricerca in ampiezza) che dovrebbero essere trattati e visualizzati in maniera diversa. Pertanto è possibile definire arbitrariamente altri tipi di archi oltre al tipo predefinito. Ciascun tipo di arco ha una sua rappresentazione visuale individuale e delle proprietà dinamiche, inoltre può essere impostato come diretto o indiretto. L'interfaccia di scripting fornisce un metodo comodo per accedere solo agli archi di un tipo specifico. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm109"></a>Tipi di nodi</h3></div></div></div><p>Analogamente ai tipi di archi, si possono definire diversi tipi di nodi di un grafo (ad esempio per dare ad alcuni di questi un ruolo speciale). Ciascun tipo di nodo ha la sua rappresentazione visuale e le sue proprietà dinamiche. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm112"></a>Proprietà</h3></div></div></div><p>Ogni elemento (nodo o arco) può avere delle proprietà, che devono essere impostate nel corrispondente tipo di nodo o di arco. Le proprietà sono identificate e sono accessibili per nome, e possono contenere qualsiasi valore. Per crearne di nuove, o per cambiare quelle esistenti, si può usare la barra laterale <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipi di elemento</span></span> e il pulsante <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Proprietà</span></span> per aprire la finestra delle proprietà. </p><p>Si può usare il motore di scripting per aver accesso alle proprietà registrate e cambiarne i valori. Nell'esempio seguente si assume che la proprietà <span class="quote">«<span class="quote">weight</span>»</span> sia registrata per il tipo di arco predefinito. </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("weight of node " + 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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Avanti</a></td></tr><tr><td class="prevCell">Introduzione </td><td class="upCell">Introduzione</td><td class="nextCell"> Esercitazione</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="introduction-tutorial.html"><html><head><title>Esercitazione</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="introduction.html" title="Capitolo 1. Introduzione"><link rel="prev" href="introduction-nutshell.html" title="Rocs in breve"><link rel="next" href="user-interface.html" title="Capitolo 2. L'interfaccia di 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"> Esercitazione</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Indietro</a></td><td class="upCell">Introduzione</td><td class="nextCell"><a accesskey="n" href="user-interface.html">Avanti</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>Esercitazione</h2></div></div></div><p>In questa sezione vogliamo elaborare un progetto di esempio per esplorare alcune tra le più importanti funzioni di <span class="application">Rocs</span>. L'obiettivo è quello di creare un grafo e uno script che illustrino un semplice algoritmo di approssimazione di fattore 2, per trattare un problema di <span class="emphasis"><em>copertura minima dei vertici</em></span>. Questo problema può essere descritto come la ricerca del più piccolo sottoinsieme C di vertici in un grafo tale che ogni arco ha almeno un'estremità in C. Si tratta di un problema NP-completo e il nostro obiettivo è quello di trovare un'approssimazione di fattore 2 attraverso la computazione di una corrispondenza all'interno di un grafo dato. </p><p>Il nostro obiettivo è di visualizzare la corrispondenza tra l'accoppiamento e la copertura minima dei vertici. Per ottenere questo obiettivo dobbiamo specificare due tipi di archi, uno per mostrare gli archi accoppiati e l'altro per mostrare gli archi <span class="quote">«<span class="quote">ordinari</span>»</span>; dobbiamo specificare inoltre due tipi di nodi, che useremo per distinguere i nodi contenuti in C da quelli non contenuti in C. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm130"></a>Creazione del grafo</h3></div></div></div><p>Per creare il grafo usiamo il generatore di grafi fornito da <span class="application">Rocs</span>, che si trova in <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Strumenti</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Genera grafo</span></span>. In questo modo selezioniamo un <span class="quote">«<span class="quote">grafo casuale</span>»</span> composto di 30 nodi, 90 archi, e con seme di generazione 1 (il seme determina la casualità del grafo; partendo dallo stesso seme si riproduce lo stesso grafo). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm139"></a>Creazione dei tipi di elementi</h3></div></div></div><p>Usiamo <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipi di elementi</span></span> per creare sia un secondo tipo di nodo sia di arco. Dobbiamo aprire la finestra delle proprietà di entrambi questi due nuovi tipi facendo clic sul rispettivo pulsante delle <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Proprietà</span></span> per impostare gli ID a <code class="literal">2</code>; dobbiamo anche cambiare il colore degli elementi di questi due nuovi tipi (per distinguerli da quelli predefiniti). Infine dobbiamo impostare tutti i tipi di archi come bidirezionali, e gli ID del tipo predefinito a <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm149"></a>L'algoritmo</h3></div></div></div><p>Al minimo è necessario implementare l'algoritmo di approssimazione. Per farlo si utilizza la seguente implementazione: </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(); // insieme degli archi non esaminati
var C = new Array();      // archi accoppiati
while (E.length 
&gt; 0) {
    var e = E[0];         // prende il primo arco e={u,v}
    var u = e.from();
    var v = e.to();
    e.type = 2;           // imposta l'arco come arco accoppiato
    E.shift();            // elimina l'arco e (i.e., E[0]) dalla lista degli archi
    C.push(u);            // aggiunge u a C
    C.push(v);            // aggiunge v a C

    // segna u,v come nodi di C
    u.type = 2;
    v.type = 2;

    // rimuove da E tutti gli archi incidenti a u o v
    var adjacent = u.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // trova l'indice
        if (index != -1) {
            E.splice(index, 1); // elimina l'indice dopo averlo trovato
        }
    }
    var adjacent = v.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // trova l'indice
        if (index != -1) {
            E.splice(index, 1); // elimina l'indice dopo averlo trovato
        }
    }
}
Console.log("Vertex Cover contains " + C.length + " nodes.");
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm153"></a>Eseguire l'algoritmo</h3></div></div></div><p>L'algoritmo può essere eseguito facendo clic sul pulsante <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">Esegui</span></span> nel pannello di controllo dello script. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Avanti</a></td></tr><tr><td class="prevCell"><span class="application">Rocs</span> in breve </td><td class="upCell">Introduzione</td><td class="nextCell"> L'interfaccia di <span class="application">Rocs</span></td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di 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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Avanti</a></td></tr><tr><td class="prevCell">Manuale di <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> <span class="application">Rocs</span> in breve</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Capitolo 2. L'interfaccia di 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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="introduction-tutorial.html" title="Esercitazione"><link rel="next" href="scripting.html" title="Capitolo 3. Scripting"><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"> L'interfaccia di <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">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="scripting.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="user-interface"></a>Capitolo 2. L'interfaccia di <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>Elementi principali dell'interfaccia</h2></div></div></div><p>L'interfaccia si divide in diverse parti logiche, come presentato nella schermata sotto. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-interfaces.png" alt="Elementi grafici dell'interfaccia di Rocs."></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">Editor dei grafi</span></dt><dd><p>L'editor fornisce una lavagna su cui si possono posizionare i nodi e gli archi; un doppio clic su un elemento qualsiasi apre il corrispondente menu delle proprietà. Per creare e modificare i grafi puoi usare gli strumenti delle <span class="emphasis"><em>schede della Barra laterale</em></span>.</p><p>Strumenti disponibili:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Nella parte superiore sinistra del riquadro troverai le icone delle azioni seguenti. Fare clic su un'azione implica che il puntatore del mouse l'applica alla lavagna dell'editor dei grafi:</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">Seleziona e sposta</span>: per selezionare gli elementi, fai clic su un'area vuota della lavagna, tieni il mouse premuto e disegna un rettangolo che contenga alcuni elementi di dati o archi per selezionarli, oppure fai direttamente clic su un elemento non selezionato per selezionarlo. Se fai clic su uno o più elementi selezionati, li puoi spostare tenendo il mouse premuto e spostando il mouse. È possibile spostare gli elementi selezionati anche con i tasti freccia.</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsnode.png"></span><span class="guiicon">Aggiungi un nodo</span>: facendo clic su un punto qualsiasi della lavagna dell'editor dei grafi si crea un nuovo dato che appartiene alla struttura dati attualmente selezionata. Tenendo premuto a lungo il tasto del mouse appare un menu attraverso il quale il tipo del dato appena creato può essere selezionato (ciò richiede l'esistenza di tipi di dati differenti).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsedge.png"></span><span class="guiicon">Crea un arco</span>: fai clic su un dato, tieni il mouse premuto, e traccia una linea a un altro dato a cui l'arco punterà. Questa azione ha successo solo se il grafo attuale permette l'aggiunta di questo arco (per esempio, in un grafo non direzionale non è possibile aggiungere archi multipli tra due dati). Mantenendo la pressione del puntatore sul tasto appare un menu da cui è possibile selezionare il tipo a cui assegnare l'arco appena creato (solo se esistono più tipi di archi).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsdelete.png"></span><span class="guiicon">Elimina elemento</span>: fai clic su un elemento per eliminarlo. Se elimini un nodo, verranno eliminati anche tutti gli archi adiacenti.</p></li></ul></div></li></ul></div></dd><dt><span class="term">Barra laterale</span></dt><dd><p>A destra puoi trovare la barra laterale, che contiene diversi strumenti per il processo di lavoro:</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">Tipi di elemento</span></span>: questo oggetto ti dà accesso immediato ai tipi di archi e ai nodi disponibili.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Diario</span></span>: ogni progetto ha il suo diario, che può essere usato, per esempio, per annotare i compiti, i risultati e le osservazioni.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">API di scripting</span></span>: puoi aprire questo oggetto per avere accesso immediato alla documentazione degli script.</p></li></ul></div></dd><dt><span class="term">Editor di script</span></dt><dd><p>In questo editor di testo puoi scrivere algoritmi, come spiegato in dettaglio in <a class="xref" href="scripting.html" title="Capitolo 3. Scripting">Capitolo 3, <i>Scripting</i></a>. Puoi lavorare su diversi script allo stesso tempo usando diverse schede.</p></dd><dt><span class="term">Risultato script:</span></dt><dd><p>Quest'area di testo mostra o informazioni di debug o l'output dello script dell'algoritmo, a seconda dell'impostazione attiva in alto. Se lo script produce un errore, viene automaticamente selezionato l'output di debug.</p></dd><dt><span class="term">Controlli</span></dt><dd><p>Qui puoi trovare i controlli per l'esecuzione degli script. Puoi eseguire lo script attualmente aperto nell'editor degli script premendo il pulsante <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">Esegui</span></span>. È possibile interrompere lo script mentre è in esecuzione premendo il pulsante <span class="inlinemediaobject"><img src="process-stop.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Interrompi</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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Avanti</a></td></tr><tr><td class="prevCell">Esercitazione </td><td class="upCell"> </td><td class="nextCell"> Scripting</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Capitolo 3. Scripting</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="user-interface.html" title="Capitolo 2. L'interfaccia di Rocs"><link rel="next" href="import-export.html" title="Capitolo 4. Importazione ed esportazione"><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"> Scripting</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="import-export.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="scripting"></a>Capitolo 3. Scripting</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm247"></a>Eseguire algoritmi in <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> usa internamente il motore <span class="application">JavaScript</span> QtScript. Questo significa che tutti gli algoritmi che vengono implementati devono usare <span class="application">JavaScript</span>. Di seguito spiegheremo come accedere agli elementi di un grafo e cambiarli usando il motore di scripting. È importante notare che i cambiamenti effettuati dal motore di scripting si riflettono direttamente sulle proprietà dell'editor di elementi del grafo. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm254"></a>Controllare l'esecuzione degli script</h3></div></div></div><p>Ci sono diversi modi di esecuzione per gli algoritmi: </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">Esegui</span></span>: fa partire lo script e lo esegue fino al termine.</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">Interrompi</span></span>: ferma l'esecuzione di uno script (disponibile solo mentre uno script viene eseguito).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm270"></a>Risultato script</h3></div></div></div><p>Durante l'esecuzione di un algoritmo, gli output del debug e del programma sono mostrati nell'<span class="emphasis"><em>output di debug e degli script</em></span>. Se il motore di scripting individua un errore nella sintassi dello script lo mostra anche come messaggio di debug. Tutti i messaggi del programma vengono mostrati (in grassetto) insieme all'output di debug. </p><p>Puoi controllare il testo mostrato nell'output dello script attraverso le seguenti funzioni: </p><pre class="programlisting">Console.log(string message);            // mostra il messaggio come output dello script
    Console.debug(string message);          // mostra il messaggio come output di debug
    Console.error(string message);          // mostra il messaggio come output di errore
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm276"></a>API del motore di scripting</h3></div></div></div><p>Ciascuna delle diverse parti di <span class="application">Rocs</span> fornisce un elemento statico che è accessibile dal motore di scripting. Questi sono: </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>Documento</strong></span></span></code></strong> per il grafo</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> per la console di registrazione dell'output</p></li></ul></div><p>. Per l'uso esplicito delle API e per il metodo di riferimento consulta l'aiuto in linea nella barra laterale di <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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Avanti</a></td></tr><tr><td class="prevCell">L'interfaccia di <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> Importazione ed esportazione</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="import-export.html"><html><head><title>Capitolo 4. Importazione ed esportazione</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="scripting.html" title="Capitolo 3. Scripting"><link rel="next" href="graph-layout.html" title="Capitolo 5. Disposizione dei grafi"><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"> Importazione ed esportazione</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="import-export"></a>Capitolo 4. Importazione ed esportazione</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="import-export-projects"></a>Condividere i progetti di <span class="application">Rocs</span></h2></div></div></div><p>I progetti di <span class="application">Rocs</span> possono essere importati ed esportati come archivi <code class="literal">.tar.gz</code>, che possono essere utilizzati per condividere progetti. Si possono importare o esportare progetti rispettivamente attraverso gli elementi di menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Importa grafo</span></span> e <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Esporta grafo come...</span></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Importazione ed esportazione di grafi</h3></div></div></div><p><span class="application">Rocs</span> attualmente supporta l'importazione e l'esportazione dei seguenti formati di file:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>File <acronym class="acronym">DOT</acronym>, altrimenti noti come GraphViz</p></li><li class="listitem"><p>File <acronym class="acronym">GML</acronym></p></li><li class="listitem"><p>File in formato di grafi banale</p></li><li class="listitem"><p>Formato di linguaggio a marcatori Keyhole</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>Il formato di grafi banale</h4></div></div></div><p>Il <span class="emphasis"><em>formato di grafi banale</em></span> (<acronym class="acronym">TGF</acronym>) è un semplice formato di file testuale per descrivere i grafi. Un file <acronym class="acronym">TGF</acronym> consiste di un elenco di definizioni dei nodi che fanno corrispondere i loro identificativi a delle etichette, seguite da un elenco degli archi. In questo formato è possibile avere una sola etichetta per nodo e un valore per arco. <span class="application">Rocs</span> interpreta i grafi importati come grafi non direzionali. I grafi esportati conterranno due archi per connessione se queste sono bidirezionali. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm326"></a>Specifica del formato</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Il file inizia con una lista di nodi (un nodo per linea) seguito da una linea col solo carattere <span class="quote">«<span class="quote">#</span>»</span>, a cui fa seguito una lista di archi (un arco per linea).</p></li><li class="listitem"><p>Un nodo consiste di un intero (identificatore) seguito da uno spazio, seguito da una stringa qualsiasi.</p></li><li class="listitem"><p>Un arco è costituito da due interi (gli identificativi) separati da uno spazio, seguiti da uno spazio, seguito da una stringa qualsiasi. Si presume che l'arco direzionale punti dal primo identificativo al secondo.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm336"></a>Esempio</h5></div></div></div><pre class="programlisting">1 nodo iniziale
2 trasmissione
3 termine
#
1 2 blu
2 1 rosso
2 3 verde
</pre></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-dot"></a>Linguaggio <acronym class="acronym">DOT</acronym> / Formato di grafi Graphviz</h4></div></div></div><p>Il linguaggio <acronym class="acronym">DOT</acronym> è un linguaggio descrittivo in testo semplice che permette sia una rappresentazione leggibile dei grafi, sia un'elaborazione efficiente da parte di un programma di disposizione dei grafi. <acronym class="acronym">DOT</acronym> è il formato di file predefinito per la serie di programmi di visualizzazione Graphviz, ma è usato anche da altri strumenti. Le estensioni più comuni dei file <acronym class="acronym">DOT</acronym> sono <code class="literal">.gv</code> e <code class="literal">.dot</code>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm348"></a>Funzionalità non supportate</h5></div></div></div><p><span class="application">Rocs</span> può elaborare ogni file grafo che contenga grafi specificati secondo il linguaggio di specifica <acronym class="acronym">DOT</acronym><a href="#ftn.idm353" class="footnote" name="idm353"><sup class="footnote">[1]</sup></a>. Il supporto alle funzionalità del linguaggio è completo, salvo le seguenti eccezioni: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Sottografi: a causa della mancanza del concetto di sottografo in <span class="application">Rocs</span>, i sottografi sono importati come insiemi di elementi e connessioni. In particolare, le connessioni da o verso sottografi non sono importate.</p></li><li class="listitem"><p>Attributi <acronym class="acronym">HTML</acronym> e <acronym class="acronym">XML</acronym>: gli attributi (come etichette) che contengono sintassi <acronym class="acronym">HTML</acronym> o <acronym class="acronym">XML</acronym> vengono letti senza modifica. In particolare, da questi attributi non viene letta nessuna specificazione di carattere o stile.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm365"></a>Esempio</h5></div></div></div><pre class="programlisting">digraph myGraph {
    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.idm353" class="footnote"><p><a href="#idm353" 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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Avanti</a></td></tr><tr><td class="prevCell">Scripting </td><td class="upCell"> </td><td class="nextCell"> Disposizione dei grafi</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="graph-layout.html"><html><head><title>Capitolo 5. Disposizione dei grafi</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="import-export.html" title="Capitolo 4. Importazione ed esportazione"><link rel="next" href="credits.html" title="Capitolo 6. Riconoscimenti e licenza"><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"> Disposizione dei grafi</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="credits.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="graph-layout"></a>Capitolo 5. Disposizione dei grafi</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm370"></a>Disporre automaticamente i grafi in <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> può disporre automaticamente i grafi. Lo strumento per la disposizione dei grafi di <span class="application">Rocs</span> si trova nel menu principale in <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Strumenti</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Disposizione dei grafi</span></span>. Sono applicabili due diversi algoritmi di disposizione: Disposizione basata sulla forza e Disposizione ad albero radiale. Per applicarne una, seleziona la scheda corrispondente dello strumento di disposizione dei grafi, scegli i parametri che preferisci ed esegui l'algoritmo premendo il pulsante <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">OK</span></span>. I dettagli specifici di ciascun algoritmo di disposizione sono spiegati nelle sezioni seguenti. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm381"></a>Disposizione basata sulla forza</h3></div></div></div><p>La Disposizione basata sulla forza è applicabile a qualsiasi grafo. Come è facile notare, questo algoritmo simula le forze che agiscono in ciascun nodo. Sono presenti forze di repulsione tra coppie di nodi e forze di attrazione tra coppie di nodi che sono adiacenti. L'ordine di grandezza di queste forze può essere specificata spostando i relativi cursori nell'interfaccia utente. </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="Schermata della scheda «Disposizione basata sulla forza» dello strumento per la disposizione dei grafi di Rocs."></div></div><p>Un altro parametro controllabile è il «Fattore area». Questo parametro controlla come i nodi si diffondono. Le disposizioni generate con valori elevati del Fattore area tendono ad avere grandi distanze tra i nodi. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm394"></a>Disposizione ad albero radiale</h4></div></div></div><p>La Disposizione ad albero radiale è applicabile solo agli alberi. Qualsiasi tentativo di applicare questo algoritmo ad altri tipi di grafo genererà un messaggio di errore. I parametri per la Disposizione ad albero radiale è selezionabile tramite l'interfaccia utente fornita. </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="Schermata della scheda «Disposizione ad albero radiale» dello strumento per la disposizione dei grafi di Rocs."></div></div><p>Il parametro a tre tipi seleziona tra una disposizione ad albero libero e una ad albero con radice. Nella disposizione ad albero libero i nodi vengono sistemati liberamente senza alcuna apparente gerarchia. Nella disposizione ad albero con radice, il nodo radice è posizionato in cima all'albero e gli alberi secondari si diffondono sotto di esso, dando l'idea di una gerarchia tra i nodi. </p><p>Il parametro Centro/Radice definisce quale nodo verrà utilizzato come radice per la disposizione ad albero con radice o come centro per la disposizione ad albero libero. The center of a free tree layout is the first node to be placed by the algorithm. All other nodes are placed on circles centered at the center node. A center/root can be selected automatically by the layout algorithm. </p><p>Il parametro di separazione del nodo controlla la distanza tra i nodi. Con l'aumento del valore del parametro si aumenterà la distanza tra i nodi. Allo stesso modo, con la riduzione del suo valore si ridurrà la distanza tra i nodi. </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">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Avanti</a></td></tr><tr><td class="prevCell">Importazione ed esportazione </td><td class="upCell"> </td><td class="nextCell"> Riconoscimenti e licenza</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Capitolo 6. Riconoscimenti e licenza</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, matematica, matematica, grafi, nodo, arco, Rocs"><link rel="home" href="index.html" title="Manuale di Rocs"><link rel="up" href="index.html" title="Manuale di Rocs"><link rel="prev" href="graph-layout.html" title="Capitolo 5. Disposizione dei grafi"><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"> Riconoscimenti e licenza</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Indietro</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>Capitolo 6. Riconoscimenti e licenza</h1></div></div></div><p><span class="application">Rocs</span> </p><p>Copyright del programma:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright 2008 di Ugo Sangiori (ugorox@gmail.com)</p></li><li class="listitem"><p>Copyright 2008-2012 di Tomaz Canabrava (tcanabrava@kde.org)</p></li><li class="listitem"><p>Copyright 2008-2012 di Wagner Reck (wagner.reck@gmail.com)</p></li><li class="listitem"><p>Copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Copyright della documentazione:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright della documentazione 2009 di <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 della documentazione 2009 di Tomaz Canabrava (tcanabrava@kde.org)</p></li><li class="listitem"><p>Copyright della documentazione 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Traduzione a cura di Valter Mura, Paolo Zamponi, Francesco Nigro e Federico Zenith<code class="email">(valtermura AT gmail.com)</code></p><p><a name="gnu-fdl"></a>Questa documentazione è concessa in licenza sotto i termini della <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p><p>Questo programma è concesso in licenza sotto i termini della <a class="ulink" href="help:/kdoctools5-common/gpl-translated.html" target="_top">GNU General Public License</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Disposizione dei grafi </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di 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">Avanti</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introduzione</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Thu May 23 19:05:58 CEST 2024.