1ページの画面が比較的短時間で用意できる場合は, パラメータ 'ALTERNATE'=.TRUE., 'WAIT'=.FALSE. とすることで, アニメーション表示が可能になる.
上記の方法では遅い場合, 'DUMP'=.TRUE. として xwd ファイル(X), bmp ファイル(Windows)を作成し, ビデオ作成ユーティリティーなどを使って アニメーションを作成する.
'WAIT', 'WAIT_OPENING, 'WAIT_CLOSING' をすべて .FALSE. にしておけ ば, 自動的にファイルを作成することが可能であるが, 画面のキャプチャーを用いているので画面表示をせずにこれを行なうことはできない.
program anim
use dcl
integer,parameter :: nmax=400, kmax=100
real :: x(0:nmax), y(0:nmax)
character(len=5) :: title
dt = 2.*3.14159 / nmax
call DclSetParm('alternate',.true.)
call DclSetParm('wait',.false.)
call DclOpenGraphics(1)
do k = 1,kmax
x = (/ (dt*n, n=0,nmax) /)
y = sin( x + dt*k/kmax*nmax )
call DclNewFrame
call DclSetWindow( 0., 2.*3.14159, -1.5, 1.5 )
call DclSetViewPort( 0.2, 0.8, 0.2, 0.8 )
call DclSetTransFunction
call DclDrawScaledAxis
title(1:2) = 't='
write(title(3:5),'(i3)') k
call DclDrawTitle('t',title)
call DclDrawLine( x, y )
end do
call DclCloseGraphics
end program
|
![]() |