
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "auto_examples\gallery_introduksjon.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        Click :ref:`here <sphx_glr_download_auto_examples_gallery_introduksjon.py>`
        to download the full example code

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_auto_examples_gallery_introduksjon.py:


Introduksjon til TurtleThread
=============================

Nå skal vi lage vårt første skilpaddebroderi.
Det første vi må gjøre er å importere TurtleThread (pass på at det er `installert <../installation.html>`_).

.. GENERATED FROM PYTHON SOURCE LINES 8-12

.. code-block:: default



    import turtlethread


.. GENERATED FROM PYTHON SOURCE LINES 13-14

Så oppretter vi et skilpaddeobjekt som vi skal bruke for å tegne med

.. GENERATED FROM PYTHON SOURCE LINES 14-17

.. code-block:: default


    penn = turtlethread.Turtle()


.. GENERATED FROM PYTHON SOURCE LINES 18-20

Nå har vi alt vi trenger for å begynne å lage mønster. La oss begynne med en strek.
For å tegne en strek bruker vi ``forward`` og bestemmer hvor langt vi vil gå (f.eks 300 steg). 

.. GENERATED FROM PYTHON SOURCE LINES 20-24

.. code-block:: default


    penn = turtlethread.Turtle()
    penn.forward(300)


.. GENERATED FROM PYTHON SOURCE LINES 25-29

Denne koden flytter skilpadden 300 steg, men den lager ingen søm. 
For at skilpadden skal sy mens den flytter seg må vi bruke forward kommandoen inne i en søm-blokk.
Den enkleste søm-blokken er en som heter ``running_stitch``. I en running stitch-block så broderer vi
en rett strek med et fast mellomrom mellom hvert sting.

.. GENERATED FROM PYTHON SOURCE LINES 29-34

.. code-block:: default


    penn = turtlethread.Turtle()
    with penn.running_stitch(30):
        penn.forward(300)


.. GENERATED FROM PYTHON SOURCE LINES 35-39

Her har vi lagd kode som flytter skilpadda 300 steg fremover, med en running stitch søm, hvor vi
setter et sting for hvert trettiende steg. Dette tilsvarer at vi setter ca et sting per tredje millimeter.
La oss se på hvordan dette ser ut. For å gjøre det kan vi bruke ``visualise``-funksjonen, som bruker
det innebygde ``turtle``-biblioteket for å tegne broderiet vårt.

.. GENERATED FROM PYTHON SOURCE LINES 39-45

.. code-block:: default


    penn = turtlethread.Turtle()
    with penn.running_stitch(30):
        penn.forward(300)
    penn.visualise()


.. GENERATED FROM PYTHON SOURCE LINES 46-47

.. image:: ../figures/introduction_1.png

.. GENERATED FROM PYTHON SOURCE LINES 49-51

Nå har vi en søm som gir en rett strek fremover.
For å skifte retning kan vi bruke ``right`` og sende inn antall grader vi vil rotere (f.eks 90 grader). 

.. GENERATED FROM PYTHON SOURCE LINES 51-60

.. code-block:: default


    penn = turtlethread.Turtle()
    with penn.running_stitch(30):
        penn.forward(300)
        penn.right(90)
        penn.forward(300)

    penn.visualise()


.. GENERATED FROM PYTHON SOURCE LINES 61-62

.. image:: ../figures/introduction_2.png

.. GENERATED FROM PYTHON SOURCE LINES 66-67

Med en for løkke kan vi gjenta dette fire ganger for å få en firkant:

.. GENERATED FROM PYTHON SOURCE LINES 67-76

.. code-block:: default


    penn = turtlethread.Turtle()
    with penn.running_stitch(30):
        for side in range(4):
            penn.forward(300)
            penn.right(90)

    penn.visualise()


.. GENERATED FROM PYTHON SOURCE LINES 77-78

.. image:: ../figures/introduction_3.png

.. GENERATED FROM PYTHON SOURCE LINES 80-81

Hvis vi bruker en ny løkke og tegner firkanten åtte ganger, så får vi en fin blomst:

.. GENERATED FROM PYTHON SOURCE LINES 81-92

.. code-block:: default


    penn = turtlethread.Turtle()
    with penn.running_stitch(30):
        for kronblad in range(8):
            for side in range(4):
                penn.forward(300)
                penn.right(90)
            penn.right(45)

    penn.visualise()


.. GENERATED FROM PYTHON SOURCE LINES 93-94

.. image:: ../figures/introduction_4.png

.. GENERATED FROM PYTHON SOURCE LINES 94-111

.. code-block:: default


    # # %%
    # Det kan ofte være lurt å finne de variable størrelsene i programmet, og la de være Python-variabler.
    # En variabel størrelse i programmet vi akkurat lagde er hvor mange kronblader, så la oss lage en
    # Python-variabel hvor vi lagrer antallet kronblader


    penn = turtlethread.Turtle()
    antall_kronblader = 8

    with penn.running_stitch(30):
        for kronblad in range(antall_kronblader):
            for side in range(4):
                penn.forward(300)
                penn.right(90)
            penn.right(360 / antall_kronblader)


.. GENERATED FROM PYTHON SOURCE LINES 112-113

Prøv å modifisere koden for forskjellige verdier av antall_firkanter og se hva du får

.. GENERATED FROM PYTHON SOURCE LINES 115-116

Nå som vi har et fint motiv kan vi for eksempel lagre det som PNG eller SVG bilder

.. GENERATED FROM PYTHON SOURCE LINES 116-131

.. code-block:: default


    penn = turtlethread.Turtle()
    antall_kronblader = 8

    with penn.running_stitch(30):
        for kronblad in range(antall_kronblader):
            for side in range(4):
                penn.forward(300)
                penn.right(90)
            penn.right(360 / antall_kronblader)

    penn.save("firkantblomst.png")
    penn.save("firkantblomst.svg")



.. GENERATED FROM PYTHON SOURCE LINES 132-133

Eller vi kan lagre DST-fil for å bruke det med en broderimasking

.. GENERATED FROM PYTHON SOURCE LINES 133-146

.. code-block:: default


    penn = turtlethread.Turtle()
    antall_kronblader = 8

    with penn.running_stitch(30):
        for kronblad in range(antall_kronblader):
            for side in range(4):
                penn.forward(300)
                penn.right(90)
            penn.right(360 / antall_kronblader)

    penn.save("firkantblomst.dst")


.. GENERATED FROM PYTHON SOURCE LINES 147-147

.. image:: ../figures/firkantblomst_sydd.png


.. rst-class:: sphx-glr-timing

   **Total running time of the script:** ( 0 minutes  0.000 seconds)


.. _sphx_glr_download_auto_examples_gallery_introduksjon.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download sphx-glr-download-python

     :download:`Download Python source code: gallery_introduksjon.py <gallery_introduksjon.py>`



  .. container:: sphx-glr-download sphx-glr-download-jupyter

     :download:`Download Jupyter notebook: gallery_introduksjon.ipynb <gallery_introduksjon.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
