sábado, 14 de febrero de 2015

Girasol áurea

(es) Girasol áurea

(eo) Ora sunfloro

Girasol áurea

http://dx.doi.org/10.13140/RG.2.2.34092.90243

Descripción artística:

El centro de una flor de girasol pero con los colores del arcoiris.

Motivación:

Una flor de girasol.

Descripción técnica:

Es una espiral polar paramétrica de la forma ( r(t), θ (t) ) , con θ = 2 π φ 2 t , y r=2 t , con 1t2000 y t N . Para cada t se dibujó un círculo de un color del arcoiris.
Esta espiral, dependiente tanto de π como de φ (la proporción áurea), permite que los objetos se acumulen más cerca entre sí y con menos desperdicio de espacio.

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 girasol.cfdg girasol.png

CF::Size = [s 183 183]

startshape espiral

NUMSEGMENTOS = 2000 #Número de segmentos para formar la curva
TAM = 2
phi = (1+sqrt(5))/2
pi = 3.14159

shape espiral {
 loop i = NUMSEGMENTOS []  {
  ang = 2*pi*(i+1)/(phi*phi) #+1 para evitar el punto rojo del centro
  rad = TAM*sqrt(i+1)
  ang_grad = 180*ang/pi
  xc = rad * cos(ang_grad)
  yc = rad * sin(ang_grad)
  CIRCLE[x xc y yc hue (ang_grad) b 1 sat 1 s 3]
 }
 loop j = (NUMSEGMENTOS*10/9) []{ # Si sólo son NUMSEGMENTOS quedan huecos en las esquinas
  i = j+NUMSEGMENTOS
  ang = 2*pi*(i)/(phi*phi)
  rad = TAM*sqrt(i)
  ang_grad = 180*ang/pi
  xc = rad * cos(ang_grad)
  yc = rad * sin(ang_grad)
  CIRCLE[x xc y yc hue (ang_grad) b 1 sat 0.3 s 3 ]
 }
}

No hay comentarios:

Publicar un comentario