ラズパイ3倍美味しいブログ

ラズパイ3を美味しく食べるはずがinto the VR!!!

○ッキーマークもどきできたよ!?

 前回の記事で、Processingつかって、黒背景にドットをグラデーションかけて並べてみたけど、なんか目がチカチカする。円の大きさを大きくして、もうちょっと式を綺麗にするべく少々いじってみた。

dots3.pde
------------------------------------
void setup(){

size(640,1136);
background(255);
noStroke();
colorMode(HSB, 360, 100, 100, 100);//HSBモード(H:360段階, S,B,Alpha:各100段階)で指定する
smooth();
float r=50;

for(int i=0;i<(height/r)+2;i+=2){
for(int j=0;j<(width/r)+2;j+=2){
fill(360*(i/(height/r))*(j/(width/r)),100,100);
ellipse(j*r,i*r,r,r);
}
}
for(int i=1;i<(height/r)+2;i+=2){
for(int j=1;j<(width/r)+2;j+=2){
fill(360*(i/(height/r))*(j/(width/r)),100,100);
ellipse(j*r,i*r,r,r);
}
}

}

void draw(){}

void keyPressed(){
if(keyCode==ENTER){
save("dots3.png");
}
}
------------------------------------

f:id:umesyurock0603:20170219234859p:plain

お、かわいいじゃーん★(自画自賛
円の半径をrという変数にできた&ちょっとプログラムスッキリしたぞ?いい感じかもしれない?!少なくとも1つ前の記事よりはましになった気がする。

ドットか〜。このドット、そういえばもしかして、こんなことできるだろうか。
大きな円の上に小さな円を2つ並べてみたら・・・もしかして。
dots4.pde
------------------------------------
void setup(){

size(640,1136);
background(0);
noStroke();
colorMode(HSB, 360, 100, 100, 100);//HSBモード(H:360段階, S,B,Alpha:各100段階)で指定する
smooth();
float r=60;
float mm=35;//耳の位置調整用
float mr=r*2/3;//耳の直径

for(int i=0;i<(height/r)+2;i+=2){
for(int j=0;j<(width/r)+2;j+=2){
ellipse(j*r,i*r,r,r);
ellipse(j*r-mm,i*r-mm,mr,mr);
ellipse(j*r+mm,i*r-mm,mr,mr);
fill(360*(i/(height/r))*(j/(width/r)),100,100);

}
}
ellipse(0,0,r,r);
fill(0,100,100);//左上の赤丸のためプログラム

}

void draw(){}

void keyPressed(){
if(keyCode==ENTER){
save("dots4.png");
}
}
------------------------------------

f:id:umesyurock0603:20170219235004p:plain

ハハッ!できちゃった。左上の赤丸がどうしても白くなってしまうので、無理やり後から加えるという荒業を使っています。数式の美しさはどうしたんだ!!とはいいつつ、○ッキーマークできたので、楽しくなってきた。
相変わらず力技です。

力技ついでに、もう一個作ってみる。

dots5.pde
------------------------------------
void setup(){

size(640,1136);
background(0);
noStroke();
colorMode(HSB, 360, 100, 100, 100);//HSBモード(H:360段階, S,B,Alpha:各100段階)で指定する
smooth();
float r=60;
float mm=35;//耳の位置調整用
float mr=r*2/3;//耳の直径
float s=30;
float mms=17;
float ms=s*2/3;

for(int i=0;i<(height/r)+2;i+=2){
for(int j=0;j<(width/r)+2;j+=2){
ellipse(j*r,i*r,r,r);
ellipse(j*r-mm,i*r-mm,mr,mr);
ellipse(j*r+mm,i*r-mm,mr,mr);
fill(360*(i/(height/r))*(j/(width/r)),100,100);

}
}
ellipse(0,0,r,r);
fill(0,100,100);//左上の赤丸のためプログラム

for(int i=1;i<(height/r)+2;i+=2){
for(int j=1;j<(width/r)+2;j+=2){
ellipse(j*r,i*r-ms,s,s);
ellipse(j*r-mms,i*r-mms-ms,ms,ms);
ellipse(j*r+mms,i*r-mms-ms,ms,ms);
fill(360*(i/(height/r))*(j/(width/r)),100,100);
}
}

}

void draw(){}

void keyPressed(){
if(keyCode==ENTER){
save("dots5.png");
}
}
------------------------------------

f:id:umesyurock0603:20170219235139p:plain

ハハッ!!さらに仲間が増えたよ!なんとなく等間隔に互い違いに並べたように見えるけど、これもわりとで調整しているので力技だよ。力技Processingだよ!

コメントはちゃんと書かないと、多分1週間後の自分へのダイイングメッセージにもならない気がする。この変数、なんでこんな名前つけてんだよ!って多分ツッコミしかしてないと思う。コメントはちゃんと書こう。。。