1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ChatGPT+Code Interpreter】で文字の回転をさせるアニメを作る。

Posted at

 どうも、カーブミラーです。

 今回は、文字の回転をさせるアニメを作ります。ようするに文字を傾かせたり逆さにしたりを繰り返してアニメGIFにします。

本記事は、ChatGPT(有料版)
で行なっております。画像は
あります。 あしからず。

 ニュースがないので、
  さっそく、本題です。

 今回は、
  文字の回転をさせる
   アニメGIFを作ります。

 なぜ、これをするのか、ですが
  単なる興味です😅

 まずは、
  出来上がりを
   どうぞ。
resized_512x512.gif

 回転だけでなく
  移動もさせました。

 単なる回転だけだと
  面白くないので😸

 では
  経緯のやり取りをどうぞ。
   Pythonコードが出てきますが
    割愛します(長いので😅)


user
CodeInterpreterで描画した文字を回転させるなんてできますか? 横倒しにするとか。

ChatGPT
はい、CodeInterpreterで文字を回転させることは可能です。Pythonのmatplotlibライブラリを使用して、文字を回転させて描画することができます。以下はその一例です。
(コード)

このコードでは、文字「回転した文字」を90度回転させて描画します。他の角度に変更したい場合は、rotationパラメータの値を調整してください。たとえば、45度回転させたい場合は、rotation=45とします。
(ダウンロードリンク)

user
CodeInterpreterで、“A”を45度ずつ左回転させて、360度回転させるアニメGIFを作成してください。

ChatGPT
(“A”の反時計回りの回転アニメGIF)

user
背景を512×512にして

ChatGPT
(画素数が512×512の回転アニメGIF)

user
文字を回転させながら、移動させることは可能?

ChatGPT
文字を回転させながら移動させることも可能です。matplotlib.animationを使用して、文字の位置をフレームごとに更新することで、回転と移動を同時に行うことができます。以下はその例です。
(コード)

このコードでは、文字「A」を回転させながら左から右へ移動させるアニメーションを作成します。実行してみます。
(ダウンロードリンク)

user
右から左にお願いします

ChatGPT
(ダウンロードリンク)

user(最後まで回転してないよ)
最後に文字の傾きをなくしてください。つまり、360度回転して欲しいです

ChatGPT
(ダウンロードリンク)


 これで下記の内容で作成されました。
 ・画素数を512×512
 ・“A”を反時計回りに回転(最後まで)
 ・右から左に移動
 ・アニメGIF化


 新たなセッションで
  これを再現するには
   最終的なコードをコピーして、
    行なおうとします。

 コードは
  ダウンロードリンクの右側に
   “[>_]”をタップすれば見れます。

 ところが
  コードを新しいセッションに
   コピペしても動きません。

 理由は
  ライブラリの読み込みの記述が
   書かれていないことが原因です。

 ではどうしたら?
  ChatGPTさんに依頼しました😅

 同じセッションの続きです。


user
新たなセッションで指示して、このアニメGIFを作成するための指示Promptを作成してください。

ChatGPT
以下は、アニメGIFを作成するためのPythonコードを含む指示プロンプトです。新しいセッションでこのプロンプトを使用してください。

Prompt
以下のPythonコードを使用して、文字「A」を45度ずつ回転させながら右から左に移動し、最終的に元の角度に戻るアニメーションGIFを作成してください。背景サイズは512x512です。

```python
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

# 文字の設定
text = "A"
angles = np.concatenate((np.arange(0, 360, 45), [0]))  # 最後に角度0を追加
positions = np.linspace(0.9, 0.1, len(angles))

# 背景サイズを512x512に設定
fig, ax = plt.subplots(figsize=(5.12, 5.12))
ax.axis('off')
text_obj = ax.text(0.9, 0.5, text, fontsize=50, ha='center', va='center')

# アニメーションの更新関数
def update(i):
    angle = angles[i % len(angles)]
    pos = positions[i % len(positions)]
    text_obj.set_rotation(angle)
    text_obj.set_position((pos, 0.5))
    return text_obj,

# アニメーションの作成
ani = animation.FuncAnimation(fig, update, frames=len(angles), interval=500, blit=True)

# GIFとして保存
ani.save('/mnt/data/rotating_moving_A_full_rotation.gif', writer='imagemagick')

plt.close(fig)

この指示プロンプトを新しいセッションで実行することで、同じアニメーションGIFを作成することができます。


 また、
  Code Interpreterを使うことを
   明示しないと、Pythonを
    処理してくれません。

 そこで、
  上記Promptの先頭に
   “CodeInterpreterで、”を
    追記して送信します。

 みなさんの
  作品制作の糧に
   なれば、幸いです。

 今回は、ここまで。

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?