みくみくにしてやんよ

MikuHatsune2012-04-03


昔、ロゴを作った。
あれからリベンジとして、アイコンを作ろうと思った。しかもアニメーションで。
素材はこのブログからいただいた(使用許可をいただきました20120404)。
やり方としては、エクセルで数値をちまちま入力して、値に対応した色を振り、ImageJを使用した。

mvec <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 2, 0, 0, 0, 
				2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 
				1, 0, 0, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 5, 5, 5, 0, 5, 5, 5, 0, 0, 0, 1, 1, 0, 
				0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 
				2, 2, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 9, 2, 2, 2, 9, 9, 5, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 
				1, 1, 0, 9, 9, 1, 9, 9, 9, 5, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 9, 9, 1, 9, 9, 9, 9, 0, 2, 7, 1, 1, 1, 1, 
				0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 9, 9, 1, 9, 8, 9, 0, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 5, 5, 9, 1, 9, 9, 5, 
				5, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 5, 5, 9, 1, 1, 9, 5, 5, 4, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 2, 
				2, 2, 1, 5, 5, 5, 5, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 1, 6, 6, 5, 5, 6, 6, 1, 0, 0, 1, 1, 1, 0, 0, 
				0, 0, 0, 0, 0, 5, 2, 2, 4, 1, 5, 2, 5, 1, 2, 5, 1, 4, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 2, 1, 1, 2, 5, 1, 2, 1, 
				1, 2, 0, 1, 1, 1, 0, 0, 3, 3, 3, 0, 0, 1, 1, 0, 2, 1, 1, 5, 1, 1, 5, 1, 1, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 
				0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 0, 0, 0, 0, 
				0, 0, 3, 0, 0, 3, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 0, 0, 0, 0, 0, 3, 0, 0, 0, 3, 0, 1, 1, 1, 2, 1, 1, 1, 1, 2, 
				1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0)
mdata <- t(matrix(mvec, 23, 24, byrow=TRUE))
#これは色付けがキモい
image(mdata, frame=FALSE, axes=FALSE)
#普通のミク
cpalet <- c("white", "green", "black", "violet", "red", "#F0C9C0FF", "pink", "lightgreen", "yellow", "grey")
image(mdata, col=cpalet, frame=FALSE, axes=FALSE)
#雪ミク
snowmiku <- c("white", "#00B6FFFF", "black", "violet", "red", "#EEBCA7FF", "pink", "lightgreen", "yellow", "grey")
image(mdata, col=snowmiku, frame=FALSE, axes=FALSE)
#桜ミク
sakura <- c("white", "pink", "black", "violet", "red", "#EEBCA7FF", "pink", "lightgreen", "yellow", "grey")
image(mdata, col=sakura, frame=FALSE, axes=FALSE)

#虹ミク
crain <- rainbow(80)
for(i in 1:length(crain)){
  cpalet[2] <- crain[i]
  #ImageJ用
  #png(paste("miku", i, ".png", sep=""))
  par(mar=c(2, 1, 1, 1))
  image(mdata, col=cpalet, frame=FALSE, axes=FALSE)
  #dev.off()
}


twitterサイズ

 
行列を反転させることで踊らせてみた。

rdata <- array(0, c(dim(mdata), 2))
rdata[, , 1] <- mdata
rdata[, , 2] <- mdata[24:1, ]

crain <- rainbow(80)
for(i in 1:length(crain)){
  cpalet[2] <- crain[i]
  dance <- even(ceiling(i / 8)) + 1
  #png(paste("miku", i, ".png", sep=""),48, 48)
  par(mar=c(2, 1, 1, 1)*0.1)
  image(rdata[, , dance], col=cpalet, frame=FALSE, axes=FALSE)
  #dev.off()
}


 
登場したカラフルミクさんをすべて登場させるとこうなる。みくみくにしてやんよ。