ChatGPTだけで、HTMLのCanvasを利用してイラストやアニメーションを描いてみました。
バージョンは3.5です。このブログに載せるために、canvas要素のidなど変更していますが、根幹のアルゴリズムは人の手による修正はせず、修正命令もすべてchatgptに依頼して行いました。
結論として、今日紹介するものは、ほぼ自力でアルゴリズム組んで作ってしまいました。
ChatGPTでコードを書けることはよく周知されていますが、しっかり指摘すればコードのバグなども修正してくれるのであらためて便利と感じております。
目次
人の顔
まずはシンプルに人の顔を書かせてみました。モナリザの構図でとお願いしたところこんな風に出力されました。
このあたりは間違いもなく出しました。たまたま学習データにあったどこかの画像の可能性もあるかと思い、著作権侵害の恐れがないか画像検索してみましたが同一のものは見つからなかったので、学習データをもとに自力で編み出したようです。
ローレンツ方程式の解軌道
法則性がありつつも次の値が予測しづらい複雑な値を持つカオス理論の一つであるローレンツ方程式の解軌道を描かせてみました。
プログラマでも数理やアルゴリズムを知っていないと書けないものですが、ChatGPTならばこの手のものは苦なく書けるようです。
フラクタル図形(再帰回数変更ボタン付き)
同じく数理アルゴリズムのアートであるフラクタル図形を書いてみます。今回はシェルビンスキーのギャスケットを選択して再帰回数変更ボタンを加えさせてみました。
他のフラクタル図形も書かせたりして見て一発で成功するときもあったのですが、実はこの時ボタンが動かないというエラーが起きました。しかしながらボタンが動かないことについて指摘したらちゃんと直してくれました。
太陽と月と地球の公転アニメーション
太陽と月と地球の公転アニメーションを書かせてみました。
フラクタル図形と違い、サンプルコードがよくある典型アルゴリズムではないですが、しっかり作ってくれました。ノーミスだったので正直のところ驚いています。
3Dアニメーション
最後に3Dアニメーションを作らせてみました。
脱帽です。私自身、3Dのアニメーションになると、OSSなどがないと、こういうシンプルなものでも素で作れる自信はないです。エンジンなしで作ってみせました。
終わりに
最後までご鑑賞いただきありがとうございました。
今回は最新のバージョン4を使いませんでした。バージョン3.5でこのレベルのアルゴリズムを組めることには驚きです。プログラマにとってうまく付き合ったり考えていかないと仕事が今後奪われていきそうです。
すでに、ChatGPTでいろいろな検証をした記事はありますが、今後も他の方が試した例がなさそうな検証があればこのサイトに載せていければと思います。
Photo by Javier Garcia Chavez on Unsplash