2
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?

More than 5 years have passed since last update.

Octaveでgifアニメーション

Last updated at Posted at 2019-10-26

概要

windowsのOctaveを用いて,gifアニメーションを作成してみます.
できる限り楽で軽い方法を探しました.

データ

データは 1xN の行列(ベクトル)を用います.

流れ

一度pngファイルにしてから,gifに変換します.

点が増えて行く場合

グラフを定義します.
これは最後にpngに保存するために必要です.

img.m
h=gcf(); 

そして,通常のようにグラフを描いていきます.
hold on は,まだグラフを初期化せずにholdしておくということです.
sprintfによって,pngファイルの名前をiに依存する名前にしています.

img.m
for i=1:N
   plot(x(i),y(i),"or")
   hold on
   xlim([-10 10])
   ylim([-10 10])
   saveas(h, sprintf('img_%03d.png', i));
endfor

点が動いていく

点が動く場合は毎回hold offすれば可能です.

img.m
for i=1:N
   plot(x(i),y(i),"or")
   hold on
   xlim([-10 10])
   ylim([-10 10])
   saveas(h, sprintf('img_%03d.png', i));
endfor

pngをgifに変換

このサイトを使えば,オンラインで変換可能です.

おまけ

グラデーション

グラフの種類によっては点の色を変えてグラデーションにしてみるということも考えられます.

img.m
for i=1:N
   plot(x(i),y(i),"or","Color",[i/N, 1-i/N, 0.5])
   hold on
   xlim([-10 10])
   ylim([-10 10])
endfor

点の色ををランダムに変えることも

img.m
color = rand(N, 3)

for i=1:N
   plot(x(i),y(i),"or","Color",[color(i,1), color(i,2), color(i,3)])
   hold on
   xlim([-10 10])
   ylim([-10 10])
endfor
2
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
2
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?