dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Handbok 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 är ett grafteoriverktyg."><meta name="keywords" content="KDE, kdeedu, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="next" href="introduction.html" title="Kapitel 1. Inledning"><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"> Handbok <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">Nästa</a></td></tr></table></div><div id="contentBody"><div lang="sv" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>Handbok <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">Översättare</span>: <span class="firstname">Stefan</span> <span class="surname">Asserhäll</span><br></span></div></div><div>Revision <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">Rättsligt Meddelande</a></p></div><div><div><div class="abstract"><p><span class="application">Rocs</span> är ett grafteoriverktyg. </p></div></div></div></div><hr></div><div class="toc"><p><b>Innehållsförteckning</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Inledning</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction-goals">Syfte, målgrupp och arbetsflöden</a></span></dt><dt><span class="sect1"><a href="introduction-nutshell.html"><span class="application">Rocs</span> i ett nötskal</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-nutshell.html#idm78">Grafdokument</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm84">Bågtyper</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm87">Nodtyper</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm90">Egenskaper</a></span></dt></dl></dd><dt><span class="sect1"><a href="introduction-tutorial.html">Handledning</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-tutorial.html#idm108">Skapa grafen</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm117">Skapa elementtyperna</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm127">Algoritmen</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm131">Utför algoritmen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. <span class="application">Rocs</span> användargränssnitt</a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all">Användargränssnittets huvuddelar</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Skript</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm225">Beräkna algoritmer i <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm232">Styr körning av skript</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm248">Skriptutmatning</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm254">Programmeringsgränssnittet för skripthantering</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="import-export.html">4. Import och export</a></span></dt><dd><dl><dt><span class="sect1"><a href="import-export.html#import-export-projects">Utbyt <span class="application">Rocs</span>-projekt</a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Import och export av grafdokument</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="graph-layout.html">5. Graflayout</a></span></dt><dd><dl><dt><span class="sect1"><a href="graph-layout.html#idm348">Automatisk layout av grafer i <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="graph-layout.html#idm359">Kraftbaserad layout</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">6. Tack till och licens</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Kapitel 1. Inledning</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="index.html" title="Handbok Rocs"><link rel="next" href="introduction-nutshell.html" title="Rocs i ett nötskal"><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"> Inledning</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Kapitel 1. Inledning</h1></div></div></div><p>Det här kapitlet ger en översikt av de centrala funktionerna och typiska arbetssätten. De viktigaste delarna är <a class="xref" href="introduction-nutshell.html" title="Rocs i ett nötskal">”<span class="application">Rocs</span> i ett nötskal”</a> och använda <a class="xref" href="scripting.html" title="Kapitel 3. Skript">Kapitel 3, <i>Skript</i></a>, som tillsammans bör göra det möjligt för alla nya användare att börja arbeta med <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>Syfte, målgrupp och arbetsflöden</h2></div></div></div><p><span class="application">Rocs</span> är ett verktyg för grafteori avsett för alla som är intresserade av att konstruera och analysera grafalgoritmer. Mer specifikt är de:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>föreläsare som vill demonstrera algoritmer för sina studenter,</p></li><li class="listitem"><p>studenter och forskare som vill se hur deras algoritmer fungerar, och</p></li><li class="listitem"><p>alla andra som är intresserade av datastrukturer och algoritmer.</p></li></ul></div><p>För alla tillhandahåller <span class="application">Rocs</span> en lättanvänd grafisk editor för att skapa grafer, ett kraftfullt skriptgränssnitt för att beräkna algoritmer, och flera olika hjälpverktyg för simulering, experiment, och export av grafer. Det typiska sättet att använda <span class="application">Rocs</span> är att skapa en graf, antingen för hand (dvs. dra noder och bågar till skrivtavlan) eller genom att använda en av grafgeneratorerna. Grafalgoritmer kan implementeras och beräknas för den skapade grafen och alla ändringar som algoritmen utför syns omedelbart i grafeditorn. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-screenshot.png" alt="En skärmbild av Rocs."></div></div></div><FILENAME filename="introduction-nutshell.html"><html><head><title>Rocs i ett nötskal</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="introduction.html" title="Kapitel 1. Inledning"><link rel="prev" href="introduction.html" title="Kapitel 1. Inledning"><link rel="next" href="introduction-tutorial.html" title="Handledning"><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> i ett nötskal</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Föregående</a></td><td class="upCell">Inledning</td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Nästa</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> i ett nötskal</h2></div></div></div><p>Varje session i <span class="application">Rocs</span> är ett projekt: när <span class="application">Rocs</span> startas skapas ett tomt projekt, och när ett projekt läses in blir det till det aktuella projektet. Härigenom består själva projektet av <span class="emphasis"><em>grafdokument</em></span>, <span class="emphasis"><em>skript eller algoritmer</em></span> och en <span class="emphasis"><em>journal</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm78"></a>Grafdokument</h3></div></div></div><p>Ett grafdokument representerar en skrivtavlas innehåll i grafeditorn. Det innehåller information om de användardefinierade nod- och bågtyperna, deras egenskaper och de redan skapade noderna och bågarna. Det vill säga, <span class="application">Rocs</span> förstår mängden av alla noder och bågar i ett grafdokument som formar en graf (inte nödvändigtvis förbunden). Allting som hör till ett grafdokument är tillgängligt i skriptgränssnittet via det globala objektet <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="idm84"></a>Bågtyper</h3></div></div></div><p>I vissa scenarier består grafer av olika bågtyper (t.ex. en oriktad graf plus trädbågar beräknade av en bredd först-sökalgoritm), som ska hanteras och visas på olika sätt. I detta syfte går det att definiera godtyckliga andra bågtyper, förutom standardtypen. Varje bågtyp har sin individuella visuella representation, dynamiska egenskaper och kan ställas in att antingen vara oriktad eller riktad. Skriptgränssnittet tillhandahåller bekvämlighetsmetoder för att specifikt komma åt bågar av specifika typer. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm87"></a>Nodtyper</h3></div></div></div><p>I likhet med bågtyper, går det att definiera olika nodtyper i en graf (t.ex. för att ge vissa noder särskilda roller). Varje nodtyp har sin egen visuella representation och dynamiska egenskaper. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm90"></a>Egenskaper</h3></div></div></div><p>Varje nod- eller bågelement kan ha egenskaper. Egenskaperna måste ställas in för motsvarande nod- eller bågtyp. Egenskaper kan identifieras och kommas åt med sina namn, och kan innehålla godtyckliga värden. För att skapa nya eller ändra befintliga egenskaper, använd sidoraden <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Elementtyper</span></span> och använd knappen <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Egenskaper</span></span> för att visa egenskapsdialogrutan. </p><p>Det går också att använda skriptgränssnittet för att komma åt registrerade egenskaper och ändra deras värden. I följande exempel antar vi att egenskapen <span class="quote">”<span class="quote">weight</span>”</span> är registrerad för den förvalda bågtypen. </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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Nästa</a></td></tr><tr><td class="prevCell">Inledning </td><td class="upCell">Inledning</td><td class="nextCell"> Handledning</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="introduction-tutorial.html"><html><head><title>Handledning</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="introduction.html" title="Kapitel 1. Inledning"><link rel="prev" href="introduction-nutshell.html" title="Rocs i ett nötskal"><link rel="next" href="user-interface.html" title="Kapitel 2. Rocs användargränssnitt"><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"> Handledning</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Föregående</a></td><td class="upCell">Inledning</td><td class="nextCell"><a accesskey="n" href="user-interface.html">Nästa</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>Handledning</h2></div></div></div><p>I det här avsnittet ska vi skapa ett exempelprojekt för att utforska några av de viktigaste funktionerna i <span class="application">Rocs</span>. Målet är att skapa en graf och ett skript som åskådliggör en enkel 2-approximativ algoritm för problemet med <span class="emphasis"><em>minimal hörntäckning</em></span>. Minimal hörntäckning är problemet att hitta en delmängd av grafnoder C med minimal storlek, sådan att varje grafbåge är ansluten till minst en nod i C. Problemet är känt som NP-svårt, och vi vill åskådliggöra hur man hittar en approximation med faktorn 2 genom att hitta en motsvarighet i den givna grafen. </p><p>Vårt mål är att åskådliggöra förhållandet mellan den matchande och den minimala hörntäckningen. För att göra det behöver vi specificera två bågtyper, en för att visa matchande bågar och en för att visa <span class="quote">”<span class="quote">vanliga</span>”</span> bågar, samt två nodtyper som vi använder för att skilja på noder som ingår i C och de som inte ingår i C. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm108"></a>Skapa grafen</h3></div></div></div><p>För att skapa grafen använder vi den förvalda grafgenerering som tillhandahålls av <span class="application">Rocs</span>.  Den finns i huvudmenyn under <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafdokument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Verktyg</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Skapa graf</span></span>. Där väljer vi en <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Slumpmässig graf</span></span> med 30 noder, 90 bågar och fröet 1 (fröet är startfrö för den slumpmässiga grafgenereringen, används samma frö flera gånger erhålles samma och upprepningsbara grafer). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm117"></a>Skapa elementtyperna</h3></div></div></div><p>Vi använder <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Elementtyper</span></span> och skapar en andra nodtyp samt en andra bågtyp. För båda de nya typerna öppnar vi egenskapsdialogrutan genom att använda de respektive knapparna <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Egenskaper</span></span> och ställer in identifierarna till <code class="literal">2</code>. Dessutom ändrar vi elementens färger för de två nya typerna (för att skilja dem från standardtyperna). Till sist ställer vi in att alla bågar ska vara dubbelriktade, och identifierarna för standardtyperna till <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm127"></a>Algoritmen</h3></div></div></div><p>Till sist måste vi implementera approximationsalgoritmen. Vi använder följande implementering för den: </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(); // mängden obehandlade bågar
var C = new Array();      // matchande bågar
while (E.length 
&gt; 0) {
    var e = E[0];         // vi väljer första bågen e={u,v}
    var u = e.from();
    var v = e.to();
    e.type = 2;           // ange att bågen är matchande
    E.shift();            // ta bort e (dvs., E[0]) från båglistan
    C.push(u);            // lägg till u i C
    C.push(v);            // lägg till v i C

    // markera u,v som noder i C
    u.type = 2;
    v.type = 2;

    // ta bort alla bågar från E förbundna till u eller v
    var adjacent = u.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // hitta index
        if (index != -1) {
            E.splice(index, 1); // ta bort om verkligen hittad
        }
    }
    var adjacent = v.edges();
    for (var i=0; i &lt; adjacent.length; i++) {
        var index = E.indexOf(adjacent[i]); // hitta index
        if (index != -1) {
            E.splice(index, 1); // ta bort om verkligen hittad
        }
    }
}
Console.log("Vertex Cover contains " + C.length + " nodes.");
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm131"></a>Utför algoritmen</h3></div></div></div><p>Algoritmen kan beräknas med knappen <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">Kör</span></span> i skriptkontrollpanelen. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Nästa</a></td></tr><tr><td class="prevCell"><span class="application">Rocs</span> i ett nötskal </td><td class="upCell">Inledning</td><td class="nextCell"> <span class="application">Rocs</span> användargränssnitt</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Nästa</a></td></tr><tr><td class="prevCell">Handbok <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> <span class="application">Rocs</span> i ett nötskal</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Kapitel 2. Rocs användargränssnitt</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="introduction-tutorial.html" title="Handledning"><link rel="next" href="scripting.html" title="Kapitel 3. Skript"><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> användargränssnitt</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-tutorial.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="scripting.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="user-interface"></a>Kapitel 2. <span class="application">Rocs</span> användargränssnitt</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface-all"></a>Användargränssnittets huvuddelar</h2></div></div></div><p>Användargränssnittet är uppdelat i flera logiska delar som framgår av skärmbilden nedan. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-interfaces.png" alt="Grafiska element i Rocs användargränssnitt."></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">Grafeditor</span></dt><dd><p>Editorn tillhandahåller en skrivtavla där noder och bågar kan placeras. Ett dubbelklick på något av elementen visar motsvarande egenskapsmeny. Du kan använda verktygen från <span class="emphasis"><em>sidoradsflikarna</em></span> för att skapa och ändra grafer.</p><p>Tillgängliga verktyg:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Längst upp till vänster i rutan finns följande åtgärdsikoner. Att klicka på en åtgärd leder till att muspekaren utför åtgärden på grafeditorns skrivtavla:</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">Markera och flytta</span>: För att markera element, klicka antingen på en oanvänd plats på skrivtavlan, håll musknappen nedtryckt och rita en rektangel som innehåller några noder och/eller bågar för att markera dessa element, eller klicka annars direkt på ett omarkerat element för att markera det. Om du klickar på ett markerat element, eller en uppsättning markerade element, kan de flyttas omkring genom att hålla musknappen nedtryckt och flytta omkring musen. Det är också möjligt att flytta markerade element med piltangenterna.</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsnode.png"></span><span class="guiicon">Lägg till en nod</span>: Klicka på ett godtyckligt ställe på grafeditorns skrivtavla för att skapa ett nytt dataelement som hör till datastrukturen som för närvarande är markerad. Genom att hålla muspekaren nedtryckt visas en meny där datatypen för det nyskapade dataelementen kan väljas (bara om olika datatyper finns).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsedge.png"></span><span class="guiicon">Skapa en båge</span>: Klicka på ett dataelement, håll musknappen nedtryckt och rita en linje till ett annat dataelement, dit bågen ska peka. Åtgärden lyckas bara om den aktuella grafen tillåter att bågen läggs till (i en oriktad graf får t.ex. inte mer än en båge läggas till mellan två dataelement). Genom att hålla muspekaren nedtryckt, dyker en meny upp där bågtypen för de nyskapade bågarna kan väljas (bara om olika bågtyper finns).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsdelete.png"></span><span class="guiicon">Ta bort element</span>: Klicka på ett element för att ta bort det. Om du tar bort en nod, tas också alla intilliggande bågar bort.</p></li></ul></div></li></ul></div></dd><dt><span class="term">Sidorad</span></dt><dd><p>Till höger finns sidoraden som tillhandahåller flera verktyg för arbetsflödet:</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">Elementtyper</span></span>: Denna grafiska komponent ger direktåtkomst till de tillgängliga båg- och nodtyperna.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Journal</span></span>: Varje projekt har sin egen journal som t.ex. kan användas för anteckningar om uppgifter, resultat eller observationer.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Programmeringsgränssnittet för skript</span></span>: Den här grafiska komponenten kan användas för att direkt komma åt handboken och därmed skriptdokumentationen.</p></li></ul></div></dd><dt><span class="term">Skripteditor</span></dt><dd><p>I texteditorn kan algoritmer skrivas som förklaras i detalj i <a class="xref" href="scripting.html" title="Kapitel 3. Skript">Kapitel 3, <i>Skript</i></a>. Det går att arbeta med flera skriptdokument samtidigt genom att använda flera flikar.</p></dd><dt><span class="term">Skriptutmatning:</span></dt><dd><p>I det här textområdet visas antingen felsökningsinformation eller skriptutmatning från algoritmer, beroende på val av utmatningsinställning längst upp i den grafiska komponenten. Om ett fel uppstår i skriptet, väljes automatiskt felsökningsutmatning.</p></dd><dt><span class="term">Styrning</span></dt><dd><p>Här hittar man hur körning av algoritmerna styrs. Skriptet som för närvarande är öppet i skripteditorn kan köras med genom att klicka på knappen <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">Kör</span></span>. Medan skriptet körs, är det möjligt att stoppa det genom att klicka på knappen <span class="inlinemediaobject"><img src="process-stop.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Stopp</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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Nästa</a></td></tr><tr><td class="prevCell">Handledning </td><td class="upCell"> </td><td class="nextCell"> Skript</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Kapitel 3. Skript</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="user-interface.html" title="Kapitel 2. Rocs användargränssnitt"><link rel="next" href="import-export.html" title="Kapitel 4. Import och export"><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"> Skript</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="import-export.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="scripting"></a>Kapitel 3. Skript</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm225"></a>Beräkna algoritmer i <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> använder <span class="application">JavaScript</span>-gränssnittet QtScript internt. Det betyder att alla algoritmer som implementeras måste använda <span class="application">JavaScript</span>. Nedan förklarar vi hur elementen i ett grafdokument kan kommas åt och ändras från skriptgränssnittet. Det är viktigt att observera att ändringar som görs av skriptgränssnittet direkt avspeglas i egenskaperna för grafeditorns element. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm232"></a>Styr körning av skript</h3></div></div></div><p>Det finns olika beräkningssätt för algoritmerna: </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">Kör</span></span>: Kör skriptet till det är klart.</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">Stoppa</span></span>: Stoppa körning av skript (bara tillgängligt medan körning av ett skript pågår).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm248"></a>Skriptutmatning</h3></div></div></div><p>När en algoritm körs visas felsöknings- och programutdata i <span class="emphasis"><em>felsöknings- och skriptutmatning</em></span>. Om skriptgränssnittet upptäcker ett syntaxfel i skriptet visas även det felet som ett felsökningsmeddelande. Observera att alla programmeddelanden också visas i felsökningsutmatningen (med fetstil). </p><p>Du kan bestämma vilken text som visas i skriptutmatningen med följande funktioner: </p><pre class="programlisting">    Console.log(string message);              // visar meddelandet som skriptutdata
    Console.debug(string message);            // visar meddelandet som felsökningsutdata
    Console.error(string message);          // visar meddelandet som felutdata
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm254"></a>Programmeringsgränssnittet för skripthantering</h3></div></div></div><p>De olika delarna av <span class="application">Rocs</span> tillhandahåller var och en ett statiskt element som kan kommas åt av skriptgränssnittet. De är. </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> för grafdokumentet</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> för loggutmatning på terminalen</p></li></ul></div><p> För explicit användning av programmeringsgränssnittet och en metodreferens, se direkthjälpen i <span class="application">Rocs</span> sidorad. </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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Nästa</a></td></tr><tr><td class="prevCell"><span class="application">Rocs</span> användargränssnitt </td><td class="upCell"> </td><td class="nextCell"> Import och export</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="import-export.html"><html><head><title>Kapitel 4. Import och export</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="scripting.html" title="Kapitel 3. Skript"><link rel="next" href="graph-layout.html" title="Kapitel 5. Graflayout"><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"> Import och export</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="import-export"></a>Kapitel 4. Import och export</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="import-export-projects"></a>Utbyt <span class="application">Rocs</span>-projekt</h2></div></div></div><p><span class="application">Rocs</span>-projekt kan importeras och exporteras som arkivfiler <code class="literal">.tar.gz</code>. Dessa arkiv kan användas för att utbyta projekt. Import och export kan utföras med respektive menyalternativ <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafdokument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Importera graf...</span></span> och <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafdokument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Exportera projekt...</span></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Import och export av grafdokument</h3></div></div></div><p><span class="application">Rocs</span> stöder för närvarande import och export av följande filformat:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><acronym class="acronym">DOT</acronym>-filer, också kända som Graphviz-filer</p></li><li class="listitem"><p><acronym class="acronym">GML</acronym>-filer</p></li><li class="listitem"><p>Filer med Trivial Graph-format</p></li><li class="listitem"><p>Keyhole Markup Language-format</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>Trivial Graph-filformat</h4></div></div></div><p><span class="emphasis"><em>Trivial Graph-formatet</em></span> (<acronym class="acronym">TGF</acronym>) är ett enkelt textbaserat filformat för att beskriva grafer. En <acronym class="acronym">TGF</acronym>-fil består av en lista med noddefinitioner, som avbildar nod-identifierare på etiketter, följt av en lista med bågarna. Det är bara möjligt att ha en etikett per nod och ett värde per båge i detta format. <span class="application">Rocs</span> tolkar importerade grafer som oriktade grafer. Exporterade grafer innehåller två bågar per anslutning om anslutningarna är bidirektionella. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm304"></a>Formatspecifikation</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Filen börjar med en lista med noder (en nod per rad), följt av en rad med det enda tecknet <span class="quote">”<span class="quote">#</span>”</span>, följt av en lista med bågar (en båge per rad).</p></li><li class="listitem"><p>En nod består av ett heltal (identifierare), följt av ett mellanslag, följt av en godtycklig sträng.</p></li><li class="listitem"><p>En båge består av två heltal (identifierare) åtskilda med ett mellanslag, följda av ett mellanslag, följt av en godtycklig sträng. Det antas att den riktade bågen pekar från den första identifieraren till den andra.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm314"></a>Exempel</h5></div></div></div><pre class="programlisting">1 startnod
2 sändare
3 mottagare
#
1 2 blå
2 1 röd
2 3 grön
</pre></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-dot"></a><acronym class="acronym">DOT</acronym>-språket, Graphviz graffilformat</h4></div></div></div><p><acronym class="acronym">DOT</acronym>-språket är ett grafbeskrivningsspråk med vanlig text som både tillåter en bra mänskligt läsbar representation av grafer samt en effektiv behandling av graflayoutprogram. <acronym class="acronym">DOT</acronym> är standardfilformat för Graphviz grafvisualiseringssvit, men används också av många andra grafverktyg. De vanliga filändelserna för <acronym class="acronym">DOT</acronym> är <code class="literal">.gv</code> och <code class="literal">.dot</code>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm326"></a>Funktioner som inte stöds</h5></div></div></div><p><span class="application">Rocs</span> kan tolka alla graffiler som innehåller en graf angiven enligt språkdefinitionen för <acronym class="acronym">DOT</acronym><a href="#ftn.idm331" class="footnote" name="idm331"><sup class="footnote">[1]</sup></a>. Stödet för språkets funktioner är fullständigt, trots följande undantag: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>delgraf: På grund av avsaknaden av ett delgrafskoncept i <span class="application">Rocs</span>, importeras bara delgrafer som en uppsättning dataelement och anslutningar. I synnerhet importeras inte anslutningar till eller från delgrafer.</p></li><li class="listitem"><p><acronym class="acronym">HTML</acronym>- och <acronym class="acronym">XML</acronym>-attribut: Attribut (som beteckningar) som innehåller <acronym class="acronym">HTML</acronym>- eller <acronym class="acronym">XML</acronym>-syntax läses oförändrade. I synnerhet läses inte justeringar av teckensnitt och stilar från sådana attribut.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm343"></a>Exempel</h5></div></div></div><pre class="programlisting">digraph min_graf {
    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.idm331" class="footnote"><p><a href="#idm331" 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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Nästa</a></td></tr><tr><td class="prevCell">Skript </td><td class="upCell"> </td><td class="nextCell"> Graflayout</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="graph-layout.html"><html><head><title>Kapitel 5. Graflayout</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="import-export.html" title="Kapitel 4. Import och export"><link rel="next" href="credits.html" title="Kapitel 6. Tack till och licens"><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"> Graflayout</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Föregående</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="credits.html">Nästa</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="graph-layout"></a>Kapitel 5. Graflayout</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm348"></a>Automatisk layout av grafer i <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> kan skapa layouter för grafer automatiskt. <span class="application">Rocs</span> graflayoutverktyg finns i huvudmenyn under <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Grafdokument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Verktyg</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Graflayout</span></span>. Det finns två olika layoutalgoritmer som kan användas: Kraftbaserad layout och Radiell trädlayout. För att använda en av dem, välj motsvarande flik i graflayoutverktyget, välj önskade parametrar och utför algoritmen genom att trycka på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Ok</span></span>. Detaljerad information specifik för var och en av layoutalgoritmerna tillhandahålls i följande avsnitt. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm359"></a>Kraftbaserad layout</h3></div></div></div><p>Den kraftbaserade layouten kan användas för vilken graf som helst. Intuitivt simulerar algoritmen krafter som verkar på varje nod. Det finns frånstötande krafter mellan nodpar och attraktiva krafter mellan nodpar som är grannar. Krafternas storlek kan anges genom att flytta motsvarande skjutreglage i användargränssnittet. </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="En skärmbild av fliken för kraftbaserad layout i Rocs graflayoutverktyg."></div></div><p>En annan parameter som kan styras är Areafaktor. Parametern styr hur noderna sprids ut. Layouter genererade med stora värden på areafaktorn har en tendens att ha större avstånd mellan noder. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm372"></a>Radiell trädlayout</h4></div></div></div><p>Den radiella trädlayouten kan bara användas för träd. Alla försök att använda layoutalgoritmen för andra graftyper producerar ett felmeddelande. Parametrar för den radiella trädlayouten kan väljas genom att använda det tillhandahållna användargränssnittet. </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="En skärmbild av fliken för radiell trädlayout i Rocs graflayoutverktyg."></div></div><p>Parametern för trädtyp väljer mellan en fri trädlayout och en rotad trädlayout. I en fri trädlayout placeras noder fritt utan någon uppenbar inbördes hierarki. I en rotad trädlayout placeras rotnoden längst upp och delträd placeras ut under den, vilket ger en idé om hierarkin mellan noder. </p><p>Parametern Centrum eller rot definierar vilken nod som kommer att användas som rot för den rotade trädlayouten eller som centrum för den fria trädlayouten. Centrum för den fria trädlayouten är den första noden som placeras ut av algoritmen. Alla andra noder placeras i cirklar omkring centrumnoden. Centrum eller rot kan väljas automatiskt av layoutalgoritmen. </p><p>Parametern Nodseparation styr avståndet mellan noderna. Ökas parameterns värde ökar avståndet mellan noder. På liknande sätt, minskas parameterns värde minskas avståndet mellan noder. </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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Nästa</a></td></tr><tr><td class="prevCell">Import och export </td><td class="upCell"> </td><td class="nextCell"> Tack till och licens</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Kapitel 6. Tack till och licens</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, matematik, matematik, grafer, nod, båge, Rocs"><link rel="home" href="index.html" title="Handbok Rocs"><link rel="up" href="index.html" title="Handbok Rocs"><link rel="prev" href="graph-layout.html" title="Kapitel 5. Graflayout"><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"> Tack till och licens</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Föregående</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>Kapitel 6. Tack till och licens</h1></div></div></div><p><span class="application">Rocs</span> </p><p>Program Copyright:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright 2008 Ugo Sangiori (ugorox SNABELA gmail.com)</p></li><li class="listitem"><p>Copyright 2008-2012 Tomaz Canabrava (tcanabrava SNABELA kde.org)</p></li><li class="listitem"><p>Copyright 2008-2012 Wagner Reck (wagner.reck SNABELA gmail.com)</p></li><li class="listitem"><p>Copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr SNABELA kde.org)</p></li></ul></div><p>Dokumentation Copyright:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Dokumentation copyright 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>Dokumentation copyright 2009 Tomaz Canabrava (tcanabrava SNABELA kde.org)</p></li><li class="listitem"><p>Dokumentation copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr SNABELA kde.org)</p></li></ul></div><p>Översättning Stefan Asserhäll <code class="email">(stefan.asserhall AT bredband.net)</code></p><p><a name="gnu-fdl"></a>Den här dokumentationen licensieras under villkoren i <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p><p>Det här programmet licensieras under villkoren i <a class="ulink" href="help:/kdoctools5-common/gpl-license.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">Föregående</a></td><td class="upCell"><a accesskey="h" href="index.html">Hem</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Graflayout </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</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">Nästa</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Inledning</td></tr></table></div><div id="footer_text">Vill du ge en kommentar eller bidra med en uppdatering av den här sidan?<br>Skicka dina förslag till <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE:s dokumentationsgrupp</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Sat May 18 11:32:46 CEST 2024.