1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

猿でもわかるAIプログラミングシリーズ 🐵💻 Pythonでお絵かきAIを作ろう(Turtle × ランダム)

Posted at

1. はじめに:AIって創造的になれるの?

AIというと、機械学習、ディープラーニング、自然言語処理…と、なんだか難しい理論やモデルばかり思い浮かびがちです。でも、ちょっと視点を変えると、「AIっぽいこと」は意外とシンプルな処理でも表現できるんです。

今回は、Pythonの「Turtle(カメ)」モジュールと、ランダム性を使って「創造的に見えるお絵かきAI」を作ってみましょう。

「Turtleって教材用じゃないの?」「業務に関係ないのでは?」と思うかもしれませんが、実はこのテーマには以下のような学びがあります。

  • 生成AIの基礎的な考え方(ランダム性 × ルール)
  • ロジックで創造性を生み出す設計思考
  • Pythonでのビジュアル出力スキルの習得

それでは、Let's draw like AI!


2. 技術概要:Turtle × Random で作る「それっぽい創造性」

● Turtleとは?

Pythonに標準搭載されている図形描画ライブラリ。仮想のカメを動かして線を描くことで、ビジュアル表現を行います。

pip install Python(インストール不要:標準ライブラリ)

● Randomとは?

Pythonのrandomモジュールを使って、乱数(=予測不可能な値)を生成します。AIにおける「創造的」な表現の一端を担う大事な要素です。

import random

この2つを組み合わせることで、ルールベースながらも偶発的な美しさを持つ図形を描くことができます。これが、AI的創造性の第一歩です。


3. 実装してみよう:AIっぽいお絵かきボット

● 基本のセットアップ

import turtle
import random

# 画面初期化
screen = turtle.Screen()
screen.bgcolor("black")

# カメの設定
bot = turtle.Turtle()
bot.speed(0)
bot.pensize(2)

● カラーパレットの定義

colors = ["#FF5733", "#33FFCE", "#FFC300", "#C70039", "#900C3F", "#581845"]

● 描画ループ(AIっぽい!)

for i in range(200):
    bot.color(random.choice(colors))
    bot.forward(random.randint(50, 150))
    bot.right(random.randint(30, 120))
    bot.circle(random.randint(10, 60))
    bot.left(random.randint(60, 180))

● 実行と終了処理

# 画面をクリックで終了
screen.exitonclick()

✅ 完成イメージ

実行すると、カラフルでランダムな線や円の組み合わせによる幾何学アートが出来上がります。


4. 実務にも効く!現場視点のTIPS

💡 ランダムの「種」を固定すれば再現性が出せる

random.seed(42)

MLのモデル評価などでも同じですが、ランダムの再現性はデバッグや比較にとても重要です。


💡 視覚化処理のロジックはデバッグの味方

描画をロジックと合わせて見ることで、「処理の流れ」「パターン生成の偏り」などを直感的に可視化できます。これはデータ前処理や特徴量エンジニアリングにも通じる考え方です。


💡 一時停止やステップ実行を入れると教育用途にも最適

import time
time.sleep(0.1)

こうすることで、1ステップずつ動きを観察できます。


5. 発展編:もっとAIっぽくするには?

● GAN的な要素を取り入れるなら?

2つのカメを使い、互いに違うアルゴリズムで描かせて「対抗」させるのも面白いアプローチです。

# bot1とbot2に異なる描画戦略を与える

● OpenCVや画像処理との連携

描いた画像をOpenCVで保存し、フィルターや加工をかけて「最終生成物」にする流れは、生成AIの画像パイプラインと同じ発想です。


6. まとめ:お絵かきAIは遊びじゃない!

✅ メリット

  • PythonだけでビジュアルなAIっぽい体験ができる
  • 創造的アルゴリズムの入門に最適
  • 実装が簡単なのに意外と奥深い

❗ デメリット

  • あくまで「AIっぽさ」であり、学習はしていない
  • 業務応用にはさらなるステップが必要

👨‍💻 ぜひ触ってみてください!

Turtleで始めるお絵かきAI。たった数十行でも、**「AIってこういう考え方もあるんだ!」**と気づいてもらえたら嬉しいです。ちょっとした遊びから、大きな発想につながることもありますよ。

それでは、良きお絵かきAIライフを!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?