3
$\begingroup$

How can we plot a convex shape $C$ in the $3$-dimensional Euclidean space, whose boundary $\partial C$ is formed by portions of six different spheres, one portion per sphere? The radius of each sphere is the same, $a+1$, and the coordinates of six spheres centers are $(a,0,0), (-a,0,0), (0,a,0), (0,-a,0), (0,0,a), (0,0,-a)$, where the parameter $a$ is a non negative real number. Hence, each sphere passes through one and only one of the following points for $a>0$:

$(1,0,0), (-1,0,0), (0,1,0), (0,-1,0), (0,0,1), (0,0,-1)$.

Finally, for each of such points $\mathbf{p}$, the portion of the sphere $S_{\mathbf{p}}$ passing through it consists of all points of $S_{\mathbf{p}}$ whose distance from $\mathbf{p}$ is smaller than the distance between $\mathbf{p}$ and any point of the other five spheres.


Note that for $a=0$, $C$ is the sphere with unit radius centered at the origin. As $a$ grows we have a shape always lying in $[-1,1]^3$, where the Gaussian curvature is the same at any point of $C$ is everywhere the same (and larger than the unit sphere as $a$ grows). For $a\to\infty$, we have the cube $[-1,1]^3$. Hence, this convex shape can be viewed as a continuous transformation from the unit sphere to its bounding box $[-1,1]^3$.

$\endgroup$

2 Answers 2

3
$\begingroup$

Using the new CSGRegion functionality, we can an extremely fast and accurate result:

Manipulate[
 CSGRegion["Intersection", 
  Ball[a #, a + 1] & /@ {{1, 0, 0}, {-1, 0, 0}, {0, 1, 0}, {0, -1, 
     0}, {0, 0, 1}, {0, 0, -1}}],
 {a, 0, 5}
 ]

enter image description here

$\endgroup$
3
$\begingroup$

A somewhat slow solution is using an ImplicitRegion:

Manipulate[
 sp = Ball[#, 1 + a] & /@ {{a, 0, 0}, {\[Minus]a, 0, 0}, {0, a, 
     0}, {0, \[Minus]a, 0}, {0, 0, a}, {0, 0, \[Minus]a}};
 Region[ImplicitRegion[
   And @@ ({x, y, z} \[Element] # & /@ sp), {x, y, z}]]
 , {{a, .5}, 0, 1}]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.