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 per continuare...")
pygame.quit()
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,y1, (x1+x2)/2,(y1+y2)/2, (x1+x3)/2,(y1+y3)/2)
        triangolo(x2,y2, (x2+x3)/2,(y2+y3)/2, (x1+x2)/2,(y1+y2)/2)
        triangolo(x3,y3, (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 per continuare...")
pygame.quit()
import pygame

TITOLO="Immagine ricorsiva: triangolo"
DIM   =800
SPAZIO=50
red   =255
green =255
blue  =127

def triangolo(r,g,b, x1,y1, x2,y2, x3,y3):
    pygame.draw.polygon(screen, (r,g,b), ((x1,y1), (x2,y2), (x3,y3)))
    pygame.draw.aaline (screen, (r,g,b),  (x1,y1), (x2,y2))
    pygame.draw.aaline (screen, (r,g,b),  (x1,y1), (x3,y3))
    pygame.draw.aaline (screen, (r,g,b),  (x2,y2), (x3,y3))
    if(abs(x1-x2) > 2):        
        r2 =.85*r
        g2 =.85*g
        b2 =.85*b
        triangolo(r2,g2,b2, (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(red,green,blue, DIM/2     ,SPAZIO    ,
                          SPAZIO    ,DIM-SPAZIO,
                          DIM-SPAZIO,DIM-SPAZIO)
pygame.display.flip()

input("Premi INVIO per continuare...")
pygame.quit()
import pygame

TITOLO="Immagine ricorsiva: triangoli"
DIM   =800
SPAZIO=50
red   =255
green =255
blue  =127

def triangolo(r,g,b, x1,y1, x2,y2, x3,y3):
    pygame.draw.polygon(screen, (r,g,b), ((x1,y1), (x2,y2), (x3,y3)))
    pygame.draw.aaline (screen, (r,g,b), (x1,y1), (x2,y2))
    pygame.draw.aaline (screen, (r,g,b), (x1,y1), (x3,y3))
    pygame.draw.aaline (screen, (r,g,b), (x2,y2), (x3,y3))
    if(abs(x1-x2) > 2):        
        r2=.85*r
        g2=.85*g
        b2=.85*b
        triangolo(r2,g2,b2, x1,y1, (x1+x2)/2,(y1+y2)/2, (x1+x3)/2,(y1+y3)/2)
        triangolo(r2,g2,b2, x2,y2, (x2+x3)/2,(y2+y3)/2, (x1+x2)/2,(y1+y2)/2)
        triangolo(r2,g2,b2, x3,y3, (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(red,green,blue, DIM/2,SPAZIO, SPAZIO,DIM-SPAZIO, DIM-SPAZIO,DIM-SPAZIO)
pygame.display.flip()

input("Premi INVIO per continuare...")
pygame.quit()

Lascia un commento