To study the change in Laplacian eigenvalues on a spherical segment, I constructed a table of spherical segments using the code from here.
I discretized the output using DiscretizeGraphics and obtained a table of discretized spherical segments.
.
As I try to apply NDEigensystems on the discretized figures, I get the following error:
The code I am using to generate the spherical segments :
sphericalSegment[{r1_,r2_}, {\[Theta]1_, \[Theta]2_}, {\[Phi]1_, \[Phi]2_}]:=
Module[{plot, pts, surf, bdy},plot = ParametricPlot3D[{Cos[\[Theta]] Sin[\[Phi]],Sin[\[Theta]] Sin[\[Phi]],Cos[\[Phi]]}, {\[Theta], \[Theta]1, \[Theta]2}, {\[Phi], \\[Phi]1, \[Phi]2}, Mesh -> None, BoundaryStyle -> Black];
pts = First@Cases[plot, GraphicsComplex[p_, ___] :> p, Infinity];
surf = First@Cases[plot, Polygon[p_] :> p, Infinity];
bdy = First@Cases[plot, Line[p_] :> p, Infinity];
GraphicsComplex[Join[r1*pts, r2*pts], {EdgeForm[], Polygon[surf], Polygon[Reverse /@ surf + Length@pts],Polygon[Join[#, Reverse@# + Length@pts], VertexNormals -> Cross[Subtract @@ pts[[#]], pts[[First@#]]]] & /@ Partition[bdy, 2, 1, 1]}, VertexNormals -> Join[-pts, pts]]]
Code to calculate the Laplacian Eigenvalues :
r = Flatten[Table[{Graphics3D[sphericalSegment[{1, 1}, {0, 2 Pi}, {Pi/n, Pi}]]}, {n, 1.2, 3, 0.2}]];
dr = DiscretizeGraphics /@ r;
eigs = NDEigensystem[{-Laplacian[f[x, y, z], {x, y, z}] + NeumannValue[0,True]}, f[x, y, z], Element[{x, y, z}, #],1] & /@ dr


EmptyRegion[2]typeset to{}insideGraphics? do you think it is a reasonable request? – Kuba Jun 06 '17 at 08:05EmptyRegionis not a graphics primitive. You would not expectGraphics[{Line[{{0, 1}, {1, 1}}], DiscretizeRegion[Disk[]]}]to work either. Can you show me an example where this is useful? – user21 Jun 06 '17 at 14:13_EmptyRegion -> Nothing. Or in recent 147708 – Kuba Jun 06 '17 at 14:18RegionInstersectionof graphics primitives is not a graphics primitive, in case of EmptyRegion. – Kuba Jun 06 '17 at 14:19EmptyRegiona graphics primitive would open the argument that every expr should be displayable by Graphics. I'd just use something likeri = RegionIntersection[{Line[{l11, l12}], Line[{l21, l22}]}]; If[Head[ri] === EmptyRegion, {}, ri]But why don't you send a suggestion to support? – user21 Jun 06 '17 at 14:54