f[x_] := Abs[Differences[x]]~Join~{Abs[First[x] - Last[x]]}; points = (RegionPlot3D[ x^2 + y^2 + z^2 < 1, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}] // InputForm) /. Graphics3D[GraphicsComplex[points_, ___], _] :> points // First; {u, v, w} = Orthogonalize[NullSpace[{RandomReal[1, 4]}]]; Table[ListPointPlot3D[ Nest[({u, v, w}.f[u #[[1]] + v #[[2]] + w #[[3]]]) & /@ # &, points, l], ImageSize -> {300, 300}, AspectRatio -> 1, PlotRange -> {{-1, 1}, {-1, 1}, {-1, 1}}], {l, 0, 8}]