How can I make sure that 3D plots have the exact same orientation and viewpoint?

If the issue is that internally Graphics3D sets any scaling and view based on what's in the object being displayed, how about making all objects with the same "stuff" but different colors? In other words, include all of the possible pieces but use Transparent for the color of the pieces not to be seen in a particular image.

image1 = Graphics3D[{{Red, polygons1}, {Transparent,EdgeForm[None], polygons2}, 
   model}, ViewPoint -> {0.14, 0.2, -3.4}, 
  ViewVertical -> {0.04, 0.01, -2.0}, Boxed -> False]
image2 = Graphics3D[{{Blue, polygons2}, {Transparent,EdgeForm[None], polygons1}, 
   model}, ViewPoint -> {0.14, 0.2, -3.4}, 
  ViewVertical -> {0.04, 0.01, -2.0}, Boxed -> False]

Manipulate[Show[{image1, image2}[[image]]], {image, {1, 2}}]

Users N.J.Evans and SquareOne came up with this, but I'll post it just so the question can be answered.

I had originally made these plots using the functions here and they are essentially made via commands like

Show[ model, ListContourPlot3D[ data, options]]

where model is the 3D chemical model and options would include things like PlotRange. I had tried to be specific and give the exact same PlotRange to every molecule plot. But it would seem that the PlotRange given to ListContourPlot3D did not directly affect the PlotRange of the combined graphic created with Show. You can see this by

Charting`get3DPlotRange /@ {image1, image2}
(* {{{-277.634, 287.701}, {-170.275, 172.791}, {-135.625, 
   135.624}}, {{-276.904, 286.273}, {-170.267, 172.414}, {-115.797, 
   115.742}}} *)

So the answer to my original question, "What option, in addition to ViewPoint, ViewAngle, and ViewVertical, do I have to set to ensure that the 3D graphics viewpoint is the same?" is that you have to have the same PlotRange in the final display of the Graphics3D object.

Manipulate[
 Show[{image1, image2}[[image]], 
  PlotRange -> {{-278, 288}, {-170, 173}, {-136, 136}}], {image, {1, 
   2}}]

enter image description here

Tags:

Graphics3D