===== From denny1@home.com: Fascinating subject matter. I'm impressed you modelled a real, optical phenomena in a raytracer. ===== From Alain.Culos@bigfoot.com: The distortion is natural but obviously if your parameter is badly tuned the distortion will be more important. If you're close, and it really looks like you are, then there should be little difference. It is a simple realisation, but a brilliant idea. Here is the math you were wondering about, for simplification I'll only deal with 2d equations, they are really the same in 3d since the object is made pretty big relatively to the hole. So these equations will be an approximation of reality. Take a simple parabola and write it this way : y = a * x^2. For each value x, you could actually make a simple pov-ray scene to draw that for you : // declare lights, camera, background, includes, ... #declare param_a = 1; // change this value for different results #declare step = 4/50; // change the denominator : // it indicates the number of spheres you want for drawing the curve. #declare param_x = -2; #while (param_x <= 2) #declare param_y = param_a * pow (param_x, 2); sphere {, 0.05 pigment {colour Blue}} #declare param_x = param_x + step; #end // now render that. The tangent vector to a point of a curve is defined by the line that is parallel to the curve in that point. When light is reflected in that point it is the same as if it was reflected on the tangent. So the equations are pretty easy for someone with a bit of maths : calculate the unitary vector (normalised) along the tangent : (Note you'll have to view this text in monospacing/fixed font of some sort, courier ?) ( 1 ) u = ( ) / sqrt (1 + 4.a^2.x^2) (2ax) Now take rays parallel to y that come down on the parabole, they reflect along the following vector : (0) (0) r = ( ) - 2.u.(( ).u) (1) (1) Now if you take that ray from the point where it reflect to intersect the y axis, you get always the same point regardless of where the reflection occured : it is located in y=1/(4.a) We call this the focal point and it is a nice property, the same that is used for correction glasses, though it can be a bit more complex than that. Basically what you want for your experience is two paraboloids of revolution (parabole spun around their main axis) one mirroring the other at half the focal distance so that the focal point of each lies in the base of the other one. I'll try a bit of ascii art to explain that one : Incoming Ray \ (viewer's eye) \ (or light) \ Box hole (top) ---- \ ---- ----/ \ \---- ----/ \ /| \---- ---/ \ / | \--- / \/ | Reflected \ Box \ Second /\ | Ray / ---\ Reflection / \ | /--- ----\ / \| /---- ----\ / /---- -----XXXXX----- Object in the box Sonce the top hole is the focal point of the bottom paraboloid, the reflected ray will be parallel to the main axis, in turn this ray will be reflected on the top paraboloid towards its focal point which is the base of the bottom paraboloid. Wheter rays travel one direction or the other makes no difference. The problem with pov-ray is that it will not make light rays travel along the reflection paths (no real caustics calculations), so you have to especially illuminate the object otherwise the inside of the box will just be very dark. But the effect is perfectly well handled for viewing the object once it is properly illuminated. To cut the story short the smaller the whole (in relation to the size of the paraboloids) the more perfect (less distorted) the image, but the hole should be bigger than the object otherwise you won't see the entire object. ===== From shipbrk@gate.net: Cool, I've often wondered if that illusion would work if rendered in POV-Ray, but never actually got around to trying it. ===== From houston.graphics@iname.com: Technically I like this, but the car lets the image down a little. ===== From ethelm@bigfoot.com: A bit confusing without your explanation but good concept. ===== From gshaw@monotix.co.za: Now you see it, now you don't. Interesting image. Did pov produce the image of the car on top of the box? (What I mean is that pov's implementation of reflection isn't perfect. I didn't think it could do reflections like that.) ===== From mar@physics.usyd.edu.au: I've seen one of these in real life... nicely modelled, but I think the illusion is lost to a large degree in a graphic. I don't really see the connection with the topic either, I'm afraid. ===== From jull43@ij.net: I appreciate the technical effort but it does not really work. ===== From r@209.155.62.50: great, now make it a stereogram ;) Notable for originality