アフィン変換のアニメ化にハマって、円を立てて回転させるアニメに挑戦し、配列の使い方が分からず、結構苦労してやっと完成しました。サンプルアニメとソースコードを書きます。2023.01.22
# matplotlibで円を立てて回した様子を表示
# 2023.01.22 by Kero
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.animation import ArtistAnimation
fig = plt.figure()
ax1 = fig.add_subplot(111, projection='3d') # ここまで常套句。
t = np.linspace(0, np.pi * 2, 180) # 図(円)を2度ずつ刻んで描画。
z = np.sin(t) # 縦描画におけるz座標の配列を作っておく。
frames = [] # 動画フィルムを初期設定。
for i in np.linspace(0, np.pi * 20, 360): # 10回転。1回転は10度キザミ。
x = np.cos(t) * np.cos(i) # cos(t)はxy面への写像。そのx座標の配列ができる。
y = np.cos(t) * np.sin(i) # xy面への写像のy座標の配列ができる。
frame = ax1.plot(x, y, z, color='blue') # 縦になった円が描かれる。
frames.append(frame) # 動画フィルムの1コマとして焼きつける。
ani = ArtistAnimation(fig, frames, interval=100) # 動画のおまじまい。
plt.show() # グラフ表示。