[R-es] Feliz Navidad (R code)
Marcuzzi, Javier Rubén
javier.ruben.marcuzzi en gmail.com
Sab Dic 15 03:08:38 CET 2012
Muchísimas gracias
Tiene dos cosas valorables, por un lado el utilizar algún programa que
dibuja y coloca arreglitos lindos, estilo diseño gráfico, visualmente es más
potente pero no tiene esa delicadeza de hacerlo con las herramientas de
todos los días, creo que como saludo es mucho más cálido regalar el código
que lleva tiempo antes de lo automático que se logra con los movimientos de
mouse (o dedos en celulares, tablet). Lo segundo que valoro dentro del
código es: ¿como escribieron esos valores para las letras
(f.x=c(0.193,0.....)? Hay que hacerlo, si con apretar solo una tecla se
obtiene el carácter correspondiente, te tienen que gustar los números o
busca un psiquiatra.
Por último un pedido a la lista, si deseamos una Navidad como Dios manda,
tengamos cuidado a quién le enviamos el código de saludo navideño en R
porque por culpa de Miguel nos internan a todos en una clínica para salud
mental.
Javier Marcuzzi
-----Mensaje original-----
From: miguel.angel.rodriguez.muinos en sergas.es
Sent: Friday, December 14, 2012 8:10 AM
To: r-help-es en r-project.org
Subject: [R-es] Feliz Navidad (R code)
f.x = c(0.193,0.703,0.703,0.295,0.295,0.703,0.703,0.295,0.295,0.193,0.193)
f.y = c(0.935,0.935,0.835,0.835,0.575,0.575,0.475,0.475,0.063,0.063,0.935)
e.x = c(0.222, 0.787, 0.787, 0.324, 0.324, 0.757, 0.757, 0.324, 0.324,0.804,
0.804, 0.222)
e.y = c(0.935, 0.935, 0.834, 0.834, 0.564, 0.564, 0.464, 0.464, 0.163,0.163,
0.063, 0.063)
l.x = c(0.222,0.324,0.324,0.804,0.804,0.222)
l.y = c(0.935,0.935,0.163,0.163,0.063,0.063)
a1.x = c(0.433, 0.546, 0.865, 0.746, 0.656, 0.328, 0.242, 0.136)
a1.y = c(0.935, 0.935, 0.063, 0.063, 0.326, 0.326, 0.063, 0.063)
a2.x = c(0.488, 0.629, 0.355)
a2.y = c(0.841, 0.418, 0.418)
n.x = c(0.189, 0.295, 0.707, 0.707, 0.804, 0.804, 0.701, 0.287, 0.287,
0.189)
n.y = c(0.935, 0.935, 0.248, 0.935, 0.935, 0.063, 0.063, 0.747, 0.063,
0.063)
d.x = c(0.218,0.56,0.56,0.56,0.56,0.32,0.218,0.32,0.32)
d.y = c(0.935,0.933,0.832,0.518,0.418,0.063,0.063,0.518,0.834)
d.cir.th = seq(pi/2, -pi/2, length.out = 50)
d1.cir.x = 0.32 + 0.515 * cos(d.cir.th)
d1.cir.y = 0.499 + 0.436 * sin(d.cir.th)
d2.cir.x = 0.32 + 0.4147 * cos(d.cir.th)
d2.cir.y = 0.499 + 0.3 * sin(d.cir.th)
d1.x = c(0.218, d1.cir.x, 0.32, 0.218)
d1.y = c(0.935, d1.cir.y, 0.063, 0.063)
d2.x = c(0.32, d2.cir.x, 0.32)
d2.y = c(0.799, d2.cir.y,0.199)
n.x = c(0.189, 0.295, 0.707, 0.707, 0.804, 0.804, 0.701, 0.287, 0.287,
0.189)
n.y = c(0.935, 0.935, 0.248, 0.935, 0.935, 0.063, 0.063, 0.747, 0.063,
0.063)
i.x = c(0.189, 0.295, 0.295, 0.189, 0.189)
i.y = c(0.935, 0.935, 0.063, 0.063, 0.935)
e.x = c(0.222, 0.787, 0.787, 0.324, 0.324, 0.757, 0.757, 0.324, 0.324,0.804,
0.804, 0.222)
e.y = c(0.935, 0.935, 0.834, 0.834, 0.564, 0.564, 0.464, 0.464, 0.163,0.163,
0.063, 0.063)
z.x = c(0.222,0.787,0.787,0.322,0.804,0.804,0.222,0.222,0.687,0.222)
z.y = c(0.935,0.935,0.834,0.163,0.163,0.063,0.063,0.163,0.834,0.834)
v.x = c(0.136, 0.259, 0.496, 0.734, 0.853, 0.543, 0.441)
v.y = c(0.935, 0.935, 0.163, 0.935, 0.935, 0.063, 0.063)
draw.ch = function(x1, y1, x2 = NULL, y2 = NULL, center.x,
color, alpha, xscale) {
rgb.col = col2rgb(color)/255
x1 = x1 * xscale + center.x - 0.5 * xscale
x2 = x2 * xscale + center.x - 0.5 * xscale
polygon(x1, y1, col = rgb(rgb.col[1], rgb.col[2], rgb.col[3],
alpha = alpha), border = NA)
# polygon(x2, y2, col = "black", border = NA)
polygon(x2, y2, col = "white", border = NA)
}
x1 = list(f.x, e.x, l.x, i.x, z.x, n.x, a1.x,v.x,i.x,d1.x,a1.x,d1.x)
y1 = list(f.y,e.y,l.y,i.y,z.y,n.y,a1.y,v.y,i.y,d1.y,a1.y,d1.y)
x2 = list(NULL,NULL,NULL,NULL,NULL,NULL,a2.x,NULL,NULL,d2.x,a2.x,d2.x)
y2 = list(NULL,NULL,NULL,NULL,NULL,NULL,a2.y,NULL,NULL,d2.y,a2.y,d2.y)
th = seq(pi/6, 2 * pi, length.out = 12)
cols = rainbow(200)
for (j in 1:999) {
th = th - pi/120
center.x = 3 + 5 * cos(th)
cols = c(cols[-1], cols[1])
alpha = 0.1 + (50 * (1 - sin(th)))/100
alpha = ifelse(alpha > 1, 1, alpha)
xscale = -sin(th) * 1.2
plot(1, xlim = c(-2, 8), ylim = c(-2.5, 3.5), type = "n")
plot.order = (1:12)[order(xscale > 0)]
for (k in 1:12) {
i = plot.order[k]
draw.ch(x1[[i]], y1[[i]], x2[[i]], y2[[i]], center.x[i],
color = cols[k + 60 * ( i >= 6 & i <= 8 ) + 120 *
(i > 8)], alpha[i], xscale[i])
}
}
## Un Saludo,
## ________________________________________________________
## Miguel Ángel Rodríguez Muíños
## @mianromu
## Dirección Xeral de Innovación e Xestión da Saúde Pública
## Consellería de Sanidade
## Xunta de Galicia
##
## http://dxsp.sergas.es
Nota: A información contida nesta mensaxe e os seus posibles documentos
adxuntos é privada e confidencial e está dirixida únicamente ó seu
destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe,
por favor elimínea. A distribución ou copia desta mensaxe non está
autorizada.
Nota: La información contenida en este mensaje y sus posibles documentos
adjuntos es privada y confidencial y está dirigida únicamente a su
destinatario/a. Si usted no es el/la destinatario/a original de este
mensaje, por favor elimínelo. La distribución o copia de este mensaje no
está autorizada.
See more languages: http://www.sergas.es/aviso_confidencialidad.htm
_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
Más información sobre la lista de distribución R-help-es