# How to simulate reflection of people in a 4 meter parabolic mirror to show that they won't appear upside down?

Answers to the Space Exploration SE question Which Apollo “mystery” was said to be finally solved by a better rendering engine? demonstrate that sometimes a correct rendering is the best way to address a problem.

A question I've recently asked in Astronomy SE Why are these telescope mirror makers not upside down? (Daniel K. Inouye Solar Telescope) can probably be quickly, convincingly and definitively addressed with a quick mock-up in Blender.

While I've used it in the past it's mostly from the Python scripting size, I have never developed any aptitude mousing my way around even though it looks easy.

So I thought I'd pose this as a related but different question here, and if answers here can also be used as guidance to how one might produce an answer to that question, all the better!

I will then give it a try myself, but I'll be slow and if someone beats me to it there, great!

The mirror in question has a diameter of 4 meters. It is f/2 meaning the focal length is $$f=8$$ meters, and Wikipedia tells us that the height of the mirror as a function of radius should be:

$$h_p(r) = \frac{r^2}{4f}$$

This can also be fairly well approximated with a sphere of radius $$2f$$ or 16 meters which can be generated in Blender without an equation, but just for completeness:

$$h_s(r) = 2f - \sqrt{4f^2 - r^2}$$

It's an off-axis paraboloid, but not very much off-axis; just enough so that the secondary is not directly intercepting the sunlight illuminating the primary, in order to reduce diffraction effects.

Question: Based on perspective cues and relative sizes in the image (e.g. handrail in front has larger apparent size than people's heads in back): How would one go about simulating the reflection of these people in a 4 meter parabolic mirror to show that they won't appear upside down?

The linked question in Astronomy SE:

The new open access Solar Physics article The Daniel K. Inouye Solar Telescope – Observatory Overview is the first of several papers about the new state-of-the-art solar observatory. For more info see Phys.org's Solar telescope releases first image of a sunspot

Figure 4 of the paper is shown below. It is the 4 meter primary mirror viewed at an oblique angle with several people in clean room garb standing behind it.

We can see their reflections in the mirror as well. The geometry is similar to people standing on the opposite side of a reflecting pool.

What struck me is that this differs in an important way; the people are not upside down!

1. Why not exactly?
2. Would the people see the camera upside down then?

It looks like the photo was taken from fairly close to the mirror based on the strong perspective scaling from foreground to background objects.

(Figure 4) The 4-meter primary mirror (M1) after coating at the AMOS coating facility on Haleakalā.

• I'm unsure about tagging; are there any tags specific to reproducing a few key geometrical elements of a scene for technical, scientific (or even forensic) purposes without having to be photorealistic? For example, the people's heads could be nicely shaded icosahedrons or a uv-mapped and work just as well.
– uhoh
Dec 8, 2020 at 5:52

The mock-up works with Cycles ray-tracing, straightforwardly.

One approach .. You can create the parabolic surface directly, as ShiftA > Mesh > Math Function > Z Math Surface. Perhaps it's easier to extract the profile from a ZX function, curving in only one direction:

.. and having deleted all except the vertices: X>=0, Y=0, spin it with a Screw modifier.

Give the disc a 100% metal, pure White, 0 Roughness, mirror-surface.

The right-way-up virtual image is visible only from certain camera angles.. (if you play, you can see the hall-of-mirrors slide from wrong-way-up to right-way-up).

Maybe, for perfection, you could calculate the ideal normal of the mirror as a function of object-space XY, and plug that into the shader, to get rid of any artefacts resulting from the linear interpolation between vertices.. but for a demo, that doesn't seem to be necessary.