All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars
 perplexus dot info

 Eight Points (Posted on 2008-02-01)
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.

 See The Solution Submitted by Brian Smith Rating: 4.4000 (5 votes)

Comments: ( Back to comment list | You must be logged in to post comments.)
 re(2): Solution | Comment 8 of 28 |
(In reply to re: Solution by brianjn)

The below program has an error: It uses pi/190 rather than pi/180 to convert degrees to radians.  See correction in my later comment.

For ease of discussion treat the earth as having radius 1 unit, so we can talk about latitude and longitude.

Taking brianjn's idea of one square twisted with regard to the other, place the vertices of one square at the same north latitude, and those of the other square at the latitude opposite in sign but equal in absolute value (i.e., in the southern hemisphere, as far south as the first one was north). That way they'll have the same side lengths. Make the twist 45 degrees so that no sides of the triangle are larger than any other (at least extending from one square to the other). But we'll also want to make the sides of the squares equal to the sides of the triangles, and so the triangles will also be equilateral, not just isosceles.

We use spherical trigonometry, and as the latitude is the complement of the side of the great circle arc from the north pole, when using latitude, sines replace cosines and vice versa.

cos(arcdist) = sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2)*cos(lon2 - lon1)

We maximize the minimum distance by finding equality, and just tabulate, with this program:

DECLARE FUNCTION acos# (x#)
DEFDBL A-Z
DIM SHARED dr
pi = ATN(1) * 4
dr = pi / 190 'deg to radians

CLS
FOR lat = 32.9729# TO 32.97295# STEP .000001#
lonDiff = 90
sinLat = SIN(lat * dr): cosLat = COS(lat * dr)
distOnSq = acos(sinLat * sinLat)  ' cos(lonDiff)=0
distOnSq = 2 * SIN(distOnSq * dr / 2)' convert arc degrees to chord length
lonDiff = 45
sinLat2 = -sinLat
distOnTri = acos(sinLat * sinLat2 + cosLat * cosLat * COS(lonDiff * dr))
distOnTri = 2 * SIN(distOnTri * dr / 2)' convert arc degrees to chord length
PRINT USING "##.####### ##.####### ##.#######"; lat; distOnSq; distOnTri
NEXT lat

FUNCTION acos (x) ' works in degrees
a = ATN(SQR(1 - x * x) / x) / dr
IF a < 0 THEN a = a + 180
acos = a
END FUNCTION

where the 32.9729# TO 32.97295# limits were the result of further and further refining the results. It started out as 2 to 88 step 2:

`lat   side       side    of square   of triangle 2  1.4134404  0.7296212 4  1.4111216  0.7373706 6  1.4072597  0.7500714 8  1.4018591  0.767424210  1.3949255  0.789049112  1.3864666  0.8145156   14  1.3764917  0.843370016  1.3650115  0.875157818  1.3520388  0.909440120  1.3375876  0.945804422  1.3216737  0.983870024  1.3043147  1.023290126  1.2855294  1.063751628  1.2653384  1.104972930  1.2437637  1.146701832  1.2208290  1.1887120___34  1.1965594  1.230800436  1.1709813  1.272784438  1.1441228  1.314499140  1.1160132  1.355795442  1.0866833  1.396537744  1.0561651  1.316789546  1.0244919  1.359375648  0.9916986  1.401192650  0.9578208  1.442141452  0.9228956  1.482130454  0.8869613  1.521074656  0.8500571  1.558894658  0.8122234  1.595516760  0.7735015  1.630872062  0.7339338  1.664896264  0.6935636  1.697529566  0.6524349  1.728716068  0.6105929  1.758403470  0.5680831  1.786543572  0.5249522  1.813091474  0.4812472  1.838005376  0.4370160  1.861247278  0.3923070  1.882781880  0.3471689  1.902577182  0.3016512  1.920604384  0.2558037  1.936837386  0.2096765  1.951253388  0.1633199  1.9638320`

(the latitudes are to be considered north and south in each case.)

the underscore line to the right above shows where the result should lie.

Further refining

`32.0  1.2208290  1.188712032.1  1.2196470  1.190816232.2  1.2184617  1.192920532.3  1.2172730  1.195025032.4  1.2160811  1.197129632.5  1.2148858  1.199234332.6  1.2136871  1.201339032.7  1.2124852  1.203443832.8  1.2112799  1.205548732.9  1.2100713  1.2076535_____33.0  1.2088594  1.209758333.1  1.2076443  1.211863133.2  1.2064258  1.213967833.3  1.2052040  1.216072433.4  1.2039789  1.218176933.5  1.2027505  1.220281333.6  1.2015189  1.222385533.7  1.2002839  1.224489633.8  1.1990457  1.226593433.9  1.1978042  1.2286971`
`32.9000  1.2100713  1.207653532.9025  1.2100411  1.207706132.9050  1.2100108  1.207758732.9075  1.2099806  1.207811432.9100  1.2099503  1.207864032.9125  1.2099200  1.207916632.9150  1.2098898  1.207969232.9175  1.2098595  1.208021932.9200  1.2098292  1.208074532.9225  1.2097989  1.208127132.9250  1.2097687  1.208179732.9275  1.2097384  1.208232332.9300  1.2097081  1.208285032.9325  1.2096778  1.208337632.9350  1.2096475  1.208390232.9375  1.2096173  1.208442832.9400  1.2095870  1.208495432.9425  1.2095567  1.208548132.9450  1.2095264  1.208600732.9475  1.2094961  1.208653332.9500  1.2094658  1.208705932.9525  1.2094355  1.208758532.9550  1.2094052  1.208811232.9575  1.2093749  1.208863832.9600  1.2093446  1.208916432.9625  1.2093143  1.208969032.9650  1.2092840  1.209021632.9675  1.2092537  1.209074332.9700  1.2092234  1.209126932.9725  1.2091930  1.2091795 _______32.9750  1.2091627  1.209232132.9775  1.2091324  1.209284732.9800  1.2091021  1.209337432.9825  1.2090718  1.209390032.9850  1.2090414  1.209442632.9875  1.2090111  1.209495232.9900  1.2089808  1.209547832.9925  1.2089505  1.209600532.9950  1.2089201  1.209653132.9975  1.2088898  1.209705733.0000  1.2088594  1.2097583`
`32.97270  1.2091906  1.209183732.97275  1.2091900  1.209184832.97280  1.2091894  1.209185832.97285  1.2091888  1.209186932.97290  1.2091882  1.2091879_____32.97295  1.2091876  1.209189032.97300  1.2091870  1.2091900`
`The final refinement:`
`32.972906  1.2091881  1.209188032.972907  1.2091881  1.209188132.972908  1.2091881  1.209188132.972909  1.2091881  1.209188132.972910  1.2091881  1.209188132.972911  1.2091881  1.2091882`

The points are at latitudes 32.9729085 north and south (where the squares vertices touch the surface of the globe). The two squares are twisted 45 degrees relative to each other in longitude, and the chord distances are 1.2091881 units (in our case earth radii).

Edited on February 3, 2008, 12:55 pm
 Posted by Charlie on 2008-02-02 01:53:25

 Search: Search body:
Forums (0)