前回の記事ではfor文を使用した繰り返しをして作品を作ってきました
for文を使うと規則的な作品ができ上がりました。
しかし、パソコンでしか作れない作品を作ってみたくないですか?
今回はrandom関数を使った、プログラミングだからこそできる作品を作っていきましょう
前回の記事
注意点
この記事はProcessingのPython設定で作成しております
Java設定だとエラーが出るので注意してください
設定方法がわからない方は、以下の記事を参考にしてみてください
タイトルテキスト
random関数とは
random()の中に数値を入力するとその中からランダムに一つ数値を実行する関数です
実際に関数を使用していきながらやっていきましょう
まずは一つ図形を作っていきます
まず一つ参考になる図形を作っていきます
まずは丸い図形を作っていきます
コード作成
1 2 3 |
size(1000,1000) ellipse(100, 100, 100, 100) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/lesson-2.png?resize=920%2C920&ssl=1)
![ダダ](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2024/03/187-2.jpg?resize=100%2C100&ssl=1)
まずは図形を書くことができましたね
これにrandom()を使用して実行結果を見ていきます
random関数を使用
コードにrandom関数を組み入れて実行します
座標X,Yの部分をrandom(100)という数値に変更していきます
コード作成
1 2 3 |
size(1000,1000) ellipse(random(1000), random(1000), 100, 100) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/f8b294c48da08b02be6b36de737b6851.png?resize=920%2C920&ssl=1)
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/3299ea42af2233ed0f83d6d4d40f00aa.png?resize=920%2C917&ssl=1)
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/64b7687bc1b050973026d78184f144cd.png?resize=920%2C926&ssl=1)
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/76c77fd200749bd902258bcb1774b18c.png?resize=920%2C923&ssl=1)
コードを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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/lesson1-1.png?resize=920%2C614&ssl=1)
丸がぎっしり敷き詰められました
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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/lesson1-2.png?resize=920%2C614&ssl=1)
コード作成(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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/08/lesson1-3.png?resize=920%2C614&ssl=1)
色を付けていきましたが、色の付け方でも方法が違ってくるので表現内容が変わってきます。
色についてはこちらの記事を参考にしてください
関連記事
応用編(線を使って)
ランダムを使って自分なりにいろいろやってみます
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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/07/2021-07-04-2.png?resize=893%2C603&ssl=1)
こんな感じで不思議な線の模様ができました
では、次は線の中の数値をいろいろ変更していきましょう
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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/07/2021-07-04-3.png?resize=880%2C591&ssl=1)
繰り返しを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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/07/f99ee3af5cb624770e0de30d6bbcf5b5.png?resize=898%2C595&ssl=1)
ランダム関数のみにしてみる
ランダム関数をなくしてみるとよくわからないものができました
コード作成
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) |
入力・実行
![](https://i0.wp.com/dsdiary.blog/wp-content/uploads/2021/07/e927eb3220458d0e0863b117c555aed7.png?resize=900%2C603&ssl=1)
線でも太さや長さを変えることで、より多くの表現ができたので楽しかったです
線の書き方については以下の記事を参考にしてみてください
関連記事
まとめ
今回は、ランダム関数の使い方を説明してきました。
実際にランダム関数だけを使っていても、作品として面白みはないですが、for文やline関数などを組み合わせて使うと作品の表現の幅が広がります。
次の記事は条件分岐です。
条件をつけることで更に作品づくりの幅が広がるので是非参考にしてみてください
関連記事
本気でプログラマーを目指している方へは、プログラミングのスクールをオススメしております。
中でも TechAcademy テックアカデミーをオススメしており、 TechAcademy テックアカデミーの実績として、
多くの会員がエンジニアとして巣立ってきました。数年前より、学生エンジニアという存在が物凄く注目されるようになっており、
メガベンチャーもこぞって、サマーインターンを実施、プログラミングを叩ける人材を青田刈りしています。
この職種は、学歴、学部、全く関係なく、プログラミング開発経験やその熱量がモノをいいます。
私より上の世代では、「エンジニアは3K」「ただの職人」「うつ病になりやすい」「35歳限界説」など
良いイメージを持っていないかと思います。
逆に若手のエンジニアは恵まれた環境に安心してキャリアを崩すといったこともあります。
そのあたりについて、いろいろと聞いてきましたので、
近くに若いエンジニアがいらっしゃるのであれば、助言するときに参考になるかと思います。
以下のリンクから【自宅で現役エンジニアから学べる TechAcademy テックアカデミー】に無料相談が出来るので以下のリンクから無料相談をしてみてください