Method
This concept here is quite simple. Implementing it is harder.


100 iterations


1000 iterations


10000 iterations

Deficiencies
Implementation
Choosing a Plane
procedure to randomly select plane normals VECTOR: n loop n = VECTOR( random(1,1), random(1,1), random(1,1) ) magnitude = mag(n) until magnitude(n) < 1
3D Polygon Method
loop n = random vector ; see method above loop through each vertex of the sphere d = dotproduct( n , this vertex) ; is this vertex infront of ; or behind the plane? if d > 0 then ; if infront then move this vertex out a little bit else ; if behind then move this vertex in a little bit end if end loop end loop
Map Method
loop n = random vector ; see method above m = randomly either 1 or 1 loop through each vertex of the sphere p = coordinates of this vertex v = p  n d = dotproduct(n , v) ; is this vertex infront of ; or behind the plane? if d > 0 then ; if infront then move this vertex by m else ; if behind then move this vertex by m end if end loop end loop