Eight points are placed on the surface of a sphere with a radius of 1. The shortest distance between any two points is greater than 1.2. How can the points be arranged?
Hint: They are not arranged as a cube. The cube would have an edge length of only 2/sqrt(3) = 1.1547.
(In reply to
For Charlie's thoughtful consideration by FrankM)
Let's see:
My original solution (after correcting the program) has points at 30.73586710236 degrees north and south latitudes. The ones in the north have longitudes, say, of 0, 90, 90 and 180 (same as 180). The ones in the south have longitudes of 45, 45, 135, 135.
Each point is 74.85849218562 degrees of great circle arc, or chord distance of 1.21556252413 radii from each of its four nearest neighbors. For the point at 30.73586710236 north on the 0 meridian, its nearest neighbors are those at that latitude at longitudes 90 and 90, and the ones at 30.73586710236 south with longitudes +45 and 45. All four are at that same distance: 74.85849218562 degrees of great circle arc, or chord distance of 1.21556252413 radii. I assumed the 0degree, +45 degree was the latitudepreserving twist you were referring to. The point in the northern hemisphere does indeed have two nearest neighbors in the south.
Now perform the longitudepreserving shear. The point at 30.7+ degrees north and zero longitude, for sake of argument(it could be another, but they all work equally well), moves to a longitude that is closer to the equator than 30.7 degrees. Meanwhile, either the point at longitude +45 or the point at longitude 45 has moved further north than its 30.7degree latitude, while the other has moved south. The one that has moved north will be closer than the 74.85849218562degree separation that it had before from the point on the prime meridian.
Adding this to the end of my program:
lat1 = 25: lat2 = 25: lonDiff = 45: lat = lat1
sinLat = SIN(lat * dr): cosLat = COS(lat * dr)
sinLat2 = sinLat
distOnTri = acos(sinLat * sinLat2 + cosLat * cosLat * COS(lonDiff * dr))
angular = distOnTri
distOnTri = 2 * SIN(distOnTri * dr / 2)' convert arc degrees to chord length
PRINT USING "##.########### "; lat; distOnTri; angular
shows
25.00000000000 1.09342861288 66.28378271595
indicating if the point on the prime meridian is moved down to 25 north, while either the point at +45 or 45 is moved north to 25 south, that the distance between them will be 1.093 instead of 1.215.

Posted by Charlie
on 20080203 23:46:25 