(es) La piscina de los topólogos
(eo) Naĝejo por topologiistoj
http://dx.doi.org/10.13140/RG.2.2.34092.90243
Descripción artística:
Una curva espiral que tiende a la circunferencia.
Motivación:
Los recuerdos de un curso de topología general.
Descripción técnica:
Es la curva polar definida por , con . Nótese que , por lo que la curva se acerca infinitesimalmente a la circunferencia unitaria, pero nunca la alcanza.
Formalmente hablando, la piscina del topólogo es el conjunto , donde es el conjunto de todos los puntos de la espiral descrita y es el conjunto de la circunferencia unitaria. Este conjunto es un ejemplo de un espacio topológico que es conexo pero que no es conexo por caminos.
Archivos
Archivos
Código (CFDG):
# Copyright 2015 Eduardo Adam Navas López
# Este archivo es Software Libre liberado bajo la licencia GNU GPLv3 o su versión más reciente:
# http://www.gnu.org/licenses/gpl.html
#Para generar la imagen:
#$ cfdg -s 8000 -b 1 piscina.cfdg piscina.png
CF::Size = [s 2 2]
startshape piscina
NUMREVOLUCIONES = 20.0
PI = 3.14159
VUELTA = 2*PI #360.0
LIMITE = VUELTA*NUMREVOLUCIONES #Límite de ángulo
NUMSEG = 10000 #Número de segmentos para formar la curva
gMin = 0.0001 #Grueso mínimo de la línea
gMax = 0.01 #Grueso máximo de la línea
#Color elegido
#rgb:(35,119,184)
#h:206,s:81,b:72
COLOR = 206
SATURACION = 0.81
bMax = 0.72 #Brillo máximo
path piscina {
exponente = log(gMax/gMin)/(NUMSEG-1)
MOVETO(LIMITE/(LIMITE+1), 0.0)
loop i = NUMSEG [] {
theta = LIMITE*(1-i/(NUMSEG-1))
brillo = i*bMax/(NUMSEG-1)
#grueso = i*(gMax-gMin)/(NUMSEG-1) + gMin
grueso = gMin*exp(exponente*i)
radio = theta / (theta+1)
thetagrad = 180*theta/PI
LINETO(radio * cos(thetagrad), radio*sin(thetagrad))
STROKE(grueso, CF::RoundJoin+CF::RoundCap)[h COLOR sat SATURACION b brillo]
}
}
#De referencia:
path circunferencia {
##Círculo unitario
MOVETO(1,0)
loop i = 360 []{
LINETO(cos(i+1),sin(i+1))
}
STROKE(gMin)[]
}
No hay comentarios:
Publicar un comentario