ATA52 维护程序(M)
- 格式:ppt
- 大小:1.14 MB
- 文档页数:95


1 天文算法
译著 — 许剑伟和他的译友
第 1章 注释与提示
第 2章 关于精度
第 3章 插值
第 4章 曲线拟合
第 5章 迭代
第 6章 排序
第 7章 儒略日
第 8章 复活节日期
第 9章 力学时和世界时
第10章 地球形状
第11章 恒星时与格林尼治时间
第12章 坐标变换
第13章 视差角
第14章 升、中天、降
第15章 大气折射
第16章 角度差
第17章 行星会合
第18章 在一条直线上的天体
第19章 包含三个天体的最小圆
第20章 岁差
第21章 章动及黄赤交角
第22章 恒星视差
第23章 轨道要素在不同坐标中的转换
第24章 太阳位置计算
第25章 太阳的直角坐标
第26章 分点和至点
第27章 时差
2 第28章 日面计算
第29章 开普勒方程
第30章 行星轨道要素
第31章 行星位置
第32章 椭圆运动
第33章 抛物线运动
第34章 准抛物线
第35章 一些行星现象的计算
第36章 冥王星
第37章 行星的近点和远点
第38章 经过交点
第39章 视差修正
第40章 行星圆面被照亮的比例及星等
第41章 火星物理表面星历计算(未译)
第42章 木星物理表面星历计算(未译)
第43章 木星的卫星位置(未译)
第44章 土星环(未译)
第45章 月球位置
第46章 月面的亮区
第47章 月相
第48章 月亮的近地点的远地点
第49章 月亮的升降交点
第50章 月亮的最大赤纬
第51章 月面计算
第52章 日月食
第53章 日月行星的视半径
第54章 恒星的星等
第55章 双星
第56章 日晷的计算
备注 译者说明
原著 《天文算法》
3 天文算法
天文算法........................................................................................................................................... 1
QAD系统内主要有三类程序:维护程序,报表程序,查询程序。Progress程序一般都有比较固定的模式。
一、维护类程序模板。
{mfdtitle.i} /* 程序头,全局变量定义等,标准QAD的程序都需要加载此文件 */
define variables. /* 变量定义 */
form with frame a. /* frame定義,維護畫面內容 */
setFrameLabels(frame a:handle). /* 畫面標簽設置 */
Mainloop:
repeat:
prompt-for … editing: /*通常输入關鍵字段 */
{mfnp.i ……} /* 按上下鍵前后显示记录功能盤 */
end.
/* 记录的增改删处理 */
assign global…
find …
/* 在记录表中查询此条记录 */
if not available … /* 如果不存在此记录,则新增一条记录 */
{mfmsg.i 1 1} /* 类似mfmsg的子程序,都是信息提示类 */
create … /* 创建记录*/
assign … /* 给记录赋值 */
end.
Status = stline{2}.
update go-on (F5 or Ctrl-D) /* 继续维护剩余字段 */
if F5 or CTRL-D then do: /* 判断是否按了删除键,一般为F5或者Ctrl + D */
del-yn = yes.
{mfmsg01.i 11 1 del-yn} /* 刪除的處理 */
end.
End.
Status input.
二、报表类程序的模板。
{mfdtitle.i} /* 頭文件,必須要有*/
define variables. /* 变量定义 */
form
……
with frame a side-labels width 80. /*报表输入画面,限定输入参数,为一个frame */
atan2f函数
1. 简介
atan2f函数是一种数学函数,用于计算给定参数的反正切值。这个函数可以处理浮点数输入,并返回以弧度表示的结果。atan2f函数的功能相当强大且广泛应用,如在工程、物理学、计算机图形学等领域。
2. 定义与用途
atan2f函数是反正切函数的一种变体,可以通过提供两个参数x和y的值,计算出以弧度为单位的反正切值。它的计算方式为:
float atan2f(float y, float x);
其中,y表示直角三角形的对边,x表示直角三角形的邻边。通过这两个参数,atan2f函数可以得到一个新的角度值,反映了是从x轴正半轴逆时针旋转到直角三角形对应坐标点的角度。
atan2f函数的用途广泛,可以用于计算向量与x轴之间的角度,解决两个点之间的方向问题,以及处理旋转、倾斜、方向控制等场景。
3. 示例
为了更好地理解atan2f函数的用法和计算过程,下面给出几个示例。
示例1:计算向量与x轴之间的角度
假设有一个向量(vx, vy),需要求它与x轴之间的角度。可以使用atan2f函数来进行计算:
float angle = atan2f(vy, vx);
这里的angle表示向量与x轴之间的角度值。 示例2:解决两个点之间的方向问题
假设有两个点P1(x1, y1)和P2(x2, y2),需要求P1相对于P2的方向角度。可以使用atan2f函数来计算:
float dx = x1 - x2;
float dy = y1 - y2;
float angle = atan2f(dy, dx);
这里的angle表示P1相对于P2的方向角度值。通过计算两个点的坐标差值,并将其作为参数传入atan2f函数,可以得到两个点之间的方向角度。
示例3:处理旋转、倾斜、方向控制
在计算机图形学中,经常需要处理物体的旋转、倾斜、方向控制等问题。atan2f函数可以帮助解决这些问题。例如,可以通过atan2f函数来控制一个物体相对于某个中心点的旋转角度:
常用数学函数
abs(计算整型数的绝对值)
相关函数 labs, fabs
表头文件 #include
定义函数 int abs (int j)
函数说明 abs()用来计算参数j的绝对值,然后将结果返回。
返回值 返回参数j的绝对值结果。
范例 #ingclude
main(){
int ansert;
answer = abs(-12);
printf("|-12| = %d\n", answer);
}
执行 |-12| = 12
acos(取反余弦函数数值)
相关函数 asin , atan , atan2 , cos , sin , tan
表头文件 #include
定义函数 double acos (double x);
函数说明 acos()用来计算参数x的反余弦值,然后将结果返回。参数x范围为-1至1之间,超过此范围则会失败。
返回值 返回0至PI之间的计算结果,单位为弧度,在函数库中角度均以弧度来表示。
错误代码 EDOM参数x超出范围。
附加说明 使用GCC编译时请加入-lm。
范例 #include main (){
double angle;
angle = acos(0.5);
printf("angle = %f\n", angle);
}
执行 angle = 1.047198
asin(取反正弦函数值)
相关函数 acos , atan , atan2 , cos , sin , tan
表头文件 #include
定义函数 double asin (double x)
函数说明 asin()用来计算参数x的反正弦值,然后将结果返回。参数x范围为-1至1之间,超过此范围则会失败。
返回值 返回-PI/2之PI/2之间的计算结果。
错误代码 EDOM参数x超出范围
附加说明 使用GCC编译时请加入-lm
范例 #include
main()
{
double angle;