(es) Solamente pi
(eo) Nur pi
http://dx.doi.org/10.13140/RG.2.2.34092.90243
Descripción artística:
Dibujo de muchos decimales de con una circunferencia, un diámetro y un radián.
Motivación:
La maravilla de y su omniprescencia en la naturaleza.
Descripción técnica:
En el fondo una circunferencia de longitud y un diámetro de longitud que proveen la definición de .
Luego está sombreado un segmento circular de un radián de amplitud. Un radián es la medida del ángulo central en una circunferencia que abarca un arco cuya longitud es igual a la del radio.
Código (Python):
#!/usr/bin/env python # coding: utf-8 # Copyright 2015 Eduardo Adam Navas López # Este programa es Software Libre liberado bajo la licencia GNU GPLv3 o su versión más reciente: # http://www.gnu.org/licenses/gpl.html import pygame import pygame.gfxdraw import math import escala prueba = True prueba = False #Descomentar para generar versión grande FUENTE = 'droid sans mono' if prueba: TAM = 1000 else: TAM = 8000 RADIO_CIRCULO = (TAM/2) * 9 / 10 GRUESO_CIRCUNFERENCIA = TAM * 1 / 100 COLOR_FONDO = (255,255,255) COLOR_TEXTO = pygame.Color(0x90, 0x90, 0x90) COLOR_CIRCUNFERENCIA = pygame.Color(0xe7,0xa8,0xa8) COLOR_DIAMETRO = pygame.Color(0xa9,0xa9,0xe8) COLOR_RADIAN = pygame.Color(0xa9,0xe8,0xa9) ANCHO = TAM ALTO = TAM def dibujarCircunferencia(xc, yc, re, ri, color): """Dibuja una circunferencia con centro (xc,yc) y radio exterior re e interior ri. """ global imagen if re <= ri: return #No funcionaría el algoritmo def marcarPixel(x,y): imagen.set_at(( x+xc, y+yc), color) imagen.set_at(( x+xc,-y+yc), color) imagen.set_at((-x+xc, y+yc), color) imagen.set_at((-x+xc,-y+yc), color) imagen.set_at(( y+xc, x+yc), color) imagen.set_at(( y+xc,-x+yc), color) imagen.set_at((-y+xc, x+yc), color) imagen.set_at((-y+xc,-x+yc), color) def marcarLineaH(xi,xf,y): i = xi while i<=xf: marcarPixel(i,y) i = i+1 limites = {} x = 0 y = re d = 1-re while y>x: if d<0: data-blogger-escaped-d="1-ri" data-blogger-escaped-else:="" data-blogger-escaped-if="" data-blogger-escaped-limites.has_key="" data-blogger-escaped-limites="" data-blogger-escaped-none="" data-blogger-escaped-one="" data-blogger-escaped-while="" data-blogger-escaped-x-y="" data-blogger-escaped-x="" data-blogger-escaped-y="">x: if d<0: data-blogger-escaped--="" data-blogger-escaped-2="" data-blogger-escaped-altotexto="m[0][3]" data-blogger-escaped-anchotexto="" data-blogger-escaped-archivo:="" data-blogger-escaped-archivo="open(" data-blogger-escaped-aritm="" data-blogger-escaped-c="" data-blogger-escaped-cada_y="" data-blogger-escaped-color_circunferencia="" data-blogger-escaped-color_diametro="" data-blogger-escaped-color_radian="" data-blogger-escaped-color_texto="" data-blogger-escaped-con="" data-blogger-escaped-d="" data-blogger-escaped-de="" data-blogger-escaped-def="" data-blogger-escaped-dibuja="" data-blogger-escaped-dibujar="" data-blogger-escaped-dibujarcircunferencia="" data-blogger-escaped-dibujarsegmento="" data-blogger-escaped-digito="" data-blogger-escaped-egmento="" data-blogger-escaped-elif="" data-blogger-escaped-else:="" data-blogger-escaped-enerar="" data-blogger-escaped-exterior="" data-blogger-escaped-exto="" data-blogger-escaped-f.render="" data-blogger-escaped-f="pygame.font.SysFont(FUENTE," data-blogger-escaped-flotante.="" data-blogger-escaped-for="" data-blogger-escaped-forma="" data-blogger-escaped-genes="" data-blogger-escaped-gitos="" data-blogger-escaped-global="" data-blogger-escaped-grueso_circunferencia="" data-blogger-escaped-i="" data-blogger-escaped-if="" data-blogger-escaped-im="" data-blogger-escaped-imagen.blit="" data-blogger-escaped-imagen.fill="" data-blogger-escaped-imagen="" data-blogger-escaped-img="" data-blogger-escaped-in="" data-blogger-escaped-ineficiente="" data-blogger-escaped-inicio="" data-blogger-escaped-int="" data-blogger-escaped-is="" data-blogger-escaped-las="" data-blogger-escaped-letra="" data-blogger-escaped-limites.has_key="" data-blogger-escaped-limites.iteritems="" data-blogger-escaped-limites="" data-blogger-escaped-linea.strip="" data-blogger-escaped-linea="" data-blogger-escaped-los="" data-blogger-escaped-m="f.metrics(" data-blogger-escaped-marcarlineah="" data-blogger-escaped-math.sin="" data-blogger-escaped-metro="" data-blogger-escaped-n.="" data-blogger-escaped-none:="" data-blogger-escaped-none="" data-blogger-escaped-oner="" data-blogger-escaped-oordenada="" data-blogger-escaped-pi.txt="" data-blogger-escaped-procedimiento="" data-blogger-escaped-pygame.draw.line="" data-blogger-escaped-pygame.gfxdraw.hline="" data-blogger-escaped-r="" data-blogger-escaped-radi="" data-blogger-escaped-radio_circulo="" data-blogger-escaped-range="" data-blogger-escaped-rculo="" data-blogger-escaped-salir="False" data-blogger-escaped-segmento="" data-blogger-escaped-ste="" data-blogger-escaped-str="" data-blogger-escaped-t2:="" data-blogger-escaped-t2="" data-blogger-escaped-tam="" data-blogger-escaped-tg="" data-blogger-escaped-tica="" data-blogger-escaped-true="" data-blogger-escaped-uente="" data-blogger-escaped-un="" data-blogger-escaped-una="" data-blogger-escaped-utiliza="" data-blogger-escaped-while="" data-blogger-escaped-x-y="" data-blogger-escaped-x1="" data-blogger-escaped-x2="" data-blogger-escaped-x="" data-blogger-escaped-xf="" data-blogger-escaped-xi="" data-blogger-escaped-y-t2="" data-blogger-escaped-y="" data-blogger-escaped-zip="">= TAM: y += altotexto x = anchotexto*2 if y+altotexto >= TAM: salir = True break if salir: break if __name__ == "__main__": global imagen pygame.init() imagen = pygame.Surface((ANCHO, ALTO)) dibujar() pygame.image.save(imagen, "pi1000.png" if prueba else "pi.png")
No hay comentarios:
Publicar un comentario