Show how to distribute nine points around the surface of a sphere in such a way that each point is equidistant from its four nearest neighbors.
(In reply to
Using plane trig in 3 dimensions by Charlie)
I figured out what was the cause of the discrepancy between the spherical and plane-trig methods I used: In the plane trig method I assumed that the foot of the perpendicular line from the point on the smaller circle, at the equatorial plane, lay at a right angle vertex from the center of the sphere to that point, to the given point on the equator. That's not true; The point on the equator is of course 1 unit (the radius of the sphere) from the center of the sphere; the foot of that perpendicular is cos(lat) from the center of the sphere, and those two sides form a 60° angle at the center of the sphere. That's the basis on which the distance to the foot of the perpendicular should be made as it is in the line below:
distToFoot=sqrt(1+(cosd(lat))^2-2*(cosd(lat))*cosd(60));
The program computes both the spherical method and the plane trig method, which now agree:
clc, clearvars
for lat=48.18968:.0000001:48.18969
vertPost=sind(lat);
distToFoot=sqrt(1+(cosd(lat))^2-2*(cosd(lat))*cosd(60));
chord1=sqrt(vertPost^2+distToFoot^2);
arc1=2*asind(chord1/2);
arc1s=acosd(cosd(60)*cosd(lat));
smallCircleRadius=cosd(lat);
chord2=sqrt(2*smallCircleRadius^2 - 2*smallCircleRadius^2*cosd(120)) ;
arc2=2*asind(chord2/2);
arc2s=acosd(sind(lat)^2+cosd(lat)^2*cosd(120));
fprintf('%10.7f %8.6f %8.6f %8.6f %8.6f %8.6f\n',lat,arc1,arc2, arc1s,arc2s,arc1-arc2)
end
Only the two lines
arc1s=acosd(cosd(60)*cosd(lat));
arc2s=acosd(sind(lat)^2+cosd(lat)^2*cosd(120));
constitute the spherical method, the rest are the plane-trig method.
The range for latitude shown was a homing in on the solution after larger ranges were tried with wider differences.
The middle of the final result shows:
arc between pts same for diff. between
latitude on equator|between spherical equatorial distance
of small |eq. and calculation and eq-to-small-circle distance
circle small circle
eq eq-to-small-circle
48.1896848 70.528779 70.528780 70.528779 70.528780 -0.000001
48.1896849 70.528779 70.528780 70.528779 70.528780 -0.000000
48.1896850 70.528779 70.528780 70.528779 70.528780 -0.000000
48.1896851 70.528779 70.528779 70.528779 70.528779 -0.000000
48.1896852 70.528779 70.528779 70.528779 70.528779 0.000000
48.1896853 70.528779 70.528779 70.528779 70.528779 0.000000
48.1896854 70.528779 70.528779 70.528779 70.528779 0.000001
The latitude for the small circle should be 48.1896851° and the arc distance between points is 70.528779°.
|
Posted by Charlie
on 2021-06-06 12:58:23 |