INTRODUCCIÓN
En esta ocasión vamos a aprender a trabajar con imágenes o gráficos gracias al módulo llamado TURTLE. Este módulo permite dibujar formas y líneas.
En primer lugar deberemos importar el módulo TURTLE y su conjunto de comandos (a modo de librería) con la función:
import turtle
Después es importante escribir la siguiente función para que cada una de las instrucciones del módulo TURTLE no tengamos que escribir la palabra turtle.lafunciónquesea() Sería esta:
t = turtle.Turtle()
PERSONALIZACIÓN
Algunas instrucciones interesantes para que podamos personalizar nuestros diseños serían estas:
- Color de la línea. Lo configuramos con la siguiente instrucción:
t.color(‘blue’)
Algunos colores serían estos: ‘red’, ‘green’, ‘yellow’, ‘blue’, ‘aquamarine’, ‘cyan’, ‘plum’, ‘dark orchid’, ‘LimeGreen’, ‘goldenrod’, ‘lemon chiffon’, ‘HotPink’, ‘DarkKhaki’, ‘DarkOrange’
- También podemos configurar el icono del puntero y darle diferentes formas con la función, así como esconderlo:
t.shape(«turtle»)
Otras formas de puntero: ‘arrow’, ‘circle’, ‘square’, ‘triangle’, ‘classic’
t.hideturtle()
- Así mismo podemos configurar la velocidad del trazo con la función
t.speed(5)
- También podemos configurar el ancho del trazo:
t.pensize(4)
- Por último podemos cambiar el color de fondo. Primero deberemos programarlo con la siguiente instrucción:
canvas = turtle.Screen()
Y luego con la instrucción con el color que queramos:
canvas.bgcolor («purple»)
MOVIENDO EL PUNTERO
Para desplazar el puntero usaremos las siguientes funciones:
- Para avanzar usaremos la siguiente función, teniendo en cuenta que las unidades son pixeles:
t.forward(50)
también, claro:
t.backward(120)
- Para girar, como os podréis haber imaginado… y con unidades en grados sexagesimales.
t.left(90)
t.right(120)
DESPLAZÁNDOSE POR EL LIENZO
Es muy interesante las funciones que nos permiten levantar el puntero del lienzo para desplazarnos a otra parte y continuar dibujando. Aunque el lienzo es infinito es preferible trabajar dentro de las coordenadas del cuadrante visible, el cual tiene unas dimensiones de 600 x 600 pxls. aproximadamente. Siendo el eje de coordenadas el centro del cuadrado con la coordenada (0,0) lógicamente.
Funciones relevantes:
t.penup()
t.goto(-300, -300)
t.pendown()
Como seguramente has podido imaginar la función t.goto() sirve para desplazar el puntero. En caso de que no levantemos el puntero y lo desplacemos a unas nuevas coordenadas estaremos trazando una línea recta. Esta es otra manera muy útil de dibujar sobre nuestro lienzo.
ESCRIBIR COMENTARIOS DENTRO DEL CÓDIGO
Existen dos maneras para escribir comentarios dentro del código a modo de aclaraciones o anotaciones para documentar o explicar el código. La primera forma es añadiendo 3 comillas antes y después del comentario:
''' En este código aprendemos a usar la estructura de control For. Es imporante tener en cuenta el rango de repetición. Por ejemplo, con:
For i in range (5):
Se repetirán las instrucciones contenidas dentro de la estructura 5 veces.
'''
La otra manera es añadiendo # almohadilla antes de cada línea de comentario:
# Dibujamos el patrón del brazo pequeño del COPO DE NIEVE

OBJETIVO DE LA PRÁCTICA
El ejercicio consiste en dibujar un cuadrado, un hexágono, un triángulo y un octógono distribuidos por el lienzo sin solaparse y de las medidas que consideres oportunas utilizando estructuras de control for para ahorrar instrucciones. Se valorará el cambio de color en cada trazo usando listas. Para ello fíjate bien en la prácticas realizadas anteriormente y configúrate una lista con los colores que quieres ir usando. Ejemplo:
import turtle
t = turtle.Turtle()
canvas = turtle.Screen()
canvas.bgcolor ('purple')
t.pensize(10)
t.shape("turtle")
t.color("HotPink")
t.penup()
t.goto(-200,0)
t.pendown()
t.speed(50)
for i in range(4):
t.forward(100)
t.left(90)
t.penup()
t.goto(-50, 100)
t.pendown()
for c in ['red', 'green', 'yellow', 'blue', 'lemon chiffon', 'DarkOrange']:
t.color(c)
t.forward(50)
t.right(60)
t.penup()
t.goto(100, 100)
t.pendown()
t.right(60)
for i in range(3):
t.forward (100)
t.right(120)
t.penup()
t.goto(220, 100)
t.pendown()
t.left(60)
for c in ['red', 'green', 'yellow', 'blue', 'lemon chiffon', 'DarkOrange', 'black', 'cyan']:
t.color(c)
t.forward(50)
t.right(45)
t.color ('black')
