I don't have too much to add in the way of actual terrain generation (though I do want to start working on it soon), but I may have a solution to the problem of points on a sphere not being the same distance from each other, and I'd like to know if it would actually work before I try to implement it in anything—namely, said realistic terrain generation. Of course, not being overly knowledgeable in these fields, it could be anything from common knowledge to needlessly complicating a simple process to complete nonsense, but knowing how functional it is would allow me to research, explain, and very likely use it or its replacement better.
Because of keyboard limitations, t represents theta.
Anyway, for a sphere of radius r, there are three vectors x, y, and z (again, for ease of typing). Each lies along a plane p perpendicular to the other two when t=0 for that vector, and all are joined at the origin. However, each vector vi rotates around the origin through the plain pj that is perpendicular to pi and parallel to vi when ti=0 (thus when ti=90 and tj=0, vi is the same as vj). At distance r along each vector, a plane is calculated parallel to pi, and if the angles are kept so that |tx|+|ty|+|tz|=90, exactly one point should be described, at the intersection of all three.
If I am imagining this correctly, moving any point along one of the planes (keeping that particular angle constant) by a fixed amount in one of the other measured angles will place it the same distance away from its initial location no matter where it starts as long as r remains constant. Admittedly the third angle will also change (by the inverse amount) to maintain the equation, but I do think it might work. Of course, it does not help at all for transferring functions from rectangular coordinate systems, let alone trying to flatten anything, but it might hopefully be interesting to think about.
EDIT: Might as well say that this is essentially multiple systems of latitude with different axes. Mapping is even worse than the latitude-longitude system as there are six points where the parallel circles converge, but keeping it three dimensional doesn't have the same problem.