dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Het handboek van 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 is een hulpmiddel voor de grafentheorie."><meta name="keywords" content="KDE, kdeedu, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="next" href="introduction.html" title="Hoofdstuk 1. Inleiding"><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"> Het handboek van <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">Volgende</a></td></tr></table></div><div id="contentBody"><div lang="nl" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>Het handboek van <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">Vertaler/Nalezer</span>: <span class="firstname">Freek</span> <span class="surname">de Kruijf</span><br></span><span class="othercredit"><span class="contrib">Vertaler/Nalezer</span>: <span class="firstname">Jaap</span> <span class="surname">Woldringh</span><br></span></div></div><div>herziening <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">Juridische kennisgeving</a></p></div><div><div><div class="abstract"><p><span class="application">Rocs</span> is een hulpmiddel voor de grafentheorie. </p></div></div></div></div><hr></div><div class="toc"><p><b>Inhoudsopgave</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Inleiding</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction-goals">Doelen, voor wie is dit bestemd en manier van werken.</a></span></dt><dt><span class="sect1"><a href="introduction-nutshell.html"><span class="application">Rocs</span> in een notendop</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-nutshell.html#idm86">Graafdocumenten</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm92">Kanttypen</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm95">Knooptypen</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm98">Eigenschappen</a></span></dt></dl></dd><dt><span class="sect1"><a href="introduction-tutorial.html">Instructie</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-tutorial.html#idm116">Een graaf genereren</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm125">De elementtypen genereren</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm135">Het algoritme</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm139">Het algoritme uitvoeren</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. De gebruikersinterface van <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all"> Belangrijkste elementen van de gebruikersinterface</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Scripts maken</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm237">Het  uitvoeren van algoritmes in <span class="application">Rocs</span> </a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm244">Sturen uitvoeren van script</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm260">Scriptuitvoer</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm266">API voor scripts</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="import-export.html">4. Import en export</a></span></dt><dd><dl><dt><span class="sect1"><a href="import-export.html#import-export-projects"><span class="application">Rocs</span>-projecten uitwisselen</a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Import en export van graafdocumenten</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="graph-layout.html">5. Graafindeling</a></span></dt><dd><dl><dt><span class="sect1"><a href="graph-layout.html#idm360">Automatische indeling van grafen in <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="graph-layout.html#idm370">Op krachten gebaseerde Indeling</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">6. Dankbetuiging en licentie</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Hoofdstuk 1. Inleiding</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="index.html" title="Het handboek van Rocs"><link rel="next" href="introduction-nutshell.html" title="Rocs in een notendop"><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"> Inleiding</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Terug</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Volgende</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Hoofdstuk 1. Inleiding</h1></div></div></div><p>In dit hoofdstuk vindt u een overzicht van de kerneigenschappen en manier van werken met <span class="application">Rocs</span>. Het belangrijkst zijn <a class="xref" href="introduction-nutshell.html" title="Rocs in een notendop">de paragraaf met de naam “<span class="application">Rocs</span> in een notendop”</a> en <a class="xref" href="scripting.html" title="Hoofdstuk 3. Scripts maken">Hoofdstuk 3, <i>Scripts maken</i></a>, hiermee kan elke nieuwe gebruiker onmiddellijk aan de slag gaan met <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>Doelen, voor wie is dit bestemd en manier van werken.</h2></div></div></div><p><span class="application">Rocs</span> is een hulpmiddel voor de grafentheorie, geschikt voor iedereen die algoritmes voor grafen wil ontwerpen en bestuderen. Dit zijn vooral</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>docenten die algoritmes aan hun studenten willen demonstreren,</p></li><li class="listitem"><p>studenten en onderzoekers die willen begrijpen en zien hoe een algoritme werkt, en</p></li><li class="listitem"><p>iedereen die belang stelt in gegevensstructuren en algoritmes.</p></li></ul></div><p>Voor ieder van hen heeft <span class="application">Rocs</span> een eenvoudig grafisch bewerkingsprogramma voor het aanmaken van grafen, een krachtig hulpmiddel voor het maken van scripts voor algoritmen, en diverse hulpmiddelen voor simulaties, experimenten, en het exporteren van grafen. <span class="application">Rocs</span> kan typisch worden gebruikt voor het aanmaken van een graaf, handmatig (met slepen en neerzetten van knopen en kanten op het whiteboard), of met een van de graafgeneratoren. Op de aangemaakte graaf kunnen daarna algoritmen worden aangebracht en toegepast, en alle veranderingen als gevolg hiervan zijn direct zichtbaar in de graafbewerker. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-screenshot.png" alt="Schermbeeld van Rocs."></div></div></div><FILENAME filename="introduction-nutshell.html"><html><head><title>Rocs in een notendop</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="introduction.html" title="Hoofdstuk 1. Inleiding"><link rel="prev" href="introduction.html" title="Hoofdstuk 1. Inleiding"><link rel="next" href="introduction-tutorial.html" title="Instructie"><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 een notendop</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Terug</a></td><td class="upCell">Inleiding</td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Volgende</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 een notendop</h2></div></div></div><p>Elke sessie in <span class="application">Rocs</span> is een project: wanneer <span class="application">Rocs</span> wordt gestart, wordt een leeg project aangemaakt. Bij het inlezen of importeren van een ander project wordt dat het huidige project. Hierbij bestaat een project zelf uit <span class="emphasis"><em>graafdocumenten</em></span>, <span class="emphasis"><em>scripts/algoritmen</em></span>,  en een <span class="emphasis"><em>journaal</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm86"></a>Graafdocumenten</h3></div></div></div><p>Een graafdocument bevat de inhoud van een whiteboard, in de graafbewerker. Hierin is informatie over de door de gebruiker gedefinieerde knoop- en kanttypen, samen met hun eigenschappen, en de reeds aangemaakte knopen en kanten. Dit betekent dat <span class="application">Rocs</span> de verzameling kent van alle knopen en kanten in een graafdocument, en er een (niet noodzakelijk verbonden) graaf mee kan vormen. Alles dat tot een graafdocument behoort, is toegankelijk voor het programma waarmee scripts worden gemaakt, via het globale object <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="idm92"></a>Kanttypen</h3></div></div></div><p>In sommige scenario's hebben grafen verschillende soorten kanten (bijv. een ongerichte graaf plus de kanten in een boom berekend met een "breadth-first" zoekalgoritme) die anders worden behandeld en weergegeven. U kunt hiervoor zelf, naast een standaard kanttype, andere kanttypen definiëren. Elk kanttype wordt op een eigen manier visueel weergegeven, heeft eigen dynamische eigenschappen, en kan gericht of ongericht worden gemaakt. De interface voor scripts bevat mogelijkheden om eenvoudig de toegang te regelen voor alleen bepaalde kanttypen. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm95"></a>Knooptypen</h3></div></div></div><p>Op dezelfde manier als bij kanttypen, kunnen verschillende knooptypen voor een graaf worden gedefinieerd (bijv. om sommige knopen een speciale rol te geven). Elk knooptype wordt op een eigen manier visueel weergegeven, en heeft eigen dynamische eigenschappen. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm98"></a>Eigenschappen</h3></div></div></div><p>Elk element (knoop of kant) kan eigenschappen hebben. Deze eigenschappen moeten worden ingesteld bij het overeenkomende knoop- of kanttype. Eigenschappen hebben een naam, en kunnen elke waarde bevatten. Het nieuw aanmaken of wijzigen van bestaande eigenschappen, kunt u in de zijbalk <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Elementtypen</span></span> doen met de knop <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Eigenschappen</span></span>. U ziet dan een eigenschappendialoog.  </p><p>U kunt ook met het scriptprogramma bestaande eigenschappen vinden en de waarden hiervan wijzigen. In het volgende voorbeeld nemen we aan dat de eigenschap <span class="quote">“<span class="quote">gewicht</span>”</span> bestaat voor het standaard kanttype. </p><pre class="programlisting">var knopen = Document.nodes()
for (var i = 0; i &lt; knopen.length; ++i){
    knopen[i].gewicht = i;
}
for (var i = 0; i &lt; knopen.length; ++i){
    Console.log("gewicht knoop" + i + ": " + knopen[i].gewicht);
}
</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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Volgende</a></td></tr><tr><td class="prevCell">Inleiding </td><td class="upCell">Inleiding</td><td class="nextCell"> Instructie</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="introduction-tutorial.html"><html><head><title>Instructie</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="introduction.html" title="Hoofdstuk 1. Inleiding"><link rel="prev" href="introduction-nutshell.html" title="Rocs in een notendop"><link rel="next" href="user-interface.html" title="Hoofdstuk 2. De gebruikersinterface van 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"> Instructie</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Terug</a></td><td class="upCell">Inleiding</td><td class="nextCell"><a accesskey="n" href="user-interface.html">Volgende</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>Instructie</h2></div></div></div><p>In dit gedeelte maken we een voorbeeldproject aan, waarin enkele van de meest belangrijke eigenschappen van <span class="application">Rocs</span> worden gebruikt. Het doel is een graaf en een script te maken voor een eenvoudig 2-benaderingsalgoritme voor het <span class="emphasis"><em>"minimum vertex cover"</em></span>- probleem. Dit houdt in het zoeken naar de kleinste deelverzameling C van de knopen van de graaf, zodat elke kant van de graaf met tenminste een knoop van C is verbonden. Het is bekend dat dit probleem "NP-hard" is, en we willen laten zien hoe we een benadering met een factor 2 kunnen vinden door een overeenkomst in de bestaande graaf te zoeken (in het volgende gebruiken we de gebruikelijke termen in graafalgoritmes: graaf is de gegevensstructuur, knopen zijn de gegevenselementen, kanten zijn de pijlen). (Noot vertaler: ik handhaaf vele Engelse benamingen, ten eerste om de gebruiker van deze tekst in de gelegenheid te stellen om naar deze namen te googlen, en ten tweede omdat ik van de meeste niet de Nederlandse naam (als die er is) ken, of kan vinden). </p><p>Ons doel is de overeenkomst zichtbaar te maken tussen de overeenkomende en de "minimum vertex cover". Hiervoor moeten we twee kanttypen specificeren, een voor het tonen van de overeenkomende kanten, en een voor de <span class="quote">“<span class="quote">gewone</span>”</span> kanten. En verder twee knooptypen, die gebruikt worden voor het onderscheid tussen knopen in C en knopen die niet tot C behoren. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm116"></a>Een graaf genereren</h3></div></div></div><p>Voor het aanmaken van de graaf is in <span class="application">Rocs</span> een hulpmiddel aanwezig waarmee grafen kunnen worden aangemaakt. We gaan naar het menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Graafdocument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Hulpmiddelen</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Graaf aanmaken</span></span>. Hier genereren we een <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Willekeurige graaf</span></span>, met 30 knopen, 90 kanten en met het zaadje 1 (het zaadje is de startwaarde voor het genereren van willekeurige getallen; meerdere keren dit zelfde zaadje gebruiken resulteert in dezelfde, en dus reproduceerbare grafen).  </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm125"></a>De elementtypen genereren</h3></div></div></div><p>Met <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Elementtypen</span></span> maken we een tweede knooptype aan en een tweede kanttype. Voor beide  nieuwe typen openen we de eigenschappendialoog met respectievelijk de knoppen <span class="inlinemediaobject"><img src="document-properties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Eigenschappen</span></span> en zetten de ID's op <code class="literal">2</code>. Verder wijzigen we de kleuren van elementen van de beide nieuwe typen (om ze van de standaardtypen te onderscheiden). Tenslotte maken we alle kanttypen bidirectioneel en de ID's van de standaardtypen <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm135"></a>Het algoritme</h3></div></div></div><p>Tenslotte moeten we het benaderingsalgoritme implementeren. Hiervoor gebruiken we het volgende:  </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(); // verzameling onverwerkte kanten
var C = new Array();      // overeenkomende kanten
while (E.length 
&gt; 0) {
    var e = E[0];         // we nemen eerste kant e={u,v}
    var u = e.from();
    var v = e.to();
    e.type = 2;           // maak kant overeenkomend
    E.shift();            // verwijder e (bijv. E[0]) uit kantenlijst
    C.push(u);            // u aan C toevoegen
    C.push(v);            // v aan C toevoegen

    // u,v als knopen in C markeren
    u.type = 2;
    v.type = 2;

    // uit E alle kanten verwijderen die verbonden zijn met u of v
    var aanliggend = u.edges();
    for (var i=0; i &lt; aanliggend.length; i++) {
        var index = E.indexOf(aanliggend[i]); // de index bepalen
        if (index != -1) {
            E.splice(index, 1); // het verwijderen indien gevonden
        }
    }
    var aanliggend = v.edges();
    for (var i=0; i &lt; aanliggend.length; i++) {
        var index = E.indexOf(adjacent[i]); // de index bepalen
        if (index != -1) {
            E.splice(index, 1); // het verwijderen indien gevonden
        }
    }
}
Console.log("Vertex Cover bevat " + C.length + " knopen.");
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm139"></a>Het algoritme uitvoeren</h3></div></div></div><p>Het algoritme kunnen we starten met de knop <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">Uitvoeren</span></span> in het controlepaneel voor scripts. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Volgende</a></td></tr><tr><td class="prevCell"><span class="application">Rocs</span> in een notendop </td><td class="upCell">Inleiding</td><td class="nextCell"> De gebruikersinterface van <span class="application">Rocs</span></td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Volgende</a></td></tr><tr><td class="prevCell">Het handboek van <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> <span class="application">Rocs</span> in een notendop</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Hoofdstuk 2. De gebruikersinterface van 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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="introduction-tutorial.html" title="Instructie"><link rel="next" href="scripting.html" title="Hoofdstuk 3. Scripts maken"><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"> De gebruikersinterface van <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">Terug</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="scripting.html">Volgende</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="user-interface"></a>Hoofdstuk 2. De gebruikersinterface van <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> Belangrijkste elementen van de gebruikersinterface</h2></div></div></div><p>De gebruikersinterface is verdeeld in een aantal logische gedeelten, zoals getoond in onderstaand schermbeeld. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-interfaces.png" alt="GUI-elementen van de interface van Rocs."></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">Graafbewerker</span></dt><dd><p>De graafbewerker heeft een zogenaamde "whiteboard", waarop u knopen en kanten kunt plaatsen. Door op een element hierin te dubbelklikken krijgt u het erbij behorende eigenschappenmenu. Met de hulpmiddelen in de <span class="emphasis"><em>Tabbladen in de zijbalk</em></span> kunt u grafen aanmaken en wijzigen.</p><p>Beschikbare hulpmiddelen:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Linksboven in het vak vindt u de volgende actiepictogrammen. Op een actie klikken maakt dat uw muisaanwijzer deze actie toepast op het whiteboard van de graafbewerker:</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">Selecteren en verplaatsen</span>: U kunt elementen selecteren door in het whiteboard op een lege plek te klikken, of door de muisknop ingedrukt te houden en een rechthoek te "trekken" om enige gegevenselementen heen om deze elementen te selecteren, of door direct op een niet geselecteerd element te klikken om dit te selecteren. Indien u op een geselecteerd element klikt, of op een verzameling van geselecteerde elementen, kunt u die verplaatsen met de muis, met ingedrukte muisknop. Geselecteerde elementen kunnen ook met de pijltjestoetsen worden verplaatst.</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsnode.png"></span><span class="guiicon">Een knoop aanmaken</span>: Klik op een willekeurige plaats in het whiteboard van het grafische bewerkingsprogramma, om zo een nieuw gegevenselement aan te maken voor de huidig geselecteerde gegevensstructuur. Door de muisaanwijzer op de knop ingedrukt te houden, komt er een contextmenu, waarin het type kan worden gekozen van de nieuw aangemaakte gegevenselementen (alleen wanneer er meerdere gegevenstypen zijn).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsedge.png"></span><span class="guiicon">Een kant aanmaken</span>: Klik op een gegevenselement, houdt de muisknop ingedrukt, en trek een lijn naar een ander gegevenselement waarnaar de kant moet wijzen. Dit zal alleen lukken als het in de huidige graaf is toegestaan deze kant toe te voegen (<abbr class="abbrev">bijv.</abbr>, in een ongerichte graaf kunt u niet meerdere kanten toevoegen tussen gegevenselementen). Door de muisaanwijzer op de knop ingedrukt te houden, komt er een contextmenu, waarin het type kan worden gekozen van de nieuw aangemaakte pijlen (alleen wanneer daarvoor meerdere kanttypen zijn).</p></li><li class="listitem"><p><span class="inlinemediaobject"><img src="sc-actions-rocsdelete.png"></span><span class="guiicon">Element verwijderen</span>: Klik op het element om het te verwijderen. Bij het verwijderen van een knoop worden meteen alle ermee verbonden kanten verwijderd.</p></li></ul></div></li></ul></div></dd><dt><span class="term">Zijbalk </span></dt><dd><p>Rechts vindt u de zijbalk waarin u diverse hulpmiddelen vindt om mee te werken:</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">Elementtypen</span></span>: Hiermee heeft u direct toegang tot de beschikbare kant- en knooptypen.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Journaal</span></span>: Bij elk project hoort een eigen journaal waarin <abbr class="abbrev">bijv.</abbr> taken, resultaten of waarnemingen kunnen worden genoteerd.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">API voor scripts</span></span>: Hiermee kunt u direct toegang krijgen tot de documentatie over scripts, en zo tot de documentatie over scripts.</p></li></ul></div></dd><dt><span class="term">Bewerken van scripts</span></dt><dd><p>In deze tekstbewerker kunt u algoritmes schrijven, zoals in detail is uitgelegd in <a class="xref" href="scripting.html" title="Hoofdstuk 3. Scripts maken">Hoofdstuk 3, <i>Scripts maken</i></a>. U kunt aan verschillende scriptdocumenten tegelijk werken, in verschillende tabbladen.</p></dd><dt><span class="term">Scriptuitvoer:</span></dt><dd><p>In dit tekstgebied staat informatie over het herstellen van fouten (debug), of de script-uitvoer van uw algoritme, afhankelijk van de selectie van de ingestelde uitvoer, bovenin. Als het script een fout meldt, wordt automatisch de debug-uitvoer geselecteerd.</p></dd><dt><span class="term">Besturing</span></dt><dd><p>Hierin kunt u het uitvoeren van scripts regelen. U kunt het script uitvoeren (draaien, laten werken) dat op dit moment in de scriptbewerker is geopend, door op de knop <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">Uitvoeren</span></span> te klikken. Een script kan tijdens het uitvoeren worden gestopt door op de knop <span class="inlinemediaobject"><img src="process-stop.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Stop</span></span> te klikken.</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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Volgende</a></td></tr><tr><td class="prevCell">Instructie </td><td class="upCell"> </td><td class="nextCell"> Scripts maken</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Hoofdstuk 3. Scripts maken</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="user-interface.html" title="Hoofdstuk 2. De gebruikersinterface van Rocs"><link rel="next" href="import-export.html" title="Hoofdstuk 4. Import en 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"> Scripts maken</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Terug</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="import-export.html">Volgende</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="scripting"></a>Hoofdstuk 3. Scripts maken</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm237"></a>Het  uitvoeren van algoritmes in <span class="application">Rocs</span> </h2></div></div></div><p>Intern maakt <span class="application">Rocs</span> gebruik van QTScript <span class="application">JavaScript</span>. Dit betekent dat voor alle algoritmen <span class="application">JavaScript</span> nodig is. We leggen u hier nu uit hoe u tot elementen in een graafdocument toegang heeft, en die kunt wijzigen, bij het maken van scripts. Het is belangrijk te weten dat alle wijzigingen in een script direct werken op de eigenschappen van de elementen in de graafbewerker.  </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm244"></a>Sturen uitvoeren van script</h3></div></div></div><p>U kunt scripts op verschillende manieren uitvoeren: </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">Uitvoeren</span></span>: Script uitvoeren tot het einde.</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">Stop</span></span>: Stop het uitvoeren van script (alleen wanneer een script bezig is).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm260"></a>Scriptuitvoer</h3></div></div></div><p>Gedurende het uitvoeren (werking) van een algoritme, worden debug (programmafouten) en programmauitvoer getoond in de <span class="emphasis"><em>Debug ∧ scriptuitvoer</em></span>. Indien er een syntaxisfout in uw script wordt ontdekt, wordt de fout ook getoond als een debugbericht. Merk op dat alle programmaberichten ook in de debuguitvoer worden getoond (in een vette letter). </p><p>U kunt met de volgende functies de tekst regelen, die in de scriptuitvoer wordt getoond: </p><pre class="programlisting">Console.log(tekenreeks);            // toont tekenreeks als scriptuitvoer
    Console.debug(tekenreeks);          // toont tekenreeks als debuguitvoer
    Console.error(tekenreeks);          // toont tekenreeks als foutuitvoer
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm266"></a>API voor scripts</h3></div></div></div><p>De diverse onderdelen van <span class="application">Rocs</span> hebben elk een statisch element dat in scripts kan worden gebruikt. Dit zijn: </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> voor het graafdocument</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> voor de loguitvoer van de console</p></li></ul></div><p> Voor het expliciete API-gebruik en voor een methodenoverzicht, zie de help die in de zijbalk van <span class="application">Rocs</span> beschikbaar is. </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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Volgende</a></td></tr><tr><td class="prevCell">De gebruikersinterface van <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> Import en export</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="import-export.html"><html><head><title>Hoofdstuk 4. Import en 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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="scripting.html" title="Hoofdstuk 3. Scripts maken"><link rel="next" href="graph-layout.html" title="Hoofdstuk 5. Graafindeling"><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 en export</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Terug</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Volgende</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="import-export"></a>Hoofdstuk 4. Import en 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><span class="application">Rocs</span>-projecten uitwisselen</h2></div></div></div><p><span class="application">Rocs</span>-projecten kunnen worden geïmporteerd en geëxporteerd als archiefbestanden (<code class="literal">.tar.gz</code>-bestanden). Deze archieven kunnen worden gebruikt om projecten te ruilen met anderen. Importeren en exporteren doet u met respectievelijk de menu-items <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Graafdocument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Graaf importeren</span></span> en <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Graafdocument</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Graaf exporteren als</span></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Import en export van graafdocumenten</h3></div></div></div><p>Import en export naar de volgende formaten worden door <span class="application">Rocs</span> ondersteund: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><acronym class="acronym">DOT</acronym>-bestanden, ook wel bekend als Graphviz-bestanden.</p></li><li class="listitem"><p><acronym class="acronym">GML</acronym>-bestanden</p></li><li class="listitem"><p>Trivial Graph Format bestanden</p></li><li class="listitem"><p>Keyhole Markup Language formaat</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>Trivial Graph bestandsformaat</h4></div></div></div><p><span class="emphasis"><em>Trivial Graph Format</em></span> (<acronym class="acronym">TGF</acronym>) is een formaat waarin een grafiek in een eenvoudig tekstbestand wordt beschreven. Een <acronym class="acronym">TGF</acronym>-bestand bevat een lijst van knoopdefinities, waarin knoop-ID's worden gekoppeld aan namen, gevolgd door een lijst van kanten. In dit formaat is slechts één naam mogelijk per knoop, en één waarde per kant. <span class="application">Rocs</span> beschouwt geïmporteerde grafen als niet gericht. Geëxporteerde grafen bevatten twee kanten voor elke bi-directionele verbinding (naar beide richtingen). </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm316"></a>Formaatbeschrijving</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Het bestand begint met een lijst van knopen (op elke regel een knoop), gevolgd door een regel met als enige karakter een <span class="quote">“<span class="quote">#</span>”</span>, gevolgd door een lijst van kanten (op elke regel een kant).</p></li><li class="listitem"><p>Een knoop wordt beschreven met een geheel getal (als identificatie), gevolgd door een spatie, gevolgd door een willekeurige tekenreeks.</p></li><li class="listitem"><p>Een kant wordt beschreven door twee gehele getallen (die de verbonden knopen identificeren), gescheiden door een spatie, gevolgd door een spatie, gevolgd door een willekeurige tekenreeks. Aangenomen wordt dat de gerichte kant wijst van de eerste naar de tweede geïdentificeerde knoop.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm326"></a>Voorbeeld</h5></div></div></div><pre class="programlisting">1 beginknoop
2 zender
3 aarde
#
1 2 blauw
2 1 rood
2 3 groen
</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>-taal / Graphviz Graph bestandsformaat</h4></div></div></div><p>De taal <acronym class="acronym">DOT</acronym> is een taal voor het beschrijven van een graaf in klare tekst, waarin een goede voor mensen leesbare beschrijving wordt gegeven van grafen, die ook geschikt is voor het efficiënt verwerken door programma's voor het indelen van grafen. <acronym class="acronym">DOT</acronym> is het standaard bestandsformaat voor de Graphviz programma's voor het visualiseren van grafen, maar wordt ook algemeen in andere graafprogramma's gebruikt. De gebruikelijke bestandsextensies voor <acronym class="acronym">DOT</acronym> zijn <code class="literal">.gv</code> en <code class="literal">.dot</code>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm338"></a>Niet ondersteunde eigenschappen</h5></div></div></div><p><span class="application">Rocs</span> kan elk graafbestand lezen van een graaf die volgens <acronym class="acronym">DOT</acronym> is beschreven <a href="#ftn.idm343" class="footnote" name="idm343"><sup class="footnote">[1]</sup></a>. De ondersteuning van deze taal is volledig, ondanks de volgende uitzonderingen: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>subgraaf: Omdat in <span class="application">Rocs</span> het begrip subgraaf niet bestaat, worden subgrafen slechts geïmporteerd als verzamelingen van gegevenselementen en verbindingen. In het bijzonder worden verbindingen naar en van subgrafen niet geïmporteerd.</p></li><li class="listitem"><p><acronym class="acronym">HTML</acronym> en <acronym class="acronym">XML</acronym> attributen: Attributen (zoals tekst) die <acronym class="acronym">HTML</acronym> of <acronym class="acronym">XML</acronym> bevatten worden onveranderd gelezen. In het bijzonder worden aanpassingen van lettertypen en stijlen van deze attributen niet gelezen.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm355"></a>Voorbeeld</h5></div></div></div><pre class="programlisting">digraph mijnGraaf {
    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.idm343" class="footnote"><p><a href="#idm343" 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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="graph-layout.html">Volgende</a></td></tr><tr><td class="prevCell">Scripts maken </td><td class="upCell"> </td><td class="nextCell"> Graafindeling</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="graph-layout.html"><html><head><title>Hoofdstuk 5. Graafindeling</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="import-export.html" title="Hoofdstuk 4. Import en export"><link rel="next" href="credits.html" title="Hoofdstuk 6. Dankbetuiging en licentie"><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"> Graafindeling</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Terug</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="credits.html">Volgende</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="graph-layout"></a>Hoofdstuk 5. Graafindeling</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm360"></a>Automatische indeling van grafen in <span class="application">Rocs</span></h2></div></div></div><p><span class="application">Rocs</span> kan grafen automatisch indelen. Het hulpmiddel hiervoor is te vinden in het hoofdmenu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Graaf Document</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Hulpmiddelen</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Graafindeling</span></span>. Er zijn twee verschillende algoritmen die kunnen worden gebruikt: Op krachten gebaseerde indeling, en de radiële boomindeling. U kunt het te gebruiken algoritme in het bijbehorende tabblad te kiezen in het hulpmiddel voor het indelen van grafen. Kies hierin de gewenste parameters, en voer het algoritme uit door te drukken op de knop <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">OK</span></span> . In de volgende secties leest u over de details voor beide indelingsalgoritmen. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm370"></a>Op krachten gebaseerde Indeling</h3></div></div></div><p>De op krachten gebaseerde indeling kan in elke graaf worden toegepast. Op intuïtieve manier simuleert dit algoritme de krachten die in elk knoop optreden. Er zijn afstotende krachten, en aantrekkende krachten tussen knopenparen die elkaars buurman zijn. Met behulp van schuifknoppen in de gebruikersinterface kan de grootte van deze krachten worden ingesteld. </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="Een schermbeeld van de op krachten gebaseerde indelingstab van het hulpmiddel voor de indeling van grafen in Rocs"></div></div><p>Nog een parameter die kan worden bestuurd is de Oppervlaktefactor. Deze parameter regelt de afstanden tussen de knopen. Hoge waarden van deze factor leiden tot grotere afstanden tussen de knopen. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="idm383"></a>Radiële boom</h4></div></div></div><p>De radiële boomindeling kan alleen op bomen worden toegepast. Elke poging die op andere soorten grafen toe te passen geeft een foutmelding. In de aanwezige gebruikersinterface kunnen de parameters worden gekozen voor de radiële boomindeling. </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="Een schermbeeld van de indelingstab voor de radiële boomindeling van het hulpmiddel voor de indeling van grafen in Rocs"></div></div><p>Met de parameter voor boomtype kiest u tussen een vrije boomindeling en een indeling met een wortel. In een losse indeling worden de knopen willekeurig geplaatst zonder een kenbare hiërarchie. In een boom met een wortel wordt de wortel bovenaan geplaatst, en subbomen worden er onder geplaatst, zodat er een hiërarchie ontstaat tussen de knopen. </p><p>De parameter voor centrum/wortel bepaalt de knoop die als wortel wordt gebruikt in de indeling als boom of als centrum in de vrije indeling. Het centrum van de vrije indeling is de eerste knoop die door het algoritme wordt geplaatst. Alle andere knopen komen op cirkels rondom de middelste knoop te liggen. Een centrum/wortel kan automatisch worden gekozen door het algoritme voor de indeling. </p><p>De parameter voor de afstand tussen de knopen regelt de afstand tussen de knopen. Een grotere waarde maakt die afstand groter. Omgekeerd maakt een kleinere waarde die afstand kleiner. </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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Volgende</a></td></tr><tr><td class="prevCell">Import en export </td><td class="upCell"> </td><td class="nextCell"> Dankbetuiging en licentie</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Hoofdstuk 6. Dankbetuiging en licentie</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, wiskunde, wiskunde, grafen, knoop, kant, Rocs"><link rel="home" href="index.html" title="Het handboek van Rocs"><link rel="up" href="index.html" title="Het handboek van Rocs"><link rel="prev" href="graph-layout.html" title="Hoofdstuk 5. Graafindeling"><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"> Dankbetuiging en licentie</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="graph-layout.html">Terug</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>Hoofdstuk 6. Dankbetuiging en licentie</h1></div></div></div><p><span class="application">Rocs</span> </p><p>Programma Copyright:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copyright 2008 Ugo Sangiori (ugorox AT gmail.com)</p></li><li class="listitem"><p>Copyright 2008-2012 Tomaz Canabrava (tcanabrava AT kde.org)</p></li><li class="listitem"><p>Copyright 2008-2012 Wagner Reck (wagner.reck AT gmail.com)</p></li><li class="listitem"><p>Copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Documentatie Copyright:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Documentatie 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>Documentatie copyright 2009 Tomaz Canabrava (tcanabrava AT kde.org)</p></li><li class="listitem"><p>Documentation copyright 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Op- of aanmerkingen over de vertalingen van de toepassing en haar documentatie kunt u melden op <a class="ulink" href="http://www.kde.nl/bugs" target="_top">http://www.kde.nl/bugs</a>.</p><p>Dit document is vertaald in het Nederlands door <span class="othercredit"><span class="firstname">Freek</span> <span class="surname">de Kruijf</span></span>.</p><p>Dit document is vertaald in het Nederlands door <span class="othercredit"><span class="firstname">Jaap</span> <span class="surname">Woldringh</span></span>.</p><p><a name="gnu-fdl"></a>Deze documentatie valt onder de
bepalingen van de <a class="ulink" href="help:/kdoctools5-common/fdl-translated.html" target="_top">GNU
vrije-documentatie-licentie</a>.</p><p>Deze toepassing valt onder de bepalingen van de <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">Terug</a></td><td class="upCell"><a accesskey="h" href="index.html">Begin</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Graafindeling </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</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">Volgende</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Inleiding</td></tr></table></div><div id="footer_text">Wilt u een opmerking maken of een bijdragen leveren aan deze pagina?<br>Stuur uw bericht aan het <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Documentatieteam</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Fri May 24 01:24:44 CEST 2024.