Ricorsione e triangoli

import pygame TITOLO=”Immagine ricorsiva: triangolo” DIM =800 SPAZIO=50 red =255 green =255 blue =127 def triangolo(x1,y1, x2,y2, x3,y3): pygame.draw.aaline(screen, (red,green,blue), (x1,y1), (x2,y2)) pygame.draw.aaline(screen, (red,green,blue), (x1,y1), (x3,y3)) pygame.draw.aaline(screen, (red,green,blue), (x2,y2), (x3,y3)) if(abs(x1-x2) > 2): triangolo((x1+x2)/2, (y1+y2)/2, (x1+x3)/2, (y1+y3)/2, (x2+x3)/2, (y2+y3)/2) pygame.init() screen=pygame.display.set_mode((DIM, DIM)) pygame.display.set_caption(TITOLO) triangolo(DIM/2 , SPAZIO , SPAZIO , DIM-SPAZIO, DIM-SPAZIO, DIM-SPAZIO) pygame.display.flip() input(“Premi INVIO … Leggi tutto

Salto a metà, punti in cerchio

import math # cos(), sin() import random # randint() import pygame NUMERO=3 DIM =800 RAGGIO=0.45*DIM raggio=1 # Punto colorato FRAME1=2 # Numero frame al secondo FRAME2=500 # Numero punti per ogni frame PUNTI=[] angolo=math.pi/2 dAngolo=2*math.pi/NUMERO XC=DIM/2 YC=DIM/2 for i in range(NUMERO): x=XC+RAGGIO*math.cos(angolo) y=YC-RAGGIO*math.sin(angolo) PUNTI.append((x,y)) angolo +=dAngolo pygame.init() screen=pygame.display.set_mode((DIM, DIM)) pygame.display.set_caption(“Chaos Game: tappeto rotondo 1/2: ” … Leggi tutto

Salto a due terzi, scelta guidata, punti in cerchio

+0 +3 +4 +5 import math import random # randint() import pygame SCELTA=(+0,+3,+4,+5) NUMERO=8 DIM =800 RAGGIO=0.45*DIM raggio=1 # Punto colorato FRAME1=2 # Numero frame al secondo FRAME2=500 # Numero punti per ogni frame PUNTI=[] angolo=math.pi/2 dAngolo=2*math.pi/NUMERO XC=DIM/2 YC=DIM/2 for i in range(NUMERO): x=XC+RAGGIO*math.cos(angolo) y=YC-RAGGIO*math.sin(angolo) PUNTI.append((x,y)) angolo +=dAngolo pygame.init() screen=pygame.display.set_mode((DIM, DIM)) pygame.display.set_caption(“Chaos Game: tappeto rotondo … Leggi tutto

Salto a metà, scelta guidata, punti in cerchio

Chaos Game posiziona i punti in senso orario intorno a un cerchio il prossimo punto colorato è a metà tra quello attuale e uno scelto a caso la scelta è guidata in un certo sottoinsieme dei punti import math import random # randint() import pygame SCELTA=(+0,+1,+3) NUMERO=4 DIM =800 RAGGIO=0.45*DIM raggio=1 # Punto colorato FRAME1=2 … Leggi tutto

Ricorsione e cerchi – 1

I cerchi successivi si sviluppano verso l’interno import pygame TITOLO =”Immagine ricorsiva: cerchi 1″ DIM =800 raggio =0.4*DIM FATTORE=0.8 XC =DIM/2 YC =DIM/2 red =255 green =255 blue =127 def cerchio(r,g,b, x,y, ra): pygame.draw.circle(screen, (r,g,b), (x,y), ra) if(ra > 2): r2 =0.8*r # più scuro g2 =0.8*g b2 =0.8*b ra2=FATTORE*ra # più piccolo cerchio(r2,g2,b2, x,y, … Leggi tutto

Ricorsione e cerchi – 2

I cerchi successivi si sviluppano verso l’esterno finché il raggio non diventa troppo piccolo import pygame TITOLO =”Immagine ricorsiva: cerchi 1″ DIM =800 raggio =0.2*DIM # Primo raggio FATTORE=0.5 # Fattore di riduzione XC =DIM/2 # Posizione iniziale YC =DIM/2 red =255 # Colore iniziale green =255 blue =127 def cerchio(r,g,b, x,y, ra): pygame.draw.circle(screen, (r,g,b), … Leggi tutto

Inviluppi di circonferenze

Osserva La figura base è la circonferenza Il percorso fissato per i centri è una circonferenza La funzione per il raggio produce la figura diversa Ciambella RAGGIO = 0.3*DIMraggio = RAGGIO/2 Cardioide RAGGIO = 0.15*DIM raggio = distanza dalla cuspide Lumaca di Pascal RAGGIO = 0.2*DIMraggio = metà della distanza dalla cuspide Nefroide RAGGIO = … Leggi tutto