中华农历论坛知识讨论区历法知识 → 求助?JavaScript转delphi


  共有11870人关注过本帖树形打印

主题:求助?JavaScript转delphi

帅哥哟,离线,有人找我吗?
delcomp
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:11 积分:274 威望:0 精华:0 注册:2010/5/15 22:15:00
求助?JavaScript转delphi  发帖心情 Post By:2010/5/22 22:44:00

function CD2DP(z,L,fa,gst){ //赤道坐标转为地平坐标
  var a=new Array(z[0]+Math.PI/2-gst-L, z[1], z[2]);  //转到相对于地平赤道分点的赤道坐标
  a = llrConv( a, Math.PI/2-fa );
  a[0] = rad2mrad( Math.PI/2-a[0] );
  return a;
}

delphi:
function CD2DP(z:tcor;L,fa,gst:double):tcor;    //赤道坐标转为地平坐标
var a:tcor;
begin
  a[0]:=z[0]+ PI/2-gst-L;a[1]:=z[1];a[2]:=z[2];  //转到相对于地平赤道分点的赤道坐标
  a:= llrConv( a, PI/2-fa );
  a[0]:= rad2mrad( PI/2-a[0] );
  result:=a;
end;

编程验证JavaScript和delphi是否一致时发现问题。
用下面这个验证JavaScript:
<html><br/><title>测试javascript函数</title><br/><head><br/><br/><br/><br/><br/></head><br/><br/><body><br/><br/><br/><br/>测试javascript函数<br/><br/><br/><br/><button>点击测试函数</button><br/><br/><br/><br/>p1:<input type="text" name="p1" id="p1"/>


<br/>p2:<input type="text" name="p2" id="p2"/>


<br/>p3:<input type="text" name="p3" id="p3"/>


<br/>p4:<input type="text" name="p4" id="p4"/>


<br/>p5:<input type="text" name="p5" id="p5"/>


<br/>p6:<input type="text" name="p6" id="p6"/>


<br/><br/><br/><br/>result1:  <input type="text" name="r1" id="result1"/>


<br/>result2:  <input type="text" name="r2" id="result2"/>


<br/>result3:  <input type="text" name="r3" id="result3"/>


<br/><br/></body><br/></html>

当p1=2.3,p2=2.1时r1,r2均为NaN,取其他数值时,r1,r2有数值了,但和delphi的程序不一样。
下面这些函数验证都已通过,没发现问题
function rad2mrad(v:double):double; //对超过0-2PI的角度转为0-2PI
function rad2rrad(v:double):double; //对超过-PI到PI的角度转为-PI到PI
function mod2(a,b:double):double;  //临界余数(a与最近的整倍数b相差的距离)
function llr2xyz(JW:tcor):tcor;  //球面转直角坐标
function xyz2llr(xyz:tcor):tcor;  //直角坐标转球
function llrConv(JW:tcor;E:double):tcor;  //球面坐标旋转

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

求助?JavaScript转delphi








签名