**Update:** To generate a list of spheres similar to the circles in OP (sphere `k` just touching sphere `k-2`): ClearAll[tr] tr[n_] := (2 n^2 + (-1)^n)/4; Graphics[Circle[{tr @ #, 0}, #] & /@ Range[10]] [![enter image description here][1]][1] Graphics3D[{Opacity[.5], Sphere[{tr @ #, 0, 0}, #] & /@ Range[10]}, Boxed -> False] [![enter image description here][2]][2] **Original answer:** You can use [`Translate`](https://reference.wolfram.com/language/ref/Translate.html) and [`Scale`](https://reference.wolfram.com/language/ref/Scale.html) `Sphere[]` as follows: radii = Range[5]; Graphics3D[Translate[Scale[Sphere[], #], {#^2, 0, 0}] & /@ radii] [![enter image description here][3]][3] or translate to leave gaps between spheres: translations = 2 Accumulate[radii]; Graphics3D[MapThread[Translate[Scale[Sphere[], #], {#2, 0, 0}] &, {radii, translations}]] [![enter image description here][4]][4] [1]: https://i.sstatic.net/gXosW.png [2]: https://i.sstatic.net/a998N.png [3]: https://i.sstatic.net/B03CX.png [4]: https://i.sstatic.net/U0Skq.png