東京ではNO!!3密(密閉、密集、密接)ということですが、密集を三〇六輪で表して見ました。ベースとなるのは横18x縦17の306個の輪、一つの輪を人と見立てて、306人が等間隔で並んだ状態を上からみたときの図を考えました。輪の直径は26(円周81.64)で腹囲81cmの人とみなします。それぞれの人との腹囲あたりの間が例えば10cmと想定したら間隔は10にする、という感じで、そこそこ過密な電車内(腹あたりで前後10cm〜もっと過密?)、映画館(腹あたりで横20cm縦70cm)、オフィス内(100x70cmの机で皆同じ方向を見ていたとして、横74cm縦140cm)、そして最近言われているソーシャルディスタンス(180cmの間隔を保とう)でやってみました。
画像は、左から過密な電車、映画館、オフィス、ソーシャルディスタンス。クリックで拡大します。
コードは画像の下。
※この記事は、7月までに三〇六輪100個作る企画の第9弾です。
//
// 初期値
//
// 輪の直径、間隔
float dia = 26; // 腹囲81センチ程度
float spX = 74; // ここを任意に変更(横の間隔)
float spY = 140; // ここを任意に変更(縦の間隔)
// 輪の個数(17行x18個)
int maxY = 17;
int maxX = 18;
//
// 描画ウィンドウサイズを決定する
//
void settings() {
int szx = int(dia+spX) * maxX + int(spX);
int szy =int(dia+spY)*maxY + int(spY);
size(szx, szy);
}
//
// メイン処理
//
void setup() {
float axisX, axisY, vara;
colorMode(HSB,360,100,100,100);
background(0,0,100,100);
noFill();
for (int itrY = 1; itrY <= 17; itrY++) {
strokeWeight(5); // 線の太さ5(洋服分 笑)
axisY = (spY + dia) * (itrY - 1) + spY + dia/2;
vara = 100/17 * (17-itrY+1); // 縦方向にアルファチャンネルを変化させ透明度をつける
for (int itrX = 1; itrX <= 18; itrX++) {
axisX = (spX + dia) * (itrX - 1) + spX + dia/2;
stroke(360/18*itrX,100,100,vara); // 横方向に色相を変化させる
ellipse(axisX,axisY,dia,dia);
}
}
save ("306rin_009_" + str(int(spX))+ "_" + str(int(spY)) + ".png");
}
306人がソーシャルディスタンスを保つには3888×3682平方cm必要らしい(1400平米超)。仮にですが、100平米のお家が10軒…