home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.programming      Programming issues that transcend langua      57,431 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 56,910 of 57,431   
   Ben Bacarisse to Dmitry A. Kazakov   
   Re: Another little puzzle   
   08 Jan 23 20:41:19   
   
   From: ben.usenet@bsb.me.uk   
      
   "Dmitry A. Kazakov"  writes:   
      
   > On 2023-01-08 16:45, Tim Rentsch wrote:   
   >> "Dmitry A. Kazakov"  writes:   
   >   
   >>> Averaging arcs is equivalent to averaging angles.   
   >> Angles are a one-dimensional measure.   
   >   
   > Averaging arcs is still equivalent to averaging angles, which is trivial   
   result of elementary trigonometry.   
   >   
   >> Finding an arc length   
   >> "average" of points on a sphere needs a two-dimensional result.   
   >   
   > Points do not have arcs.   
   >   
   >>>> Now that I think about it, finding the point that minimizes the   
   >>>> great circle distances squared would be at least computationally   
   >>>> unpleasant.   
   >>>   
   >>> See above, it is just angles to average.   
   >> Apparently you have not yet understood the problem.   
   >   
   > Again, averages of arcs and angles are equivalent up to a multiplier.   
   >   
   >> Why don't   
   >> you try writing a program that inputs a set of points normalized   
   >> to be on the unit sphere, and then calculates the arc length   
   >> average point (on the unit sphere) of those input points?   
   >   
   > Why don't you write a formula specifying your need?   
      
   You seemed to understand the need sufficiently to dismiss the problem:   
   "averaging angles, which is trivial", "it is just angles to average" and   
   "averages of arcs and angles are equivalent up to a multiplier".  But   
   the problem is /finding/ a specific average -- the point (or angle) that   
   minimises the sum of squares of the distances (or angles) from that   
   average point (or angle).   
      
   The fact that it makes no odds (as everyone knows) whether we consider   
   angles (often called central angles in this context) or great circle   
   distances is not the issue.  It's finding the average that minimises the   
   sum of squares of differences that's the issue.   
      
   You say you need a formula, so I'll try...  Let P_n be a collection of n   
   unit vectors specifying n points on a unit sphere.  Find the unit vector   
   A that minimises   
      
     Sum_{i=1,n} ( arctan( |A x P_n|  /  A . P_n ) )^2   
      
   (arctan is the "all quadrant" version that is often called atan2 in   
   programming languages.)   
      
   > Programs are written according to the specifications. Numeric programs   
   > require a properly stated problem, rather than a bunch of words   
   > arbitrarily thrown in a meaningless sentence as above.   
      
   Given the context, I think that's a very biased characterisation of   
   what's been said here.   
      
   My first job was as a "numerical analyst", and the very first program I   
   was employed to write was for a professor of statistics.  It was to   
   calculate a novel kind of fit line.  The specification was just a few   
   sentences.  No formulas.  It was perfectly clear, and I could get the   
   job done.  I don't think this is unusual.  Words are often enough, and   
   they can avoid undue over specification.  For example, the problem in   
   question is essentially the same if the points are given by latitude and   
   longitude on a non-unit sphere, but the formula would look very   
   different.   
      
   --   
   Ben.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca