026 Python3 + Turtle: Disegnare poligoni ed archi di circonferenza colorati + inserire didascalie
026 Python3 + Turtle: Disegnare poligoni ed archi di circonferenza colorati + inserire didascalie
# # Per tracciare poligoni ed archi di circonferenza colorati, con Python 3 – Turtle occorre: # def ARCO(C0, S0): # a)Inizio definizione funzione ARCO() richiedente i parametri contenuti in 2 variabili-lista COL = [C0[0]*0.3, C0[1]*0.3, C0[2]*0.3] # b) Ricalcolare il valore del colore RGB (più scuro) MATITA01.color(COL) # c) Impostare il colore corrente dell'oggetto MATITA01 MATITA01.circle(S0[0], S0[1]) # d) Tracciare, con l’oggetto MATITA01, un'arco di circonferenza avente raggio ed ampiezza S0 MATITA02.hideturtle() # e) Il puntatore di direzione (tartaruga) dell'oggetto MATITA02 diventa invisibile COL2= [1-COL[0], 1-COL[1], 1-COL[2]] # f) Ricalcolare il valore del colore RGB (più scuro) MATITA02.color(COL2) # g) Impostare il colore corrente dell'oggetto MATITA01 MATITA02.forward(S0[0]/3) # h) Tracciare, con l’oggetto MATITA02, una linea lunga un terzo del raggio dell'arco di circonferenza COL = [C0[0]*0.7, C0[1]*0.7, C0[2]*0.7] # i) Ricalcolare il valore del colore RGB (scuro) MATITA01.color(COL) # j) Impostare il colore corrente dell'oggetto MATITA01 MATITA01.circle(S0[0], S0[1]) # k) Tracciare, con l’oggetto MATITA01, un'arco di circonferenza avente raggio ed ampiezza S0 COL2= [1-COL[0], 1-COL[1], 1-COL[2]] # l) Ricalcolare il valore del colore RGB (più scuro) MATITA02.color(COL2) # m) Impostare il colore corrente dell'oggetto MATITA01 MATITA02.forward(S0[0]/3) # n) Tracciare, con l’oggetto MATITA02, una linea lunga un terzo del raggio dell'arco di circonferenza MATITA01.color(C0) # o) Impostare il colore corrente dell'oggetto MATITA01 MATITA01.circle(S0[0], S0[1]) # p) Tracciare, con l’oggetto MATITA01, un'arco di circonferenza avente raggio ed ampiezza S0 MATITA02.showturtle() # q) Il puntatore di direzione (tartaruga) dell'oggetto MATITA02 diventa visibile COL2= [1-COL[0], 1-COL[1], 1-COL[2]] # r) Ricalcolare il valore del colore RGB (più scuro) MATITA02.color(1-C0[0], 1-C0[1], 1-C0[2]) # s) Impostare il colore corrente dell'oggetto MATITA01 MATITA02.forward(S0[0]/3) # t) Tracciare, con l’oggetto MATITA02, una linea lunga un terzo del raggio dell'arco di circonferenza import turtle # A) Importare il modulo turtle TELA01 = turtle.Screen() # B) Creare il piano cartesiano TELA01 su cui disegnare MATITA01 = turtle.Turtle() # C) Creare l’oggetto MATITA01 con cui disegnare MATITA01.speed(1) # D) Impostare velocità di esecuzione per MATITA01 MATITA01.pensize(4) # E) Definire lo spessore della linea MATITA01 MATITA02 = turtle.Turtle() # F) Creare l’oggetto MATITA02 con cui disegnare MATITA02.speed(2) # G) Impostare velocità di esecuzione per MATITA02 MATITA02.pensize(4) # H) Definire lo spessore della linea MATITA02 MATITA01.color(0,0,0) # I) Imposta il colore dell'oggetto MATITA01 MATITA01.goto(0, -99) # J) Tracciare, con l’oggetto MATITA01, una linea di cui sono fornite le coordinate del punto finale MATITA02.penup() # K) Impedire all’oggetto MATITA01 di scrivere MATITA02.goto(0, -99) # L) Posizionare l’oggetto MATITA01 nel punto di inizio della prossima linea MATITA02.pendown() # M) Consentire all’oggetto MATITA01 di scrivere SETTORE = [99, 20] # N) Definire variabile-Lista contenente raggio ed ampiezza del settore del cerchio COLORE = [1, 1, 1] # O) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(30) # P) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # Q) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE COLORE = [1, 0, 0] # R) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(60) # S) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # T) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE # MATITA01.clear() # U) Cancella lo schermo. COLORE = [0, 1, 0] # R) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(60) # S) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # T) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE COLORE = [0, 0, 1] # R) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(60) # S) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # T) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE COLORE = [0, 1, 1] # R) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(60) # S) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # T) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE # MATITA01.reset() # V) Pulisce lo schermo, riporta la penna al centro e setta le variabili con i valori predefiniti. COLORE = [1, 0, 1] # R) Definire variabile-Lista contenente colore chiaro in formato Red,Green,Blue MATITA02.left(60) # S) Orientare MATITA01 girata a sinistra di 135 gradi rispetto alli opzione corrente ARCO(COLORE, SETTORE) # T) Chiama la funzione ARCO() previo trasferimento del contenuto delle variabili-lista COLORE e SETTORE MATITA01.write("Prima prova di scrittura") # U) Scrive un messaggio testuale MATITA01.circle(50) # V) Tracciare, con l’oggetto MATITA01, una circonferenza avente raggio 50 MATITA01.left(60) # W) Orientare MATITA01 girata a sinistra di 60 gradi rispetto alle opzioni di default MATITA01.color(0.3, 0.3, 0) # X) Imposta il colore MATITA01.forward(50) # Y) Tracciare, con l’oggetto MATITA01, una linea di 50 punti MATITA01.write("Seconda prova di scrittura",1) # U) Scrive un messaggio testuale MATITA01.color(0.7, 0.7, 0) # X) Imposta il colore MATITA01.forward(50) # Y) Tracciare, con l’oggetto MATITA01, una linea di 50 punti MATITA01.write("Terza prova di scrittura") # U) Scrive un messaggio testuale MATITA01.color(1,1,0) # X) Imposta il colore MATITA01.forward(50) # Y) Tracciare, con l’oggetto MATITA01, una linea di 50 punti MATITA01.hideturtle() # Z) il puntatore di direzione (tartaruga) dell'oggetto MATITA01 diventa invisibile # # Se il listato terminasse con questa riga, la finestra TELA01 verrebbe chiusa. TELA01.mainloop() # Attendere che l'utente chiuda la finestra TELA01 # TELA01.exitonclick() # Chiudere TELA01 cliccando su di esso. # ^^ Togliere il graticcio che precede l’istruzione che si vuole utilizzare per terminare il programma #