I finally got down to analyzing this  rather than making guesses. I find that the problem involves 2 dimensional geometry where the only thing that changes when looking at the center of the "ruler" vs the end of the ruler is the horizontal distance to the ruler. No spherical trig and use of similar triangles. The results are the same but the capability of J to efficently manipulate complex numbers (and I have a lot of experience with these) leads to the following

In this dh, dv are the horizontal and vertical distance to the horizon with respect to the observer.

cdtr=:1p1%180

Re=:6.378e6

alpha=: 30 NB. half of angle subtended by ruler

findel =: dyad define NB. angles in radians

'dh dv'=.+. (%:y*y+2*Re)r. a=._2 o. Re%Re+y

del=: (-a)+_3 o. dv%dh*2 o. x

)

] del10=: 30r180p1 findel 10

0.000273945 (radians)

del10%cdtr

0.0156959 (degrees) -same as what you got

] del400k=: 30r180p1 findel 4e5

0.0483724

del400k%cdtr

2.77154 (same as your value)

]del400k90 =:45r180p1 findel 4e5

0.125281

del400k90 %cdtr

7.17807 (again agreed)

You got it right first- I just used a different approach in part

Don

On 2018-02-27 1:04 PM, J. Patrick Harrington wrote: Someone once told me that the only phrase an academic needs in any language is "Well, it's not that simple ..." If the height of the observer is 0, then the horizon is the plane through the observer perpendicular to the zenith direction - it's a great circle and there is no curvature. But if you're above the surface, the horizon is at the distance d where your line-of-sight is tangent to the earth's surface. The distance to the horizon is then d=sqrt[2Rh+h^2], from the Pythagorean triangle d^2 + R^2 = (R+h)^2 where R=Earth's radius. In J NB. The angle from the zenith to the horizon will exceed NB. 90 degrees by an amount depending upon the height h NB. of the observer above the ocean surface. This excess NB. is called the "dip" of the horizon. (This formula NB. neglects atmospheric refraction which isn't justified!) NB. Usage: hdip h --> angle to horizon in excess of 90 deg hdip=: monad define R_E=. 6378e3 NB. Earth's equatorial radius in meters h=. y        NB. height of observer in meters d=: %: (2*R_E*h)+ h*h  NB. distance to horizon NB. dip=: asin d% R_E+ h dip=: atan d%R_E dip%cdtr ) cdtr=: 1p1%180   NB. convert degrees to radians E.g., If you're 10m above the surface     hdip 10 0.10146 and    d 11294.3 So the horizon is 11.3 km away and appears 0.1 degree below the horizontal plane." At this point, we must do some spherical trig. (I've taught observational astronomy, so it's no problem for me Imagine you are at the center of the celestial sphere. Your staright-edge will project on to the sphere as a *great circle*. But your horizon is *not* a great circle, it is a "small circle" cut into the celestial sphere by a plane that does not pass through the center (you). (A small circle is like a circle of constant latitude on the globe away from the equator.) So if your straight-edge touches the horizon at two points, it will pull away from the horizon it the middle. (Just like your plane doesn't fly along a line of constant latitude when it takes a great circle route from NY to Spain.) I've tried to impliment the spherical trig here (I'm sure it's worked out carefully somewhere.) NB. arc of horizon = the angular extent of the straight-edge NB. Usage: (arc of horizon) curve (dip of horizon) ===> Z NB. Z = angle of horizon above straight edge at its midpoint NB. all angles in degrees curve=: dyad define alpha=: cdtr*x a=: 0.5p1 - cdtr*y s=: acos (*: cos a)+ (*: sin a)*cos alpha chs=: cos -:s c=: acos (cos a)%chs del=: a - c del%cdtr ) So for a straight-edge the subtends 60 degrees of the horizon and an observer 10 meters above the sea, we find    60 curve (hdip 10) 0.0156959 The horizon is ~0.016 degree above the mid-point of the ruler, about a minute of arc. For the space station at h= 400 km, we get    60 curve (hdip 400e3) 2.77154 an easily noticed ~3 degrees. Or with a wider ruler, spanning 90 deg    90 curve (hdip 400e3) 7.17807 I think this makes sense, but I offer no guarantees. Patrick

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to