Newer
Older
#! /usr/bin/perl
foreach $_ (split(/:/, $ENV{'PATH'})) {
push(@INC, $_), last if -f "$_/tfm.pl";
}
require 'tfm.pl';
$fovy = 71; # Y-axis field of view (included in .wf file)
slevy
committed
$start = $ARGV[0] || "0 0 0 0.703464 -90.24 -29.3133"; # starting "jump" view
$axis = $ARGV[1] || "0 0 1"; # rotation axis
$center = $ARGV[2] || "0 0 0"; # fixed point of rotation
$angle = 360; # rotate through this total angle
$time = 25; # seconds duration
$fps = 20; # ... assuming this many frames/sec
###
# Now construct a .wf path (loadable with the "Path..." button)
$nframes = $time * $fps;
$perframe = ($nframes == 0) ? 0 : $angle / $nframes;
@c2w0 = &vd2tfm( split(' ', $start) ); # initial camera-to-world tfm
@axis = split(' ', $axis);
@axis = (0,0,1) unless @axis == 3;
@center = split(' ', $center);
for($i = 0; $i <= $nframes; $i++) {
$theta = $i * $perframe; # angle in degrees
@Trot = &tfm( @axis, $theta, @center );
@c2w = &tmul( @c2w0, @Trot );
@vd = &tfm2vd( @c2w );
printf "%.7g %.7g %.7g %.7g %.7g %.7g %s\n", @vd, $fovy;
}