Tortoise: turtle graphics on the web
This repository is the proof of concept of an implementation, in Python, of turtle graphics based on web technologies. This is the main difference with the turtle module, which uses (t|T)kinter.
Cloning the repository (or retrieving the corresponding ZIP file) is sufficient to use this module. The main.py
file, with which above picture were generated, is an example of use of this library. Simply launch python main.py
from the root of the repository.
The module is also available on Pypi: https://pypi.org/project/tortoise/. Simply launch pip install tortoise
to install it.
Alternatively, you can also use Repl.it, so you have nothing to install on your computer. Follow this link, click on the green run
button, and then click on (or scan) the then displayed QR code.
This Python module is part of a larger project that aims to provide a way to write modern examples or exercises for programming tutorials.
The tortoise library currently provides following methods (coordinates and distances are relative to the viewbox of the SVG):
- constructor
(dom,id)
: returns a tortoise object which usesdom
as the DOM from the Atlas toolkit, and the SVG element of idid
, getAngle()
: returns the current angel, in degrees,up()
: puts the pen up,down()
: puts the pen down,setAutoDraw(value)
: the drawing is automatically rendered eachvalue
movements (0
will disable the auto draw); calldraw()
to render remaining movements,setPosition(x,y)
: the turtle jumps to positionx
andy
,forward(distance)
: the tortoise moves by the specifieddistance
,right(angle)
: the tortoise turns clockwise fromangle
degrees,left(angle)
: the tortoise turns counter clockwise fromangle
degrees,setColorRGB(r,g,b)
: sets the color of the pen following the RGB color model,setColorHSL(h,s,l)
: sets the color of the pen following the HSL color model, (h
: 0 - 360;s
,l
: 0 - 100%),draw()
: draws remaining movements,clear()
: erase the drawing area and also resets the internal settings (coordinates, angle, color…).