kopia lustrzana https://github.com/villares/sketch-a-day
				
				
				
			
		
			
				
	
	
		
			63 wiersze
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			63 wiersze
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
# -*- encoding: utf-8 -*-
 | 
						|
 | 
						|
def casinha(x, y, tamanho):
 | 
						|
    """ Casinha na posição x, y com largura e altura 'tamanho' """
 | 
						|
    metade = tamanho / 2
 | 
						|
    pushMatrix()  # preserva o sistema de coordenadas atual
 | 
						|
    translate(x, y)  # translada a origem do sistema de coordenadas
 | 
						|
    beginShape()  # começa a desenhar a forma, inicia um polígono
 | 
						|
    vertex(0, -metade)
 | 
						|
    vertex(-metade, 0)
 | 
						|
    vertex(-metade, metade)
 | 
						|
    vertex(metade, metade)
 | 
						|
    vertex(metade, 0)
 | 
						|
    endShape(CLOSE)  # encerra a forma a fechando no primeiro vértice
 | 
						|
    popMatrix() # retorna o sistema de coordenadas anterior
 | 
						|
    
 | 
						|
def estrela(x_centro, y_centro, num_pontas, raio_a, raio_b):
 | 
						|
    """
 | 
						|
    Desenha uma estrela com np pontas
 | 
						|
    raio a e raio b são os raios internos e das pontas
 | 
						|
    """
 | 
						|
    n = num_pontas * 2 # dobro de pontos que as pontas
 | 
						|
    inc = radians(360. / n) # ângulo de eincremento entre os pontos
 | 
						|
    beginShape() # começa a desenhar a forma
 | 
						|
    ang = 0 # começando com o ângulo 0
 | 
						|
    while ang < TWO_PI:
 | 
						|
        x = x_centro + sin(ang) * raio_a
 | 
						|
        y = y_centro + cos(ang) * raio_a
 | 
						|
        vertex(x, y)
 | 
						|
        ang += inc
 | 
						|
        x = x_centro + sin(ang) * raio_b
 | 
						|
        y = y_centro + cos(ang) * raio_b
 | 
						|
        vertex(x, y)
 | 
						|
        ang += inc
 | 
						|
    endShape(CLOSE) # encerra uma forma fechada
 | 
						|
    
 | 
						|
    
 | 
						|
def olho(x, y, largura, cor=color(100)):
 | 
						|
    """ Olho na posição x, y com largura e cor """
 | 
						|
    pushStyle() # preserva os atributos gráficos atuais
 | 
						|
    noStroke()
 | 
						|
    fill(255)
 | 
						|
    ellipse(x, y, largura, largura * .45)
 | 
						|
    fill(cor)
 | 
						|
    circle(x, y, largura * .4)
 | 
						|
    fill(0)
 | 
						|
    circle(x, y, largura * .1)
 | 
						|
    popStyle() # retorna os atributos gráficos anteriores
 | 
						|
    
 | 
						|
    
 | 
						|
def grade(x_centro, y_centro, n, tam_total, rnd_circ=False):
 | 
						|
    tam = tam_total / n
 | 
						|
    desloc = (tam - tam_total) / 2.
 | 
						|
    for i in range(n):
 | 
						|
        x = x_centro + desloc + tam * i
 | 
						|
        for j in range(n):
 | 
						|
            y =  y_centro + desloc + tam * j
 | 
						|
            if rnd_circ:
 | 
						|
                # no Processing random(inicio, final_ni)
 | 
						|
                circle(x, y, random(tam * .1, tam * .9))
 | 
						|
            else: 
 | 
						|
                square(x, y, tam * .75)
 |