summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-05-28 19:22:13 +0200
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-05-28 19:22:13 +0200
commit47dbcc5c434c293da10039eb56a8393926b3137a (patch)
tree7d3e5f693a3846f935f39b3788e559f17d05bbec
parentfad65d8b65673c66554bbf4f85fe46bef7e39542 (diff)
update
-rw-r--r--src/Panorama.H2
-rw-r--r--src/Panorama.cxx14
2 files changed, 8 insertions, 8 deletions
diff --git a/src/Panorama.H b/src/Panorama.H
index 36003d9..bfa70d5 100644
--- a/src/Panorama.H
+++ b/src/Panorama.H
@@ -35,7 +35,7 @@ class Panorama {
double distance(double phi, double lam);
double alpha(const Hill *m);
double nick(const Hill *m);
- double refraction_change(const Hill *m);
+ double refraction(const Hill *m);
double comp_center_angle(double alph_a, double alph_b, double d1, double d2);
double comp_scale(double alph_a, double alph_b, double d1, double d2);
int get_matrix(double m[]);
diff --git a/src/Panorama.cxx b/src/Panorama.cxx
index 49010f5..06754ae 100644
--- a/src/Panorama.cxx
+++ b/src/Panorama.cxx
@@ -429,25 +429,25 @@ Panorama::alpha(const Hill *m) {
}
double
-Panorama::refraction_change(const Hill *m) {
- double a, b, c, alpha = 6.5 / 1000.0, T0 = 10.0;
+Panorama::refraction(const Hill *m) {
+ double a, b, c, alpha = 6.5, T0 = 0.0;
a = 2.9e-4 * exp (-view_height / 10000.0) / (1.0 + 2.9 * T0 / 760.0);
b = 2.9 * alpha / (760.0 * (1.0 + 2.9 * T0 / 760.0));
- c = a * (b - 1.0 / 10000.0);
+ c = a * (b - 1.0 / 10.0);
- return (c * get_real_distance(m) / (2.0 * (1.0 + a)));
+ return c * get_real_distance(m) / (2000.0 * (1.0 + a));
}
double
Panorama::nick(const Hill *m) {
- double b, c, theta = refraction_change(m);
+ double b, c, theta = refraction(m);
b = m->height + get_earth_radius(m->phi);
c = view_height + get_earth_radius(view_phi);
-if (get_real_distance(m) < 200000)
-fprintf(stderr, "=== %s, %g\n", m->name, theta);
+if (get_real_distance(m) < 100000)
+fprintf(stderr, "=== %s, %g, %g\n", m->name, get_real_distance(m), theta / deg2rad);
return atan((cos(m->dist) * b - c) / (sin(m->dist) * b)) - theta;
}