Triakis Truncated Tetrahedron

Author

Eric W. Weisstein
May 15, 2021

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

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

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

Solid

PolyhedronData["TriakisTruncatedTetrahedron","Orientations"]

PolyhedronData["TriakisTruncatedTetrahedron"]

Graphics3D[{
{Opacity[.5],PolyhedronData["TriakisTruncatedTetrahedron","GraphicsComplex"]},
PointSize[.02],Point[{0,0,0}],
Thickness[.02],Arrow[{{0,0,0},{0,0,2.5}}]
},Boxed->True]

PolyhedronData["TriakisTruncatedTetrahedron","Edges","Length"]

EuclideanDistance@@@Flatten[Cases[Normal@PolyhedronData["TriakisTruncatedTetrahedron"],Polygon[p_]:>Partition[p,2,1,1],∞],1]//FullSimplify//Union

PolyhedronData["TriakisTruncatedTetrahedron","Classes"]

PolyhedronData["TriakisTruncatedTetrahedron","Volume"]

Volume[PolyhedronData["TriakisTruncatedTetrahedron","ImplicitRegion"]]

Net

PolyhedronData["TriakisTruncatedTetrahedron","Net"]

PolyhedronData["TriakisTruncatedTetrahedron","Net","Colored"]

Properties

<<MathWorld`PolyhedronOperations`

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

Centroid

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

PolyhedronData[pname,"Centroid"]

RegionCentroid[p]

PolyhedronCentroid[p]

Circumsphere

PolyhedronData[pname,"Circumsphere"]

Circumsphere[p]

(sphere=MyCircumsphere[p])//Timing

Convex

ConvexPolyhedronQ[p]

DihedralAngles

PolyhedronData[pname,"DihedralAngles"]//Tally

DihedralAngles[p]//FullSimplify//Tally

EdgeLengths

PolyhedronData[pname,"EdgeLengths"]

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

Faces

GeneralizedDiameter

PolyhedronData[pname,"GeneralizedDiameter"]

GeneralizedDiameter[p]//FullSimplify//Quiet

InertiaTensor

PolyhedronData[pname,"InertiaTensor"]

((MomentOfInertia[p,{0,0,0}])/(Volume[p]))//RootReduce//Timing

PolyhedronInertiaTensor[p]//Timing

Insphere

PolyhedronData[pname,"Insphere"]

Insphere[p]

sphere=MyInsphere[p]

MeanCylindricalRadius

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

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

N[i]

MeanSquareCylindricalRadius

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

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

N[i]

MeanSphericalRadius

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

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

N[i]

MeanSquareSphericalRadius

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

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

N[i]

Midsphere

sphere=PolyhedronData[pname,"Midsphere"]

(sphere=Midsphere[p])//Timing

SurfaceArea

PolyhedronData[pname,"SurfaceArea"]

SurfaceArea[p]//FullSimplify

Total[Area/@PolyhedronData[pname,"Polygons"]]//FullSimplify

VertexSubsetHulls

PolyhedronData[pname,"VertexSubsetHulls"]

Platonic

(h=VertexSubsetHulls[p,"Platonic","Skip"->{}])//Timing

Volume

PolyhedronData[pname,"Volume"]

Volume[p]//FullSimplify

PolyhedronVolume[p,Method->"GaussLaw"]//FullSimplify

Perspective projections

Manipulate[PolyhedronProjectionGraph[PolyhedronData["Cuboctahedron","Polyhedron"],{a,b,c}],{a,-1,1},{b,-1,1},{c,-1,1}]

XXX

PolyhedronProjectionGraph[PolyhedronData["DuererSolid","Polyhedron"],]

Construction

Net

PolyhedronData["TriakisTruncatedTetrahedron","Edges","Length"]//Max

PolyhedronData["TruncatedTetrahedron","Net","Polygons"]

PolyhedronData["TruncatedTetrahedron","Net"]

