#include <stdio.h>
#include <math.h>
#define deg2rad 0.01745329251994433
struct Data
{
double X, Y, Z;
double B, L, H;
double a;
double b;
};
void BLH2XYZ(Data *dsrc)
{
double e = sqrt(1 - (dsrc->b / dsrc->a)*(dsrc->b / dsrc->a));
double sinB = sin(dsrc->B);
double cosB = cos(dsrc->B);
double sinL = sin(dsrc->L);
double cosL = cos(dsrc->L);
double tanB_2 = tan(dsrc->B) * tan(dsrc->B);
double f = 1 - e * e;
double fd = sqrt(1 + f * tanB_2);
dsrc->X = (dsrc->a * cosL) / fd + dsrc->H * cosB * cosL;
dsrc->Y = (dsrc->a * sinL) / fd + dsrc->H * cosB * sinL;
double fd2 = sqrt(1 - e * e * sinB * sinB);
dsrc->Z = (dsrc->a * f * sinB) / fd2 + dsrc->H * sinB;
}
int main()
{
Data dsrc;
dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
BLH2XYZ(&dsrc);
printf("%.4lf %.4lf %.4lf\n", dsrc.B, dsrc.L, dsrc.H);
printf("%.4lf %.4lf %.4lf\n", dsrc.X, dsrc.Y, dsrc.Z);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiAKI2RlZmluZSBkZWcycmFkIDAuMDE3NDUzMjkyNTE5OTQ0MzMKIApzdHJ1Y3QgRGF0YQp7CiAgICBkb3VibGUgWCwgWSwgWjsKICAgIGRvdWJsZSBCLCBMLCBIOwogICAgZG91YmxlIGE7CiAgICBkb3VibGUgYjsKfTsKIAp2b2lkIEJMSDJYWVooRGF0YSAqZHNyYykKeyAKICAgIGRvdWJsZSBlID0gc3FydCgxIC0gKGRzcmMtPmIgLyBkc3JjLT5hKSooZHNyYy0+YiAvIGRzcmMtPmEpKTsKICAgIGRvdWJsZSBzaW5CID0gc2luKGRzcmMtPkIpOwogICAgZG91YmxlIGNvc0IgPSBjb3MoZHNyYy0+Qik7CiAgICBkb3VibGUgc2luTCA9IHNpbihkc3JjLT5MKTsKICAgIGRvdWJsZSBjb3NMID0gY29zKGRzcmMtPkwpOwogCiAgICBkb3VibGUgdGFuQl8yID0gdGFuKGRzcmMtPkIpICogdGFuKGRzcmMtPkIpOwogICAgZG91YmxlIGYgPSAxIC0gZSAqIGU7CiAgICBkb3VibGUgZmQgPSBzcXJ0KDEgKyBmICogdGFuQl8yKTsKIAogICAgZHNyYy0+WCA9IChkc3JjLT5hICogY29zTCkgLyBmZCArIGRzcmMtPkggKiBjb3NCICogY29zTDsKICAgIGRzcmMtPlkgPSAoZHNyYy0+YSAqIHNpbkwpIC8gZmQgKyBkc3JjLT5IICogY29zQiAqIHNpbkw7CiAKICAgIGRvdWJsZSBmZDIgPSBzcXJ0KDEgLSBlICogZSAqIHNpbkIgKiBzaW5CKTsKICAgIGRzcmMtPlogPSAoZHNyYy0+YSAqIGYgKiBzaW5CKSAvIGZkMiArIGRzcmMtPkggKiBzaW5COwp9CiAKaW50IG1haW4oKQp7CiAgICBEYXRhIGRzcmM7CiAgICBkc3JjLmEgPSA2Mzc4MTM3LjAwMDA7IGRzcmMuYiA9IDYzNTY3NTIuMzE0MjsKICAgIGRzcmMuQiA9IDMwICogZGVnMnJhZDsgZHNyYy5MID0gMTE0ICogZGVnMnJhZDsgZHNyYy5IID0gMjA7CiAKICAgIEJMSDJYWVooJmRzcmMpOwogICAgcHJpbnRmKCIlLjRsZiAgICAlLjRsZiAgICAlLjRsZlxuIiwgZHNyYy5CLCBkc3JjLkwsIGRzcmMuSCk7CiAgICBwcmludGYoIiUuNGxmICAgICUuNGxmICAgICUuNGxmXG4iLCBkc3JjLlgsIGRzcmMuWSwgZHNyYy5aKTsKfQ==
Main.java:1: error: illegal character: '#'
#include <stdio.h>
^
Main.java:1: error: class, interface, or enum expected
#include <stdio.h>
^
Main.java:2: error: illegal character: '#'
#include <math.h>
^
Main.java:4: error: illegal character: '#'
#define deg2rad 0.01745329251994433
^
Main.java:9: error: class, interface, or enum expected
double B, L, H;
^
Main.java:10: error: class, interface, or enum expected
double a;
^
Main.java:11: error: class, interface, or enum expected
double b;
^
Main.java:12: error: class, interface, or enum expected
};
^
Main.java:14: error: class, interface, or enum expected
void BLH2XYZ(Data *dsrc)
^
Main.java:17: error: class, interface, or enum expected
double sinB = sin(dsrc->B);
^
Main.java:18: error: class, interface, or enum expected
double cosB = cos(dsrc->B);
^
Main.java:19: error: class, interface, or enum expected
double sinL = sin(dsrc->L);
^
Main.java:20: error: class, interface, or enum expected
double cosL = cos(dsrc->L);
^
Main.java:22: error: class, interface, or enum expected
double tanB_2 = tan(dsrc->B) * tan(dsrc->B);
^
Main.java:23: error: class, interface, or enum expected
double f = 1 - e * e;
^
Main.java:24: error: class, interface, or enum expected
double fd = sqrt(1 + f * tanB_2);
^
Main.java:26: error: class, interface, or enum expected
dsrc->X = (dsrc->a * cosL) / fd + dsrc->H * cosB * cosL;
^
Main.java:27: error: class, interface, or enum expected
dsrc->Y = (dsrc->a * sinL) / fd + dsrc->H * cosB * sinL;
^
Main.java:29: error: class, interface, or enum expected
double fd2 = sqrt(1 - e * e * sinB * sinB);
^
Main.java:30: error: class, interface, or enum expected
dsrc->Z = (dsrc->a * f * sinB) / fd2 + dsrc->H * sinB;
^
Main.java:31: error: class, interface, or enum expected
}
^
Main.java:36: error: class, interface, or enum expected
dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
^
Main.java:36: error: class, interface, or enum expected
dsrc.a = 6378137.0000; dsrc.b = 6356752.3142;
^
Main.java:37: error: class, interface, or enum expected
dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
^
Main.java:37: error: class, interface, or enum expected
dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
^
Main.java:37: error: class, interface, or enum expected
dsrc.B = 30 * deg2rad; dsrc.L = 114 * deg2rad; dsrc.H = 20;
^
Main.java:39: error: class, interface, or enum expected
BLH2XYZ(&dsrc);
^
Main.java:40: error: class, interface, or enum expected
printf("%.4lf %.4lf %.4lf\n", dsrc.B, dsrc.L, dsrc.H);
^
Main.java:41: error: class, interface, or enum expected
printf("%.4lf %.4lf %.4lf\n", dsrc.X, dsrc.Y, dsrc.Z);
^
Main.java:42: error: class, interface, or enum expected
}
^
30 errors