Help us understand the problem. What is going on with this article?

ランダム・ライン【Processing】

More than 1 year has passed since last update.

はじめに

今回の短めスクリプトでは、「ランダム・ライン」というランダムに線が溢れるプロジェクトを作りたいと思います。
長さ:8行181文字

作品サンプル

sample.gif

最終的なコード

random_lines.pde
void setup(){
  size(500,500);
}

void draw(){
  strokeWeight(random(3,6));
  stroke(random(0,255), random(0,255), random(0,255), 100);
  line(random(0,500), random(0,500), random(0,500), random(0,500));
}

コードの解説

1. void setup(){}

はじまった時に、{}の中身を一度実行する

2. size(500,500);

画面の横と縦の大きさをそれぞれ500pxにする。

3. void draw(){}

{}の中身をずっと実行する

4. strokeWeight(random(3,6));

線の太さを、3から6の間のランダムな太さに設定する。

>> strokeWeight(3);

線の太さを、3pxに設定する。

>> random(255);

0から255までのランダムな値(乱数)。

5. stroke(random(0,255), random(0,255), random(0,255), 100);

線の色をランダムな色(透明度は100/255)に設定する。

>>stroke(255,255,255,100);

線の色をHSB(255,255,255)(真っ白)にする。(透明度は100/255)

6. line(random(0,500), random(0,500), random(0,500), random(0,500));

x座標とy座標それぞれが0から500までの位置から同じくx座標とy座標それぞれが0から500までの位置までの線を引く。

>>line(0,0,10,20)

(x,y)=(0,0)の点から、(x,y)=(10,20)の点までの線を引く。

アレンジ・コード

>>background(255,255,255);

背景の色をHSB(255, 255, 255)(真っ白)にする。

>>frameRate(10)

1秒間に画面を10回更新する。(draw(){}は1回の更新につき、1度実行されるため、結果的に1秒間に10回線を描くかという)。

>>colorMode(RGB,100,100,100)

色の設定方法をHSBではなく、RGBに設定し、各引数の最大値を100とする。

サンプルコード(アレンジ)

random_lines_arrange.pde
void setup(){
  size(500,500);
  background(255,255,255);
  frameRate(10);
  colorMode(RGB,100,100,100);
}

void draw(){
  strokeWeight(random(3,6));
  stroke(random(0,100), random(0,100), random(0,100), 100);
  line(random(0,500), random(0,500), random(0,500), random(0,500));
}
umi_mori
リサーチャー x フリーランスエンジニア。某IT企業のCTO。研究では、リハビリにおけるヒトの学習に対して、脳波とMRIでデータサイエンス。 #脳科学 #研究 #フリーランス #エンジニア #人工知能 #AI #機械学習 #慶應 #リハビリ #教育 #障害 #CTO
https://www.umi-mori.jp
ai-lab
ai-labというデータサイエンス系のクラウド研究室です! ai-labという情報プラットフォームへ投稿したり、slackで議論をしたりしています。
https://www.ai-lab.app/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away