# Projecting 3D Mesh Region onto 2D Plane

For vizualization purposes in a beamer presentation I would like to project a 3D MeshRegion like ConvexHullMesh[RandomReal[{-1, 1}, {50, 3}]] onto a 2D plane. How can this be achieved?

You can simply feed the 3D BoundaryMeshRegion into the 2D RegionPlot:

rr = ConvexHullMesh[RandomReal[{-1, 1}, {50, 3}]]
RegionPlot[rr] To choose a different projection, apply a rotation, e.g. like this:

RegionPlot[Rotate[rr, {{1, 1, 1}, {1, 0, 1}}]]


Edit:

Here is how I checked that this indeed does a projection onto the $xy$ plane rather than an intersection with some plane (which presumably would be at $z=0$):

First I define a polyhedron that contains a triangle parallel to the $xy$ plane but shifted so it doesn't intersect this plane.

region =
BoundaryMeshRegion[{{0, 0, 1}, {2, 0, 1}, {0, 1/2, 1}, {0, 0, 2}},
Polygon[{{1, 2, 3}, {1, 2, 4}, {2, 3, 4}, {1, 3, 4}}]] The base is a right triangle with side lengths 2 and 1/2 adjacent to the right angle. Let's see if we can identify this in the projection:

RegionPlot[region, AspectRatio -> Automatic] This is what I'd expect as the projection.

Edit 2:

A more pedestrian way of getting a projection (good as a sanity check) would be this:

Graphics[Inset[
RegionPlot3D[rr, BoxRatios -> {1, 1, 0.0001},
PlotStyle -> FaceForm[Blue], Lighting -> {"Ambient", White},
ViewPoint -> Top], Automatic, Automatic, Scaled]] This outline agrees with the projection obtained from RegionPlot above. The way I did this is to squish the three-dimensional output of RegionPlot3D by reducing the side length of the z dimension to nearly zero in BoxRatios. To create a 2D Graphics out of this squished 3D object, I use an Inset.

• Does this really give an (orthogonal) projection? After Reading about RegionPlot, I actually don't understand how this works (e.g., on which plane does it project?). Could it be, that this instead gives the intersection of the convex hull with some plane? – Robert Rauch Jul 15 '18 at 22:49
• As far as I can tell, it does provide the projection onto the $xy$ plane by dropping the $z$ coordinate. I'll edit the answer to show how I've tested that... – Jens Jul 15 '18 at 23:51