amir01
Well-Known Member
بچه ها من یه کدی نوشتم ولی هر جا از
استفاده کردم ارور Division by zero رو میده. اگه کمک کنید ممنون میشم.
$PI = 3.141592653589793;
قبلا از کمکتون تشکر میکنم. یاحق
کد:
180/$PI
$PI = 3.141592653589793;
کد:
$d = 6 + 30 * ($m - 1)+ $d + $h / 24;
$M = 74.2023 + 0.98560026 * $d;
$L = -2.75043 + 0.98564735 * $d;
$lst = 8.3162159 + 0.065709824 * floor($d) + 1.00273791 * 24 * ($d % 1) + $lg / 15;
$e = 0.0167065;
$omega = 4.85131 - 0.052954 * $d;
$ep = 23.4384717 + 0.00256 * cosd($omega);
$ed = 180.0 / $PI * $e;
$u = $M;
for($i=1; $i < 5; $i++) {
$u = $u - ($u - $ed * sind($u) - $M)/(1 - $e * cosd($u));
}
$v = 2 * atand(tand($u/2) * sqrt((1+$e)/(1-$e)));
$theta = $L + $v - $M - 0.00569 - 0.00479 * sind($omega);
$delta = asind(sind($ep)*sind($theta));
$alpha = 180.0/$PI * atan2(cosd($ep) * sind($theta), cosd($theta));
if($alpha >= 360){
$alpha -= 360;
}
$ha = $lst - $alpha/15;
$zr = Roundd($h-$ha, 24);
$ret[0] = $zr;
$ret[1] = $delta;
return $ret;