How to scale primitive shapes [in Blender] so that they are within a [unit] sphere? I wonder how is it possible to scale all shapes so that they are within boundaries of a [unit] sphere? I know how to do this for a cube: if radius of the sphere is S I set the length of X, Y and Z of the cube to S * math.sqrt(3)/3. This way, the corners of the cube are barely touching the surface of the sphere. But I don't know how to do this for other objects such as torus, cylinder and cone in Blender. I wonder, is there a general rule/equation to calculate the scaling factor of a shape so that it fits into a sphere with radius S?
Yes, there is a fairly general algorithm to calculate this scaling factor, which works for all shapes with a known parametric representation. First, substitute the parametric equation of the shape (e.g. a torus, cylinder or cone) into the implicit equation of the sphere, $x^2 + y^2 + z^2 = S^2$. Then, solve this equation for the radius of the sphere. The result will be one or more intervals for values of $S$ for which the shape intersects the sphere with radius $S$. The largest value of $S$ is the radius of the shape's bounding sphere.

Example (torus): Substituting the parametric equation of the torus centered at the origin with major radius $R$ and minor radius $r$ into the implicit equation of the sphere yields $2Rr \cos(\phi) + R^2 + r^2 - S^2 = 0$, which is equivalent to $S\in[R-r,R+r]$. So if you want a torus to fit into a unit sphere, you need to choose the major radius and minor radius such that $R+r\le 1$.