【初心者向け】Processing Pythonのrandom関数を使った作品作り方

Processing python

前回の記事ではfor文を使用した繰り返しをして作品を作ってきました

↓↓↓前回の記事はこちら↓↓↓

【Processing python】for文を使った繰り返しで模様を描こう

for文による繰り返しをすることで、作品を作っていく幅が広がってきました

それでもまだ、パソコンならではの作品というまではいかないような気がしています

そこで今度は、ランダム関数を使用して少し幅を広げていきましょう

この記事はProcessingというソフトを使用しています

設定はJavaではなくPythonに変更してください

Java設定だとエラーが出る場合があるので注意してください

↓↓↓Processingって何?という方はこちらの記事を↓↓↓

↓↓↓Processingのインストールや設定の変更についてはこちらの記事を↓↓↓

random関数とは

random()の中に数値を入力するとその中からランダムに一つ数値を実行する関数

では実際に関数を使用していきながらやっていきましょう

まずは一つ図形を作っていきます

説明のために一つ参考になる図形を作る

まずは丸い図形を作っていきます

コード作成

size(1000,1000)

ellipse(100, 100, 100, 100)

入力・実行

これにrandom()を使用して実行結果を見ていきます

random関数を使用

コードにrandom関数を組み入れて実行します

座標X,Yの部分をrandom(100)という数値に変更していきます

コード作成

size(1000,1000)

ellipse(random(1000), random(1000), 100, 100)

入力・実行

コードを4回実行してみました

すると結果は丸の位置がそれぞれ違うと思います

これがランダム関数の効果です

自分が考えても同じ場所に来ることがありませんでした(泣)

ただ、randomの内容は分かったが丸をランダムに出すだけでは面白くない

そこで、少し応用編ということでrandom関数を使っていろいろやってみます

プログラミングでは組み合わせが必要です

前回for文をを使った繰り返しの記事を書いたのでそれを使って少し作品を作っていきましょう

for文の使い方についての記事は以下を参照してください

応用編(丸を使って)

『random関数』×『for文』

まずは簡単に丸の図形をランダムに増やしていきます

コード作成

size(2100,1400)

background(255)

for i in range(2000):
    ellipse(random(2100), random(2100), 100, 100)

入力・実行

丸がぎっしり敷き詰められました

for文と違って、ランダムに丸を作る座標が決められているので、規則性はありません

少し味気ないので少し色を付けていきましょう

色を付けていく

fill関数を使って着色していきます

コード作成(RGBを使用)

 size(2100,1400)

background(255)

for i in range(2000):
    fill(0,random(255),random(255))
    ellipse(random(2100), random(2100), 100, 100)

入力・実行

コード作成(HSBを使用)

size(2100,1400)

background(255)

for i in range(2000):
    colorMode(HSB)
    fill(random(360),100,1000)
    ellipse(random(2100), random(2100), 100, 100)

入力・実行

色を付けていきましたが、色の付け方でも方法が違ってくるので表現内容が変わってきます。

色についてはこちらの記事を参考にしてください

応用編(線を使って)

ランダムを使って自分なりにいろいろやってみます

line()関数とグレースケールを使って作品作り

まずはline()関数を使って線を描いていきますが、一本だけでは面白くないのでfor文をを使って線を100本書きます

その線を一本ずつ、線の配色、長さ、太さ、場所をランダムで書いていくとどのようになるかやっていきます

コード作成

size(900,600)
for i in range(100):
    r = random(800)
    stroke(r/3)
    strokeWeight(r/10)
    line(0, 10*i, 100+r, i)

入力・実行

こんな感じで不思議な線の模様ができました

では、次は線の中の数値をいろいろ変更していきましょう

line()関数の中身を変えてみよう

コード作成

size(900,600)
for i in range(100):
    r = random(800)
    stroke(r/3)
    strokeWeight(r/10)
    line(r, r, r, r)

入力・実行

繰り返しをY座標①に加えるとホラー感

コード作成

size(900,600)
for i in range(100):
    r = random(800)
    stroke(r/3)
    strokeWeight(r/10)
    line(r, r+i, r, r)

入力・実行

ランダム関数のみにしてみる

ランダム関数をなくしてみるとよくわからないものができました

コード作成

size(900,600)
for i in range(100):
    r = random(800)
    rr = random(255)
    stroke(rr,30)
    strokeWeight(r)
    line(0, i, r, r)

入力・実行

まとめ

ランダム関数を使用するとパソコンならではの作品が出来上がる感じがあります。

ランダム関数を使用しながら、今後も様々な内容に今後も取り組んでいきます

ただ、ランダム関数を使用した感想は面白かったです。

コメント

タイトルとURLをコピーしました