質問失礼致します。
最近プログラミングを使ったデジタルアートの存在を知り。
自分もいつか下の画像のようなものを作成できればと思っているのですが、数学の知識がないとやはり難しいですか??
こちらのサイトのソースコードをコピぺしてエディタで実行してみましたが、ソースコードを見ても何が何だか分かりません。(本当に全く分からない)
https://qiita.com/sci_Haru/items/a6faca220972278ad5cc
色々サイトをみたら上手く行くだろうと思ってたのですが、想像をはるかに超える高い壁があるなと感じました。数学の知識がないとデジタルアートは無理でしょうか??
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
質問のリンク先の内容が本当に「(本当に全く分からない)」のであれば、あきらめたほうがいいでしょう。プログラムを使わなくても幾何学的な絵を書くことはできます。
ただ、本当に(本当に全く分からない)のかどうかはもう少し確認してみたほうがいいのではないかと思います。
シェルピンスキーの三角形の場合必要な数学の知識は
- XY座標平面上に点を打つこと
- 座標の値からある計算式を使って新しい座標を求めること
- 座標を更新しながら手順を次々と実施すること
だけです。 それほど難しくはないのではないかと思います。
ただ、具体的な座標の値でえはなく、x1, y3などの記号になっているので、慣れないととっつきにくいかもしれません。
必要なプログラム的知識は
- 条件分岐や繰り返しなどの基本的な構造
- 乱数の生成
- matplotlibを使った簡単な描画
あたりでしょうか。 matplotlibはちょっと勉強が必要です。
どうでしょう。
やってみる気があるのであれば、まずは紙と鉛筆で手を使って書いてみるのはどうでしょう。プログラムのように15000個も打つのは大変ですし、100個ぐらいだと絵に見えないかもしれませんが、「何をやっているのかはちゃんと理解できる」はずです。
ちなみに、リンク先の説明はちょっと誤解を招くようなところがあるので、直したものを書いておきます。
-
以下の3つの頂点の座標を持つ三角形を描く。(※正三角形である必要はない)
頂点A: (x1,y1) ※ プログラムでは (0, 5)
頂点B: (x2,y2) ※ プログラムでは(5. 0)
頂点C: (x3,y3) ※ プログラムでは(-5, 0) -
三角形の内部の任意の点P(x,y)を最初の点とする。(どこか内部に点をうちPとする)
※ プログラムでは、 (2.5, 2.5) -
頂点A,B,Cのうち 1つをランダムに選ぶ(1/3の確率)
※ プログラムでは、n=randrange(3)) -
Pと選んだ頂点1の中点に点を描き、それを新しい点Pとする
※ x=(x+a[n])/2 と y=(y+b[n])/2 と pltの処理 -
3に戻る
投稿2022/06/08 02:02
総合スコア14545
0
とりとめのない回答ですが。
この分野は数学の一部だと私は思っているので「数学を理解するのに数学の知識がないと無理でしょうか」という質問に見えてしまいます。
とはいっても、シェルピンスキーの三角形は明らかに算数のレベルだし、バーンスレーのシダなどもコード的には算数にとどまっているはずので、これがわからないということは、足りないのは数学の知識ではなくプログラミングの知識なのでは? と感じます。
例えば Scratchで楽しく学ぶアート&サイエンス など、Scratchで書くんだから平易なのでは? と思うでしょうが、この本には普通に三角関数がでてきます。
一方で、例えばパーリンノイズを計算を自分でしようと思ったらまあまあの数学が要るわけですが、processingにはnosie関数があって呼び出すだけで計算できます。自分で計算しなくてもいいというだけでぐっと楽なはずです。それでも「パーリンノイズとはなにでどういう性質があるか?」という知識は要るわけで、それを"数学の知識"と呼んでも差し支えはないと考えます。
投稿2022/06/08 00:11
総合スコア11327
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
数学を使って出しているものなんですから、その知識は必須となります。
まあ、どこかに載っているものをそのまま出す、というだけなら、その知識は不要でしょうけど。
投稿2022/06/07 22:55
総合スコア88180
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/09 06:21 編集
2022/06/08 07:21

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/08 05:23 編集