Well, there's certainly a fund of ideas here! But I must distinguish them for priority reasons as follows:
(a) validating an approximate treatment to estimate an upper bound for the size of the Mark Haddon effect (if I may call it that), (b) the correct use of spherical trigonometry for a precise treatment involving height of the observer above the ground (c) curvature of a light ray due to atmospheric diffraction, (d) issues surrounding the use of J to work with very small angles. To which I forbore to add: relativistic effects due to a flat earth constituting a supermassive gravitational lens (because I felt it would unduly clutter the discussion). All of these aspects interest me, and I'd love to discuss them at greater depth, since history and philosophy of science is a fad of mine. But I chose to put my question to the J-programming forum specifically to get my head around (d), which is the only J-programming topic. I'm assembling a collection of case-studies using TABULA, and observational geometry looms large – and triangles with the radius of the earth along one side frequently crop up. With the resulting very small angles, 'float' precision won't do. I want to explore the scope for extended precision, which means collecting techniques for doing geometry and trigonometry which don't contingently revert to 'float' partway through. Thank you for your ideas on this topic, which has likely given me enough to go on. On Wed, Feb 28, 2018 at 1:33 PM, Ian Clark <[email protected]> wrote: > @Don – I'm not sure about this. If the straight-edge is replaced by a > horizontal hoop equidistant from the eye at all points, then I agree with > you. > But suppose an infinitely long straight-edge: there is no longer symmetry > in all directions. As you look out towards its extremities wouldn't you see > the sphere of the earth progressively dropping away from beneath it? Yes, > the increased distance will shrink the perceived drop-away, but the sphere > drops away faster. > The argument is more convincing if you don't line up the ends with the > horizon, as my original diagram requires, but make the middle of the > lower-edge tangential to the horizon. Then the looked-for "arch" is below > the straight-edge, not rising above it. > The shortness of a 30 cm steel ruler can be overcome by moving the eye > ever closer. Yes I agree the drop-away is minute in practice (the thickness > of a strand of DNA), which is what I wanted to demonstrate. But I find it > hard to accept that it is mathematically zero. > > On Wed, Feb 28, 2018 at 4:16 AM, Don Kelly <[email protected]> wrote: > >> If the observer is standing at some point on the surface of the earth.and >> is facing in a given direction with the straight edge. you are looking as >> you describe. If facing another direction, you are , by symmetry, looking >> at the same curvature and the same distance to the horizon. You are looking >> at a great circle in any direction. Replace the straight edge by a barrel >> band of some radius -with you at the center- whichever way you look there >> is symmetry which reflects the statements "if the height... radius" In >> theory the distance from the eye to the end of a straight ruler is >> different from that to the center of the ruler-but does this give a >> measurable effect? Not with a 30 cm ruler 2 m above the surface of the >> earth. Certainly the horizon is a small circle but looking out in any >> direction from a given point close to the surface of the earth is looking >> along a line tangent to a great circle. I'm not sure that there is a need >> to deal with spherical trig because of the symmetry. However, my last use >> of spherical trig was about 1952 so i am rusty (and not standing at the >> center of the celestial sphere or even the earthly sphere). >> >> 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 >>> >>> On Tue, 27 Feb 2018, Don Kelly wrote: >>> >>>> I agree with the series approach but the final result depends on >>>> division which has limited accuracy. I would suggest using the following >>>> which uses 100*L%R as a rational fraction >>>> >>>> (10^_2)*(1r2)* 175r637816300 >>>> >>>> 1.37187e_9 >>>> >>>> >>>> However, the solution is wrong in any case. It is the result of using a >>>> circle and a line parallel to the tangent line at any point. In other >>>> words, looking at the earth from a great distance. >>>> >>>> The right answer (for a perfect sphere) is 0 as the curvature of the >>>> earth is the same in every direction from the observer. There is no "arch" >>>> It seems that the old Greeks had it right- as ships went off into the >>>> distance, they didn't just shrink and remain whole but would also disappear >>>> gradually from the bottom up. What Patrick Harrington said is at the core >>>> of what is actually observed. >>>> >>>> >>>> Don Kelly >>>> >>>> >>>> On 2018-02-26 10:10 PM, J. Patrick Harrington wrote: >>>> >>>>> The way to avoid loss of accuracy is to expand in a binomial series: >>>>> D = R - √(R²-L²) = R[ 1 - (1 - (L/R)^2)^(1/2)] >>>>> = R[ 1 - (1 -(1/2)(L/R)^2 + ...)] = (1/2) L*L/R >>>>> and thus >>>>> ]D=. -:L*L%R >>>>> 1.76384e_9 >>>>> >>>>> On Tue, 27 Feb 2018, Ian Clark wrote: >>>>> > In "The Curious Incident of the Dog in the Night-Time", Mark Haddon >>>>> has > his >>>>> > young autistic hero verify that the earth is not flat by holding up >>>>> a > steel >>>>> > straight-edge to the horizon. >>>>> > > In the course of private research into public gullibility, I >>>>> tried to >>>>> > replicate Haddon's thought-experiment – and failed! Try as I might, >>>>> I > could >>>>> > not see the slightest discrepancy between the horizon and my > >>>>> straight-edge. >>>>> > > I strongly suspect that Haddon hasn't performed the experiment >>>>> himself, > but >>>>> > simply written down what he thought one "ought" to see. >>>>> > > So what am I to conclude? >>>>> > (a) The earth is flat. >>>>> > (b) The curvature is too small to be seen this way. >>>>> > (c) Don't believe everything you read in novels. >>>>> > > Let's go with (b), and try to calculate the height D of the >>>>> "arch" of > the >>>>> > horizon over the ruler's edge, and show it's too small to observe >>>>> by the >>>>> > naked eye. >>>>> > > There's a diagram at: >>>>> > > https://whitbywriters.wordpress.com/2018/02/26/the-curious-i >>>>> ncident-of-the-dead-flat-horizon > > where I discuss the matter for >>>>> non-mathematical readers. There I baldly >>>>> > state that D is given by the formula: >>>>> > > D = R * (1 – cos arcsin L/R) >>>>> > > where L is the half-length of the straight-edge and R the radius >>>>> of the >>>>> > earth. >>>>> > > Have I got it right? >>>>> > > I calculated D = 1.4 nm, but omit to say how. (I used J of >>>>> course). >>>>> > > R=: 6378163 NB. equatorial radius of earth (m) >>>>> > L=: 0.15 NB. half-length of metal ruler (m) >>>>> > cos=: 2&o. >>>>> > arcsin=: _1&o. >>>>> > smoutput D=: R * (1 - cos arcsin L%R) >>>>> > 1.41624e_9 >>>>> > > Now 1.41624e_9 m is roughly 1.4 nm, less than the width of a DNA >>>>> > molecule. >>>>> > > But I suspect that my estimate of D is unreliable. Moreover it >>>>> could be > out >>>>> > by several orders of magnitude. Why? Because I'm calculating the >>>>> arcsin > of >>>>> > a very small number, and then calculating the cosine of the >>>>> resulting > very >>>>> > small angle, which may be pushing (o.) beyond its limits. >>>>> > > Now I could use Pythagoras instead of trigonometry: >>>>> > > D = R - √(R²-L²) >>>>> > > which avoids using (o.) and may perform the entire calculation in >>>>> > extended >>>>> > precision without conversion to (float). I'll also work in >>>>> nanometres > (nm), >>>>> > not metres (m): >>>>> > > R=: 6378163000000000x NB. (nm) >>>>> > L=: 150000000x NB. (nm) >>>>> > smoutput D=: R - %:(R*R)-(L*L) >>>>> > 2 >>>>> > > I thought I was getting 6-figure accuracy, so this result worries >>>>> me. >>>>> > 2 nm differs significantly from the result of the trig formula: 1.4 >>>>> nm. >>>>> > > Now (R*R)-(L*L) is extended precision, but (%:) is returning >>>>> (float) not >>>>> > (extended). Is it also corrupting the result? Is "2" just an >>>>> artefact of >>>>> > its algorithm? >>>>> > > So let's work in picometres, to see if the "2" holds up under >>>>> greater >>>>> > precision: >>>>> > > R=: 6378163000000000000x >>>>> > L=: 150000000000x >>>>> > smoutput D=: R - %:(R*R)-(L*L) >>>>> > 2048 >>>>> > > It does. This is encouraging. But (%:) still returns (float). >>>>> > > Let's try different ways of calculating the square root of an >>>>> extended >>>>> > precision result: >>>>> > > sq=: ^&2 >>>>> > sqr=: %: >>>>> > smoutput D=: R - sqr (sq R)-(sq L) >>>>> > 2048 >>>>> > sqr=: ^&0.5 >>>>> > smoutput D=: R - sqr (sq R)-(sq L) >>>>> > 2048 >>>>> > sqr=: ^&1r2 >>>>> > smoutput D=: R - sqr (sq R)-(sq L) >>>>> > 3072 >>>>> > …which is even more worrying! >>>>> > > So which is the most dependable approximation to D? >>>>> > 3 nm >>>>> > 2 nm >>>>> > 1.4 nm >>>>> > none of the above? >>>>> > > Is it robust enough to warrant my original deduction? >>>>> > > Have I made a logical error somewhere? >>>>> > ------------------------------------------------------------ >>>>> ---------- >>>>> > For information about J forums see http://www.jsoftware.com/forum >>>>> s.htm >>>>> ----------------------------------------------------------- >>>>> ----------- >>>>> For information about J forums see http://www.jsoftware.com/forum >>>>> s.htm >>>>> >>>> >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