hexagons=Select[PolyhedronData["TruncatedTetrahedron","Net","Polygons"][[1,All,1]]2 (Sqrt[(2/3)]),Length[#]==6&]

v=Flatten[hexagons,1]//Union

p=SelectFirst[{x,y}/.Solve[SquaredEuclideanDistance[v[[2]],{x,y}]==SquaredEuclideanDistance[v[[11]],{x,y}]==1,{x,y}]//FullSimplify,#[[2]]<v[[2,2]]&]

tri=Append[v[[{11,2}]],p]

θ=ArcCos[Dot[v[[11]]-p,v[[2]]-p]]//FullSimplify

tri2=(p+RotationMatrix[θ].(#-p))&/@tri//FullSimplify

tri3=(p+RotationMatrix[-θ].(#-p))&/@tri//FullSimplify

beak={tri,tri2,tri3};

rotbeak=Map[{(Sqrt[6]),3 (Sqrt[2])}+{1,-1}#&,beak,{2}]//FullSimplify

net=Graphics[{FaceForm[{Red,LightYellow}],EdgeForm[Black],
Polygon/@hexagons,
Polygon/@beak,
Polygon/@FullSimplify[Map[{3 2 (Sqrt[(2/3)]),0}+#&,beak,{2}]],
Polygon/@rotbeak,
Polygon/@FullSimplify[Map[{3 2 (Sqrt[(2/3)]),0}+#&,rotbeak,{2}]],
MapIndexed[Text[#2[[1]],#,Background->White]&,v]}]

netv=Flatten[Cases[net,Polygon[p_]:>FullSimplify[p],∞],1]//Union

netf=Cases[net,Polygon[p_]:>FullSimplify[p],∞]/.Thread[netv->Range[Length[netv]]]

Solid

polygons=Flatten@PolyhedronData["TruncatedTetrahedron","Faces","Polygon"];

tpolys=Join[Pick[polygons,polygons/.Polygon->Length,6],Flatten@Cumulate[polygons,{{3,PolyhedronData["Tetrahedron","Inradius"]}}]]//FullSimplify;

verts=Union[Flatten[tpolys[[All,1]],1]]

faces=tpolys[[All,1]]/.Thread[verts->Range[Length[verts]]]

ttt=GraphicsComplex[verts,Polygon[faces]]

Graphics3D[{Opacity[.4],FaceForm[{Red,Blue}],ttt},Boxed->False]

PolyhedronDataString

<<MathWorld`PolyhedronOperations`

file=OpenWrite["~/triakis.m"]

WriteString[file,PolyhedronDataString[ttt,
"StandardName"->"TriakisTruncatedTetrahedron",
"Name"->"triakis truncated tetrahedron",
"Classes"->{"SpaceFilling"},
Debug->True
]]

Close[file]

Skeleton

Grid

skel=PolyhedronData["TriakisTruncatedTetrahedron","Skeleton"]

g1=EdgeAdd[EdgeDelete[System`GridGraph[{4,4},VertexLabels->"Name"],UndirectedEdge@@@Sort[Sort/@Partition[{6,10,11,7},2,1,1]]],
UndirectedEdge@@@Sort[Sort/@Join[
Partition[{4,7,10,13},2,1],
Partition[{16,11,6,1},2,1],
{{2,5},{9,14},{12,15},{3,8}}
]]]

ToCommonEdges[g1,g2]//Round

RecognizeGraph@skel

Planar

Manipulate[SkeletonGraph[PolyhedronData["TriakisTruncatedTetrahedron","GraphicsComplex"],p],{{p,1},.1,10},SaveDefinitions->True]

skelp=PlanarGraph[skel,VertexLabels->"Name"]

v=GraphEmbedding[skelp]//Chop

v1=(#-v[[10]])&/@v//Chop

v2=((RotationMatrix[π/2].#)&/@v1)

g2=System`Graph[Range[VertexCount[skelp]],EdgeList[skelp],VertexCoordinates->v2]

IsomorphicGraphQ[g1,g2]

GraphData["TruncatedTetrahedralGraph","Graph","Planar"]

GraphDataString

<<MathWorld`Graphs`

file=OpenWrite["~/triakis-skel.m"]

WriteString[file,GraphDataString[g2,
"StandardName"->"TriakisTruncatedTetrahedronSkeleton",
"Name"->"triakis truncated tetrahedron skeleton",
"Information"->"TriakisTruncatedTetrahedron",
"Skip"->{"CliqueCoveringNumber"},
Debug->True
]]

Close[file]