Given a 2-dimensional array of MxN heights, how to transform it to a sphere? Every element of this array is just a 3D point (x,y,z) where z represents some height. One has to transform this array into a sphere, twisting it around the origin so, that only minimal distortions will happen.


Representing it by spherical coordinates is not very good, because of the severe distortions. It's probably better if there is no direct one-to-one mapping from 2D plane to a surface of 3D sphere - many plane's points will not be involved. But what is the best possible mapping and how to transform involved points (elements of array)? 


This is for a 3D-planet terrain simulation. First, fractal landscape is produced, then, it is to be transformed to 3D sphere.


Thanks in advance!


**SOLUTION**: [Map projection](http://en.wikipedia.org/wiki/Map_projection)



How to transform a plane into a sphere? [SOLVED]
I may be misunderstanding your question but if you are asking how to take a data set of points in R^3 and convert them to a surface of a sphere then you can use the transformations given on wikipedia by associating latitude and longitude to your plane. I wrote code to do this myself for the math modeling competition a couple years ago. 


Sorrry for the limited scope of this answer and the lack of hyperlinks I am updating from the iPhone and that makes it a little bit annoying. 


