求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,悬赏20个币,求帮忙

求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,不要复杂的界面,悬赏20个币,求帮忙.程序要求能读取存储经纬高数据的文本,转换成XYZ存成文本,给力的话可以再加币,多谢多谢!

纬度和高度都是可以直接转换的。只有经度,经度根据纬度可以换算,公式是cos(维度)*(赤道周长/360)

以地球为严格的球体来做的话,以球心画出一个参考的三围坐标系,不难得到

 #include <stdio.h>
#include <math.h>

#define EARTH_RADIUS    6371
#define PI              3.1415926

int main()
{
        float longitude = 0;
        float latitude = 0;

        float x = EARTH_RADIUS * cos(latitude) * cos(longitude);
        float y = EARTH_RADIUS * cos(latitude) * sin(longitude);
        float z = EARTH_RADIUS * sin(latitude);

        printf("x: %f, y: %f, z: %f\n", x, y, z); 

        return 0;
}

关于理论知识,上面都有介绍,配一幅图帮助你理解吧。
图片说明