Snub Cube

Author

Eric W. Weisstein
January 5, 2024

This notebook downloaded from http://mathworld.wolfram.com/notebooks/Polyhedra/SnubCube.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/SnubCube.html.

©2024 Wolfram Research, Inc. except for portions noted otherwise

Figure

PolyhedronData["SnubCube","DefaultOrientation"]

With[{pname="SnubCube"},
GraphicsRow[{
Graphics3D[{Opacity[.8],PolyhedronData[pname,"Polyhedron"]},Boxed->False],
Graphics3D[{PolyhedronData[pname,"Lines"]},Boxed->False],
PolyhedronData[pname,"Net"]
},ImageSize->700]]

Solid

Orientations

PolyhedronData["SnubCube","Orientations"]

Show[PolyhedronData[{"SnubCube",#}],Boxed->False]&/@PolyhedronData["SnubCube","Orientations"]

Mirror image compound

Show[PolyhedronData[{"SnubCube",#}],Boxed->False]&/@{"Dextro","Laevo"}

Show[%]

Polyhedron

Graphics3D[{FaceForm[Green,Red],PolyhedronData["SnubCube","Polyhedron"]}]

Region

PolyhedronData["SnubCube","Region"]

Solid and dual

PolyhedronData["SnubCube",#]&/@{"Graphics3D","Dual","DualCompound"}

Graphics3D[{Opacity[.6],
Red,PolyhedronData["SnubCube","Polyhedron"],
Green,PolyhedronData["SnubCube","Dual","Polyhedron"],
Yellow,PolyhedronData["SnubCube","Midsphere"]},Boxed->False]

Dextro

PolyhedronData[{"SnubCube","Dextro"},#]&/@{"Graphics3D","Dual","DualCompound"}

Show[Most@%]

Laevo

PolyhedronData[{"SnubCube","Laevo"},#]&/@{"Graphics3D","Dual","DualCompound"}

Show[Most@%]

UniformPolyhedron

uniform=UniformPolyhedron[stdname="SnubCube"]

PolyhedronFaceTally[uniform]

UniformPolyhedron/@{
stdname,
UniformPolyhedronIndex[stdname,"Wenninger"],
{"Coxeter",UniformPolyhedronIndex[stdname,"Coxeter"]},
{"Kaleido",UniformPolyhedronIndex[stdname,"Kaleido"]},
{"Uniform",UniformPolyhedronIndex[stdname,"Maeder"]},
{"Wenninger",UniformPolyhedronIndex[stdname,"Wenninger"]}
}

SameQ@@%

Graphics3D/@(polys=Polygon[uniform[[1]],#]&/@uniform[[2]])

Graphics3D[#,Boxed->False]&/@{uniform,polys}

Bulatov

BulatovUniformName[UniformPolyhedronIndex[stdname,"Kaleido"]]

BulatovUniformGraphics3D[UniformPolyhedronIndex[stdname,"Kaleido"],Boxed->False]

bulatov=BulatovUniformPolyhedron[UniformPolyhedronIndex[stdname,"Kaleido"]]

Graphics3D/@(polys=Polygon[bulatov[[1]],#]&/@bulatov[[2]])

PolyhedronFaceTally[bulatov]

Graphics3D[#,Boxed->False]&/@{bulatov,polys}

Maeder

MaederUniformName[UniformPolyhedronIndex[stdname,"Maeder"]]

wythoff=MaederWythoffSymbol[UniformPolyhedronIndex[stdname,"Maeder"]]

With[{n=UniformPolyhedronIndex[stdname,"Maeder"]},Import["https://www.mathconsult.ch/static/unipoly/"<>If[n<10,"0",""]<>ToString[n]<>".html","Images"]][[1]]

maeder=MaederUniformPolyhedron[UniformPolyhedronIndex[stdname,"Maeder"]]

Graphics3D/@(polys=Polygon[maeder[[1]],#]&/@maeder[[2]])

PolyhedronFaceTally[maeder]

Graphics3D[#,Boxed->False]&/@{maeder,polys}

Net

PolyhedronData["SnubCube","Net"]

PolyhedronData["SnubCube","Net","Colored"]

NetPrintout[SnubCube,"SnubCube.pdf"]

Faces

PolyhedronFaceList[poly]

Show[GraphicsArray[partition[PolyhedronFaces[poly//N],10]]]

Edge Lengths

Length[PolyhedronEdges[SnubCube]]

<<Utilities`Simplify`

Union[ToExact/@PolyhedronEdgeLengths[SnubCube]]

Vertices

Length[PolyhedronVertices[SnubCube]]

Properties

Initialization

<<MathWorld`Polyhedra`

p=PolyhedronData[pname="SnubCube","Polyhedron"]

vol=PolyhedronData[pname,"Volume"]

t=Root[-1-#1-((#1)^2)+((#1)^3)&,1];

AdjacentFaceIndices

adj1=PolyhedronData[pname,"AdjacentFaceIndices"]

adj2=AdjacentFaceIndices[p]

adj1===adj2

Centroid

PolyhedronData[pname,"Centroid"]

Graphics3D[{AbsolutePointSize[10],
Point[{0,0,0}],{Blue,Point[PolyhedronData[pname,"Centroid"]]},Opacity[.2],PolyhedronData[pname,"GraphicsComplex"]}]

ToAlgebraicRoot/@RegionCentroid[p]//Quiet

ToAlgebraicRoot/@PolyhedronCentroid[p]//Quiet

Circumsphere

sphere=PolyhedronData[pname,"Circumsphere"]

RootReduce[(Sqrt[(((3-t))/(4(2-t)))])]

(sphere=Circumsphere[p]//RootReduce)//Timing

(sphere=MyCircumsphere[p]//RootReduce)//Timing

Graphics3D[{{Opacity[.2],Yellow,sphere},p},Boxed->False]

Classes

PolyhedronData[pname,"Classes"]

Compound

PolyhedronData[pname,"Compound"]

Concave

PolyhedronData[pname,"Concave"]

Convex

PolyhedronData[pname,"Convex"]

ConvexPolyhedronQ[p]

ConvexHull

convexhullname=PolyhedronData[pname,"ConvexHull","Name"]

((Max[Norm/@p[[1]]])/(Max[Norm/@PolyhedronData[convexhullname,"Polyhedron"][[1]]]))//FullSimplify//Quiet

PolyhedronData[pname,"ConvexHull","Scale"]

PolyhedronData[pname,"ConvexHull"]

convexhull=ConvexHullRegion[PolyhedronData[pname,"Vertices"]]

SimplifyNumericallyDistinct[PolyhedronEdgeLengths[convexhull]]//Tally//Quiet//Timing

v=PolyhedronCoordinates[convexhull]

Sort[(convexhull[[2]]/.i_Integer:>v[[i]])/.Thread[PolyhedronData[pname,"Vertices"]->Range[PolyhedronData[pname,"V"]]]]

Graphics3D[{FaceForm[Green,Red],convexhull,MapIndexed[Text[#2[[1]],#,Background->White]&,v]}]

{Graphics3D[{Red,Opacity[.5],p}],Graphics3D[{Blue,Opacity[.5],PolyhedronData[pname,"ConvexHull"][[1]]}]}

Show[%]

"Dextro"

dextro={pname,"Dextro"}

convexhullname=PolyhedronData[dextro,"ConvexHull","Name"]

PolyhedronData[dextro,"ConvexHull","Scale"]

{Graphics3D[{Red,Opacity[.5],PolyhedronData[dextro,"Polyhedron"]}],Graphics3D[{Blue,Opacity[.5],PolyhedronData[dextro,"ConvexHull","Polyhedron"]}]}

Show[%]

"Laevo"

laevo={pname,"Laevo"}

convexhullname=PolyhedronData[laevo,"ConvexHull","Name"]

PolyhedronData[laevo,"ConvexHull","Scale"]

{Graphics3D[{Red,Opacity[.5],PolyhedronData[laevo,"Polyhedron"]}],Graphics3D[{Blue,Opacity[.5],PolyhedronData[laevo,"ConvexHull","Polyhedron"]}]}

Show[%]

DehnInvariant

PolyhedronData[pname,"DehnInvariant"]

(dehn=DehnInvariant[p,Debug->True])//Timing

ToConwayBasis[dehn]

Complement[Select[PolyhedronData[All],PolyhedronData[#,"DehnInvariant"]==dehn&&PolyhedronData[#,"Volume"]==vol&],{pname}]

DihedralAngles

(dih1=PolyhedronData[pname,"DihedralAngles"])//Tally

(dih2=SimplifyNumericallyDistinct[DihedralAngles[p]])//Tally

dih1===dih2

Dual

pname

dname=PolyhedronData[pname,"Dual","Name"]

PolyhedronData[pname,"Dual","Scale"]

midrs={PolyhedronData[pname,"Midradius"],PolyhedronData[dname,"Midradius"]}

Divide@@midrs//FullSimplify

GraphicsRow[With[{
s={Yellow,PolyhedronData[pname,"Midsphere"]},
style=Directive[Black,Italic,FontFamily->"Times",14]
},
{
Graphics3D[{s,Green,Opacity[.5],PolyhedronData[pname,"Polyhedron"]},Boxed->False,PlotLabel->TextCell[Style[PolyhedronData[pname,"Name"],style],PageWidth->200,TextAlignment->Center]],
Graphics3D[{s,Red,Opacity[.5],PolyhedronData[pname,"Dual","Polyhedron"]},Boxed->False,PlotLabel->Style[PolyhedronData[dname,"Name"],style]],
Graphics3D[{
{Green,Opacity[.5],PolyhedronData[pname,"Polyhedron"]},
{Red,Opacity[.5],PolyhedronData[pname,"Dual","Polyhedron"]},
s
},Boxed->False,PlotLabel->Style["compound with midsphere",style]],
Graphics3D[{
PolyhedronData[pname,"Polyhedron"],
PolyhedronData[pname,"Dual","Polyhedron"]
},Boxed->False,PlotLabel->Style["compound",style]]
}],Alignment->Top,ImageSize->800]

EdgeCount

PolyhedronData[pname,"EdgeCount"]

EdgeLengths

Tally[lens=SimplifyNumericallyDistinct[PolyhedronEdgeLengths[p],"Simplification"->RootReduce]//FullSimplify]//Timing

PolyhedronData[pname,"EdgeLengths"]

PolyhedronData[pname,"Lines"]/.Line[l_]:>EuclideanDistance@@l//FullSimplify//Union//Quiet

(distinctlens=Mean/@Split[Sort[lens],Abs[#1-#2]<1.*^-10&])//N//Quiet

v=p[[1]];

colors=With[{n=Length[distinctlens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[distinctlens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[p],Boxed->False]//Quiet

FaceCount

PolyhedronData[pname,"FaceCount"]

GeneralizedDiameter

PolyhedronData[pname,"GeneralizedDiameter"]

GeneralizedDiameter[p]//FullSimplify//Quiet

Hull

hullname=PolyhedronData[pname,"Hull","Name"]

PolyhedronData[pname,"Hull","Scale"]

((Max[Norm/@p[[1]]])/(Max[Norm/@PolyhedronData[hullname,"Polyhedron"][[1]]]))//FullSimplify//Quiet

PolyhedronData[pname,"Hull"]

Max[Norm/@PolyhedronData[pname,"Hull","Polyhedron"][[1]]]

Max[Norm/@p[[1]]]

{Graphics3D[{Opacity[.5],Red,p}],Graphics3D[{Opacity[.5],Blue,PolyhedronData[pname,"Hull"][[1]]}]}

Show[%]

InertiaTensor

PolyhedronData[pname,"InertiaTensor"]

(i=((MomentOfInertia[p,{0,0,0}])/vol))//Timing

Map[ToAlgebraicRoot,i,{2}]

PolyhedronInertiaTensor[p]//Timing

Insphere

PolyhedronData[pname,"Insphere"]

Insphere[p]//Quiet//Timing

MyInsphere[p]//Quiet//Timing

Inradius of dual

PolyhedronData["SnubCube","Inradius"]

Insphere[PolyhedronData["SnubCube","Dual","Polyhedron"]]//RootReduce//Timing

With[{R=PolyhedronData["SnubCube","Circumradius"]},RootReduce[R-(1/(4R))]]

MeanCylindricalRadius

PolyhedronData["SnubCube","MeanCylindricalRadius"]

Integrate over polyhedron [unevaluated]

((NIntegrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p])/vol)

(rxy=((Integrate[(Sqrt[(x^2)+(y^2)]),{x,y,z}∈p])/vol))//Timing

N[rxy]

CAD

99+ GB

(cad=CylindricalDecomposition[PolyhedronData[pname,"RegionFunction"][x,y,z],{x,y,z},"Function"])//Timing

MaxMemoryUsed[]/10.^9"GB"

((NIntegrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol)

(rxy=((Integrate[(Sqrt[(x^2)+(y^2)])Boole[cad],{x,y,z}∈FullRegion[3]])/vol))//Timing

Divergence theorem [unevaluated integral]

(rxy=MeanCylindricalRadius[p,Debug->True,"Simplification"->RootReduce])//Timing

MeanSquareCylindricalRadius

PolyhedronData["SnubCube","MeanSquareCylindricalRadius"]

Integrate over polyhedron

((NIntegrate[(x^2)+(y^2),{x,y,z}∈p])/vol)

(i=((Integrate[(x^2)+(y^2),{x,y,z}∈PolyhedronData[{pname,#},"Polyhedron"]])/(PolyhedronData[pname,"Volume"]))//FullSimplify)&/@PolyhedronData[pname,"Orientations"]

N[i]

MeanSphericalRadius

PolyhedronData["SnubCube","MeanSphericalRadius"]

Integrate over polyhedron

((NIntegrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p])/vol)

(i=((Integrate[(Sqrt[(x^2)+(y^2)+(z^2)]),{x,y,z}∈p])/(PolyhedronData[pname,"Volume"])))//Timing

N[i]

MeanSquareSphericalRadius

PolyhedronData["SnubCube","MeanSquareSphericalRadius"]

Integrate over polyhedron

((NIntegrate[(x^2)+(y^2)+(z^2),{x,y,z}∈p])/vol)

(i=((Integrate[(x^2)+(y^2)+(z^2),{x,y,z}∈PolyhedronData[{pname,#},"Polyhedron"]])/(PolyhedronData[pname,"Volume"]))//FullSimplify)&/@PolyhedronData[pname,"Orientations"]

N[i]

Midradius = Midradius of dual

PolyhedronData["SnubCube","Midradius"]

Midsphere[PolyhedronData["SnubCube","Polyhedron"]]//RootReduce//Timing

Midsphere[PolyhedronData["SnubCube","Dual","Polyhedron"]]//RootReduce//Timing

RootReduce[(Sqrt[(1/(4(2-t)))])]

With[{R=PolyhedronData["SnubCube","Circumradius"]},RootReduce[(Sqrt[(R^2)-(1/4)])]]

Distance to Triangular Faces (Subscript[r, 3])

Norm[RegionCentroid[SelectFirst[PolyhedronData["SnubCube","Polygons"],Length[PolygonCoordinates[#]]==3&]]]//RootReduce

RootReduce[(Sqrt[((1+t)/(4(6-3t)))])]

With[{R=PolyhedronData["SnubCube","Circumradius"]},RootReduce[(Sqrt[(R^2)-(1/3)])]]

Distance to Square Faces (Subscript[r, 4])

Norm[RegionCentroid[SelectFirst[PolyhedronData["SnubCube","Polygons"],Length[PolygonCoordinates[#]]==4&]]]//RootReduce//Quiet

RootReduce[(Sqrt[((1-t)/(4(t-2)))])]

With[{R=PolyhedronData["SnubCube","Circumradius"]},RootReduce[(Sqrt[(R^2)-(1/2)])]]

SurfaceArea

PolyhedronData["SnubCube","SurfaceArea"]

SurfaceArea[PolyhedronData["SnubCube","Polyhedron"]]//RootReduce

Total[Area/@PolyhedronData["SnubCube","Polygons"]]//RootReduce

VertexSubsetHulls

Platonic

(h=VertexSubsetHulls[PolyhedronData["SnubCube","Polyhedron"],"Platonic"])//Timing

Volume

t=Root[-1-#1-((#1)^2)+((#1)^3)&,1];

PolyhedronData["SnubCube","Volume"]

Volume[PolyhedronData["SnubCube","Polyhedron"]]//RootReduce

PolyhedronVolume[PolyhedronData["SnubCube","Polyhedron"]]//RootReduce//Timing

PolyhedronVolume[PolyhedronData["SnubCube","Polyhedron"],Method->"GaussLaw"]//RootReduce//Timing

RootReduce[(1/3)(3(Sqrt[t-1])+4(Sqrt[t+1]))(Sqrt[(1/(2-t))])]

RootReduce[(Sqrt[(((613t+203))/(9(35t-62)))])]

With[{R=PolyhedronData["SnubCube","Circumradius"]},(8/3)(Sqrt[3(R^2)-1])+(Sqrt[4(R^2)-2])]//RootReduce

Projections

PolyhedronProjectionGraph[PolyhedronData["SnubCube","Polyhedron"],#]&/@{{0,0,1},{1,0,1},{1,1,1},{(NumericalApproximation[Root, (RowDefault["-1.84", FEExpressionsNumericalApproximationElider]), Root[1-#1+((#1)^2)+((#1)^3)&,1], ]),0,1},{(NumericalApproximation[Root, (RowDefault["0.383", FEExpressionsNumericalApproximationElider]), Root[-4+8 #1+6 ((#1)^2)+((#1)^3)&,1], ]),1,1}}

GraphData["SnubCubicalGraph","Graph","Perspective"]

Twist

Cube

ϕ=ArcCos[Root[8#^6-4#^4-2#^2-1&,2]]

N[%,11]

RootReduce[ArcTan[((t-1)/(t+1))]]

N[%]

RootReduce[(Sqrt[(t/2)])]

Octahedron

RootReduce[With[{a=Sqrt[1/(2-t)],b=Sqrt[t],c=1/Sqrt[t]},
ArcTan[((Sqrt[3](c-b))/(c+b-2a))]
]]

N[%]

Outward Offset

Root[64x^6+192x^5+176x^4+32x^3-60x^2-44x-11,2]//N

-(1/2)+(Sqrt[((1-t)/(4(t-2)))])//N

Angle Subtended by an Edge

RootReduce[ArcCos[Dot@@(#/Norm[#]&/@PolyhedronVertices[SnubCube][[PolyhedronEdges[SnubCube][[1]]]])]]

N[%]

RootReduce[(Sqrt[((1-t)/(t-3))])]

RootReduce[2ArcCsc[2R]]

N[%,11]

Edge of Circumscribed Polyhedra

Cube

RootReduce[2r4]

N[%]

RootReduce[(Sqrt[(1/(2-t))-1])]

N[%]

Show[Graphics3D[{
Polyhedron[SnubCube],
Wireframe[Polyhedron[Cube]/.Polygon[x_]:>Polygon[2x r4]]
}],Boxed->False]

Octahedron

RootReduce[(Sqrt[((t+1)/(4-2t))])]

N[%]

Construction

From uniform solid

<<Utilities`Simplify`

p=UniformPolyhedron[12];

poly=RootReduce/@Map[ToExact[#,4,200,300,10^5]&,p,{3}];

r=RootReduce[Sqrt[#.#]&[Subtract@@{{Root[-242+6530 ((#1)^2)-344 ((#1)^4)+7 ((#1)^6)&,2],Root[-338+1162 ((#1)^2)+68 ((#1)^4)+((#1)^6)&,1],Root[-3698+4568 ((#1)^2)-188 ((#1)^4)+7 ((#1)^6)&,1]},{Root[-3872+15312 ((#1)^2)-508 ((#1)^4)+7 ((#1)^6)&,1],Root[-32+1616 ((#1)^2)+76 ((#1)^4)+((#1)^6)&,1],Root[-1682+1964 ((#1)^2)-80 ((#1)^4)+7 ((#1)^6)&,1]}}]]

Show[Graphics3D[poly]]

poly2=Map[RootReduce[#/r]&,poly,{3}];//Timing

Show[Graphics3D[poly2]]

(v=PolyhedronVertices[poly2])//InputForm
First/@poly2/.Thread[v->Range[Length[v]]]

From snubification

Laevo

v=Select[Flatten[Polyhedron[SnubCube]],Length[#[[1]]]==4&];
c=Centroid/@v;
axes=Select[KSubsets[c,2],Norm[Cross@@#]<.01&];

Show[Graphics3D[{v,Line/@axes}],Boxed->False]

Show[Graphics3D[{v[[2]],Line/@Drop[axes,{2}],Hue[0],Line[{{0,0,0},c[[1]]}]}],Boxed->False]

f[x_?NumericQ]:=(
Print[x];
Max[Abs[PolyhedronEdgeLengths[Snubify[Polyhedron[Cube],r,x]]-1]]
)

FindMinimum[f[x],{x,.287,.288},WorkingPrecision->20]

x1=RootReduce[c[[1]]]

x2=RootReduce[Subtract@@First/@Partition[v[[2,1]],2]]

RootReduce[Unit[x1].Unit[x2]]

N[Pi/4-ArcCos[Root[-1+2 ((#1)^2)-4 ((#1)^4)+4 ((#1)^6)&,2]],20]

TrigExpand[Cos[Pi/4-ArcCos[x]]]

RootReduce[(x/(Sqrt[2]))+((Sqrt[1-(x^2)])/(Sqrt[2]))/.x->Root[-1+2 ((#1)^2)-4 ((#1)^4)+4 ((#1)^6)&,2]]

θ=Root[-1-2 ((#1)^2)-4 ((#1)^4)+8 ((#1)^6)&,2]

N[ArcCos[θ],20]

Union[FullSimplify[Norm/@c]]

RootReduce[Root[-1-12 ((#1)^2)-32 ((#1)^4)+32 ((#1)^6)&,2]-1/2]

r=Root[-11-44 #1-60 ((#1)^2)+32 ((#1)^3)+176 ((#1)^4)+192 ((#1)^5)+64 ((#1)^6)&,2]

movie=Table[Show[Graphics3D[{
Line[1.5{{-1,0,0},{1,0,0}}],
Line[1.5{{0,-1,0},{0,1,0}}],
Line[1.5{{0,0,-1},{0,0,1}}],snubify[Flatten[Polyhedron[Cube]],r(Root[-1-12 ((#1)^2)-32 ((#1)^4)+32 ((#1)^6)&,2]-1/2),0.2874131487577776811193075446r]}],Boxed->False,PlotRange->{{-1,1},{-1,1},{-1,1}}1.2],{r,0,1,.05}]

Show[Graphics3D[p=Snubify[Polyhedron[Cube],r,ArcCos[θ]]],Boxed->False]

Centroid/@Select[p,Length[#[[1]]]==4&]//N//Chop

Union[PolyhedronEdgeLengths[p]//FullSimplify]

<<Utilities`Simplify`

poly=Orient[Map[RootReduce[ToExact[#,Weight->10^3]]&,p,{3}]];//Timing

OrientedQ/@poly

(v=PolyhedronVertices[poly])//InputForm
First/@poly/.Thread[v->Range[Length[v]]]

Dextro

Show[Graphics3D[p=Snubify[Polyhedron[Cube],r,-ArcCos[θ]]],Boxed->False]

Union[PolyhedronEdgeLengths[p]//FullSimplify]

<<Utilities`Simplify`

poly=Orient[Map[RootReduce[ToExact[#,Weight->10^3]]&,p,{3}]];//Timing

And@@(OrientedQ/@poly)

(v=PolyhedronVertices[poly])//InputForm
First/@poly/.Thread[v->Range[Length[v]]]

From root space

vals=Flatten[Outer[Times,Permutations[{{0,1,1},{0,1,-1},{2,1,-1}}],Tuples[{-1,1},3],1],1]

t=Root[-1-#1-((#1)^2)+((#1)^3)&,1];points=Map[Function[x,RootReduce[Sign[x.(t^{0,1,2})](Sqrt[Abs[x.(t^{0,1,2})]])]],vals/4,{2}];
edge=Select[Subsets[points,{2}],Function[x,Chop[N[1-Apply[EuclideanDistance,x]]]==0]];
split=GatherBy[edge,Function[x,Position[ConnectedComponents[System`Graph[Apply[UndirectedEdge,edge,{1}]]],First[x]][[1,1]]]];
Graphics3D[{ConvexHullMesh[Union[Flatten[split[[1]],1]]]["GraphicsComplex"],Cyan,Tube/@split[[2]]},Boxed->False,SphericalRegion->True,ViewAngle->Pi/9]