kopia lustrzana https://github.com/villares/sketch-a-day
				
				
				
			
		
			
	
	
		
			60 wiersze
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
		
		
			
		
	
	
			60 wiersze
		
	
	
		
			2.0 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_s(xo, yo, n, tam_total):
							 | 
						||
| 
								 | 
							
								    tam_celula = tam_total / n
							 | 
						||
| 
								 | 
							
								    desloc = (tam_celula - tam_total) / 2.
							 | 
						||
| 
								 | 
							
								    for i in range(n):
							 | 
						||
| 
								 | 
							
								        x = xo + desloc + tam_celula * i
							 | 
						||
| 
								 | 
							
								        for j in range(n):
							 | 
						||
| 
								 | 
							
								            y =  yo + desloc + tam_celula * j
							 | 
						||
| 
								 | 
							
								            rectMode(CENTER)
							 | 
						||
| 
								 | 
							
								            square(x, y, tam_celula * .6)
							 |