Question: Let's say we have a 3D spherical shell specified by the command:

```
Regionplot3D[1/2<x^2+y^2+z^2<1,{x,-2,2},{y,-2,2},{z,-2,2},BoxRatios->Automatic]

```

When looking at this manifold from the outside, we see a sphere. Even projections of a sphere on a plane will not give information that this is not a sphere, but a spherical shell with a certain thickness of the shell.

I became interested in the most convenient way to display the internal structure of this manifold. It comes to mind to use `ContourSlice`. But the graph, even with the number of slices for each of the planes $=3$, can look very cumbersome and unreadable. `ScatterPlot` does not display information about the internal structure of the manifold.

Are there any special projections, plots, commands, or other ways to display the internal structure of a three-dimensional manifold in most convenient way?

Answer: 
Instead of using a predicate you could use a binary function and either "SliceDensityPlot3D" or "SliceContourPlot3D":

```
SliceContourPlot3D[
 If[1/2 < x^2 + y^2 + z^2 < 1, 1, 0], {x, -2, 2}, {y, -2, 2}, {z, -2, 
  2}, BoxRatios -> Automatic, PlotPoints -> 80]

```

[![enter image description here](https://i.stack.imgur.com/Z8hSL.png)](https://i.stack.imgur.com/Z8hSL.png)
```
Clear["Global`*"]

```

To look inside, you could cut a segment out of the sphere

```
RegionPlot3D[
 1/2 < x^2 + y^2 + z^2 < 1 && (x < 0 || y > 0 || z < 0),
 {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
 PlotPoints -> 100,
 MaxRecursion -> 3,
 Mesh -> None]

```

[![enter image description here](https://i.stack.imgur.com/UQOzA.png)](https://i.stack.imgur.com/UQOzA.png)

**EDIT:** Use [`Manipulate`](https://reference.wolfram.com/language/ref/Manipulate.html) to select an octant to be removed

```
condList = Join[
   ((Or[#[[1]][x, 0], #[[2]][y, 0], #[[3]][z, 0]]) ->
       (SortBy[First][Simplify[Not[
           (Or[#[[1]][x, 0], #[[2]][y, 0], #[[3]][z, 0]])]]])) & /@ 
    Tuples[{Less, Greater}, {3}], {True -> None}];

Manipulate[
 RegionPlot3D[1/2 < x^2 + y^2 + z^2 < 1 && cond,
  {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
  PlotPoints -> 100,
  MaxRecursion -> 3,
  Mesh -> None],
 {{cond, x < 0 || y > 0 || z < 0, "removed octant"},
  condList,
  ControlType -> PopupMenu},
 SynchronousUpdating -> False,
 TrackedSymbols :> {cond}]

```

[![enter image description here](https://i.stack.imgur.com/Vy41W.png)](https://i.stack.imgur.com/Vy41W.png)