Processingでプログラミングを始めたばかりの初心者の方へ、今回はPythonのrandom関数を使った作品作りをご紹介します。random関数を使うと、ランダムな要素をプログラムに取り入れることができ、予測できない面白いデザインやアニメーションを簡単に作成できます。この記事では、random関数の基本的な使い方から、実際に作品を作る手順まで、初心者でもわかりやすく解説します。ぜひ、この機会にProcessingを使ってランダムな世界を楽しんでみましょう!
ブログではわかりにくい方はUdemyで講座にしているのでこちらもチェックしてみてください
前回の記事
注意点
この記事はProcessingのPython設定で作成しております
Java設定だとエラーが出るので注意してください
設定方法がわからない方は、以下の記事を参考にしてみてください
タイトルテキスト
random関数とは
random関数とは、プログラミングにおいてランダムな値を生成するための関数です。この関数を使うと、指定した範囲内で予測不可能な数値を生成することができます。例えば、ある範囲の中でランダムに数を選んだり、無作為に配置を決めたりする場合に役立ちます。
ProcessingのPythonモードでは、random()
関数を使って任意の範囲内で浮動小数点数(小数部分を持つ数)を生成できます。また、randint()
を使うと、整数のランダムな値を生成することも可能です。
random関数を使うことで、プログラムにランダム性を取り入れ、予測できない動きやパターンを作成することができるため、デザインやアニメーションの幅が広がります。
まず一つ参考になる図形を作っていきます
まずは丸い図形を作っていきます
コード作成
1 2 3 |
size(1000,1000) ellipse(100, 100, 100, 100) |
入力・実行
まずは図形を書くことができましたね
これにrandom()を使用して実行結果を見ていきます
random関数を使用
コードにrandom関数を組み入れて実行します
座標X,Yの部分をrandom(100)という数値に変更していきます
コード作成
1 2 3 |
size(1000,1000) ellipse(random(1000), random(1000), 100, 100) |
入力・実行
コードを4回実行してみました。
すると結果は丸の位置がそれぞれ違うと思います。
これがランダム関数の効果です。
ただ、randomの内容は分かったが丸をランダムに出すだけでは面白くない
そこで、少し応用編ということでrandom関数を使っていろいろやってみます
プログラミングでは組み合わせが必要です
前回for文をを使った繰り返しの記事を書いたのでそれを使って少し作品を作っていきましょう
for文の使い方についての記事は以下を参照してください
参考記事
応用編(丸を使って)
『random関数』×『for文』
まずは簡単に丸の図形をランダムに増やしていきます
コード作成
1 2 3 4 5 6 7 8 |
size(2100,1400) background(255) for i in range(2000): ellipse(random(2100), random(2100), 100, 100) |
入力・実行
丸がぎっしり敷き詰められました
for文と違って、ランダムに丸を作る座標が決められているので、規則性はありません
少し味気ないので少し色を付けていきましょう
色を付けていく
fill関数を使って着色していきます
コード作成(RGBを使用)
1 2 3 4 5 6 7 |
size(2100,1400) background(255) for i in range(2000): fill(0,random(255),random(255)) ellipse(random(2100), random(2100), 100, 100) |
入力・実行
コード作成(HSBを使用)
1 2 3 4 5 6 7 8 |
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本書きます
その線を一本ずつ、線の配色、長さ、太さ、場所をランダムで書いていくとどのようになるかやっていきます
コード作成
1 2 3 4 5 6 |
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()関数の中身を変えてみよう
コード作成
1 2 3 4 5 6 |
size(900,600) for i in range(100): r = random(800) stroke(r/3) strokeWeight(r/10) line(r, r, r, r) |
入力・実行
繰り返しをY座標①に加えるとホラー感
コード作成
1 2 3 4 5 6 |
size(900,600) for i in range(100): r = random(800) stroke(r/3) strokeWeight(r/10) line(r, r+i, r, r) |
入力・実行
ランダム関数のみにしてみる
ランダム関数をなくしてみるとよくわからないものができました
コード作成
1 2 3 4 5 6 7 |
size(900,600) for i in range(100): r = random(800) rr = random(255) stroke(rr,30) strokeWeight(r) line(0, i, r, r) |
入力・実行
線でも太さや長さを変えることで、より多くの表現ができたので楽しかったです
線の書き方については以下の記事を参考にしてみてください
関連記事
まとめ
今回は、ランダム関数の使い方を説明してきました。
実際にランダム関数だけを使っていても、作品として面白みはないですが、for文やline関数などを組み合わせて使うと作品の表現の幅が広がります。
次の記事は条件分岐です。
条件をつけることで更に作品づくりの幅が広がるので是非参考にしてみてください
関連記事
もしわからないことがあれば、このブログやXに質問等を投げていただければと思います。
Xのアカウントはこちら
プログラミング学習を進めているけれど、まだ副収入につなげられていない…そんなあなたへ!今こそ、学んだスキルを活かして副業に挑戦する絶好のチャンスです。プログラミングだけでなく、自分のスキルや商品をネットで販売する『ネットショップ』を開設してみませんか?
ネットショップを持つことで、自分の知識やスキルをより多くの人に届け、副収入を得ることが可能です。学んできたプログラミングを活かして、ショップのカスタマイズや運営も自由自在に行えますし、もし商品作成が難しい場合でも、デジタル商品やサービス提供など、いろんな選択肢があります。
このステップで一歩踏み出せば、今学んでいることが副収入に直結し、自分の時間をより有効に使うことができるはずです!一緒にネットショップを開設し、副業の第一歩を踏み出しましょう!
タイトルテキスト
プログラミングを視覚的に理解したい方やプログラミングで絵を書いてみたい方はUdemyで講座も作っているのでこちらも参考にしてみてください
Udemy講座
ChatGPTでPythonの学習を始めてみたい方は以下の記事を参考にしてみてください
関連記事
プログラミングを学びたいけど、どこから始めたらいいのか分からない、自分に合っているか不安…そんな悩みを持っている方におすすめしたいのが、 無料相談 サービスです!
この無料相談では、あなたの現状や目標に合わせて、最適な学習プランを一緒に考えてくれます。どんなスキルが必要なのか、どうやって学習を進めると効果的かを具体的にアドバイスしてもらえるので、無駄なく効率的にスタートを切ることができます。
さらに、プログラミング学習には同じ目標を持つ 仲間 がいること、そして頼りになる メンター の存在がとても大きな支えになります。独学ではどうしてもつまずきやすい部分も、メンターがあなたの成長に合わせて親身にサポートしてくれるので、安心して学びを進められます。
まずは 無料相談 で、あなたに合ったプランを見つけて、スキルアップへの第一歩を踏み出してみませんか?今なら、迷っている方でも気軽に相談できるチャンスです!