"Oversæt" pearl til PHP
HejJeg har fundet dette script der beregner solen op, og nedgangstider. Men desværre er det lavet i Pearl (tror jeg da). Kan se det ligner PHP ret meget, men kan ikke helt finde rundt i det.. Er der mon nogen der kan hjælpe med at "oversætte" det??
Scriptet:
#!/usr/local/bin/perl -w
use POSIX;
use strict;
my($pi) = 4*atan2(1,1);
my($x,$y,$z,$L,$B);
my($R) = 40000000/2/$pi;
print "TR 0 0 5 1 0 0 0.00\n";
sub rotax {
my ($a,$x,$y,$z) = @_[0,1,2,3];
($y,$z) = ($y*cos($a)+$z*sin($a),-$y*sin($a)+$z*cos($a));
return ($x,$y,$z);
}
sub rotay {
my ($a,$x,$y,$z) = @_[0,1,2,3];
($x,$z) = ($x*cos($a)-$z*sin($a),$x*sin($a)+$z*cos($a));
return ($x,$y,$z);
}
sub rotaz {
my ($a,$x,$y,$z) = @_[0,1,2,3];
($x,$y) = ($x*cos($a)+$y*sin($a),-$x*sin($a)+$y*cos($a));
return ($x,$y,$z);
}
my($t,$m,$d,$min,$max);
($L,$B) = (10*$pi/180,56*$pi/180);
for $d (0..364) {
$min = 0;
$max = 0;
for $m (0..24*60) {
$t = $d*24*60+$m-12*60+8*24*60-60;
($x,$y,$z) = ($R*cos($B)*cos($L),$R*cos($B)*sin($L),$R*sin($B));
($x,$y,$z) = rotaz(-$t/(24*(365.25/366.25)*60)*2*$pi,$x,$y,$z);
($x,$y,$z) = rotay(23*$pi/180,$x,$y,$z);
($x,$y,$z) = rotaz(+$t/(365.25*24*60)*2*$pi,$x,$y,$z);
if ($x > 0) {
$min = $m if $min == 0;
$max = $m;
}
}
print "P o $d $min\nL o o\n";
print "P o $d $max\nL o o\n";
}
print "P o 1 0\nL o o\n";
print "P o 1 ".(24*60)."\nL o o\n";
