Sometimes, you can tell Mathematica knows something internally, possibly because it visualizes the known quantities for you, but can't figure out how to get it to tell you them explicitly. I'm having such a problem with MeshRegion and certain PlotThemes.
Say you have a mesh - say this one from the documentation:
myMesh =
MeshRegion[{{0, 0, 0}, {2, 0, 0}, {2, 2, 0}, {0, 2, 0}, {1, 1, 2}},
{Tetrahedron[{1, 2, 3, 5}], Tetrahedron[{1, 3, 4, 5}]}];
You can then request to see the normal vectors of each face using PlotTheme -> "FaceNormals" like this:
MeshRegion[myMesh, PlotTheme -> "FaceNormals"]
This produces the requested tetrahedron with small, black lines visualizing the face normal vectors.
However, I cannot seem to find how to have Mathematica print this information explicitly. I have tried using MeshRegion[myMesh, PlotTheme -> "FaceNormals"] // InputForm and deducing from this, but it simply repeated that my requested PlotTheme is "FaceNormals", without the numerical information for the vector visualizations.
I have dug for it, but feel I may be missing some portion of the documentation where this is stated. Does anyone know how to - either by extracting it from Mathematica's internal workings, or simply mathematically in an algorithmic fashion - produce the "FaceNormals" of any arbitrary mesh?
My actual meshes aren't so simple as they vary in shape and have upwards of 1000 triangular faces or more, rather than the 4 here, but the PlotTheme itself produces the "FaceNormals" with no issue, so I know it can be done and has internally...


Region`Mesh`MeshCellNormals– Michael E2 Feb 26 '18 at 00:22mr= MeshRegion[myMesh, PlotTheme -> "FaceNormals"]; facenormals=Cases[Normal[Show@mr], _Line, Infinity]; Show[mr, Graphics3D[{Red, Thick,facenormals}]]– kglr Feb 26 '18 at 01:15