#/*
# animateNLD.pl
# # Copyright (C) 2005 Timothy Jones
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
#*/
#! /usr/bin/perl
#### Run this program in the same directory as your data list
### The data list should have three columns for the three dimensions
### if not executable, type chmod a+x animateNLD.pl
system("mv animate.gif old.animated");system("clear");
print STDOUT " ";
system("echo -en \"\\033[0;46m\"");
print STDOUT "Animate";
system("echo -en \"\\033[0;47m\"");
print STDOUT "NLD";
system("echo -en \"\\033[0;45m\"");
print STDOUT " Version 0.1\n";
system("echo -en \"\\033[0;43m\"");
print STDOUT "#############################################################\n";
system("echo -en \"\\033[0;33m\"");
print STDOUT "########## Nonlinear Dynamics 3D Animation Program ##########\n";
system("echo -en \"\\033[0;42m\"");
print STDOUT "########## Department of Physics, Drexel University #########\n";
print STDOUT "#############################################################\n";
system("echo -en \"\\033[0;39m\"");
print STDOUT "\n";
print STDOUT "This is the non-premium ps version.\n";
print STDOUT "\n";
print STDOUT "\n";
print STDOUT "Hit Enter to Continue...";
$false=;
print STDOUT "The following files are in this directory:\n";
system("echo -en \"\\033[0;36m\"");
system("ls");
system("echo -en \"\\033[0;39m\"");
system("echo -en \"\\033[0;39m\"");
print STDOUT "\n";
print STDOUT "Enter file name: ";
$file = ;
print STDOUT "Enter point size (0.1 smallest): ";
$ps = ;
chomp($ps);
print STDOUT "\n";
print STDOUT "...working...\n";
chomp($file);
$file2 = '/"'.$file.'/"';
#############################PREPARE GNUPLOT SCRIPT
$stuff= readpipe "echo 'set pointsize $ps' > gnu0001.dat";
$stuff= readpipe "echo 'set grid' >> gnu0001.dat";
$stuff= readpipe "echo 'set terminal postscript' >> gnu0001.dat";
#$stuff= readpipe "echo 'set terminal pbm' >> gnu0001.dat";
#$stuff= readpipe "echo 'set noxtics' >> gnu0001.dat";
#$stuff= readpipe "echo 'set noytics' >> gnu0001.dat";
#$stuff= readpipe "echo 'set noborder' >> gnu0001.dat";
$b = 0;
$bb = 100;
while ($b < 180){
$c = $b + 100;
$cc = $b*2;
$sview = "set view ".$b.", ".$cc.", 1";
$soutput = $c.".ps";
$sooutput = "a.".$c.".ps";
$stuff = readpipe "echo '$sview' >> gnu0001.dat";
$stuff = readpipe "echo 'set output \"$soutput\"' >> gnu0001.dat";
$stuff = readpipe "echo 'splot \"$file\"' >> gnu0001.dat";
#$stuff = readpipe "echo 'set output \"$sooutput\"' >> gnu0001.dat";
#$stuff = readpipe "echo 'splot \"$file\"' >> gnu0001.dat";
$b=$b+1;
#system("cp $output $sooutput");
}
print STDOUT "...Running GNUplot...\n";
########FDAFDSF
$stuff= readpipe "gnuplot gnu0001.dat";
print STDOUT "...GNUplot [";
system("echo -en \"\\033[0;37m\"");
print STDOUT "DONE";
system("echo -en \"\\033[0;39m\"");
print STDOUT "]\n";
#print STDOUT "...cloning images...\n";
#$b=0;
#while ($b < 180){
# $c = $b + 100;
# $soutput = $c.".ps";
# $sooutput = "a.".$c.".ps";
# system("cp $soutput $sooutput");
# $b = $b + 1;
# }
#print STDOUT "...Cloning [";
#system("echo -en \"\\033[0;37m\"");
#print STDOUT "DONE";
#system("echo -en \"\\033[0;39m\"");
#print STDOUT "]\n";
####################################################
############################################CONVERT
#$a=1;
#$pw=readpipe "pwd";
print STDOUT "...rotating images...\n";
system("mogrify -rotate 90 *.ps");
print STDOUT "...Rotating Images [";
system("echo -en \"\\033[0;37m\"");
print STDOUT "DONE";
system("echo -en \"\\033[0;39m\"");
print STDOUT "]\n";
#print STDOUT "...converting phase one...\n";
#system("mogrify -format tif *.ps");
#print STDOUT "...Phase One [";
#system("echo -en \"\\033[0;37m\"");
#print STDOUT "DONE";
#system("echo -en \"\\033[0;39m\"");
#print STDOUT "]\n";
#print STDOUT "...starting stereo formatting...\n";
#$a=0;
#while ($a < 180){
# $num = 100 + $a;
# $stuff= readpipe "ppmtogif $num.ppm > $num.gif";
# $n1 = $num.".tif";
# $n2 = "a.".$num.".tif";
# system("mogrify -roll +6+0 $n2");
# system("./anaglyph_i386_schlecht -tw $n1 $n2 -O $n1");
# $a=$a+1;
#}
#print STDOUT "...Stereographing [";
#system("echo -en \"\\033[0;37m\"");
#print STDOUT "DONE";
#system("echo -en \"\\033[0;39m\"");
#print STDOUT "]\n";
#print STDOUT "\n";
print STDOUT "Final formatting...\n";
system("rm a.*.tif");
system("mogrify -format gif *.ps");
system ("echo 'Initiating animation...'");
$stuff = readpipe "gifsicle --colors 256 *.gif > animate";
system ("echo 'Removing excess data to junk.tar, erase as you wish...'");
system ("mkdir ./junk001");
system ("mv ./*.gif ./junk001");
system ("mv ./*.ps ./junk001");
system ("mv ./*.tif ./junk001");
system ("tar zcf ./junk002.tar ./junk001/*");
system ("rm -rf ./junk001");
system ("rm -f ./gnu0001.dat");
system ("mv ./animate ./animate.gif");
system ("gimp ./animate.gif &");
system ("echo Done!");