EMAIL: patrick.duverger@cnet.francetelecom.fr NAME: Duverger Patrick TOPIC: Great Engineering Achievements COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT. TITLE: engineer's youth COUNTRY: France WEBPAGE: http://rezo.rez-gif.supelec.fr/home_pages/kfra/home.html RENDERER USED: povray 3 TOOLS USED: povlab 4.0 RENDER TIME: 26 h 30 min HARDWARE USED: pentium 200 with 64 Mg of RAM IMAGE DESCRIPTION: I wanted to show how litle ideas can become great realizations. That scene shows a book with a lot of pictures of some engineers great inventions which contrasts with three modest objects gathered around the book. But the lego construction, the mechanic kit and the unknown sculpture are not as simple as they seem to be at the first glance. These three objects are three impossible objects. The lego and the mechanic kit are easy, but it is a litle more difficult to see why the wood carving is impossible. Try to cut an orange with a plane and you'll obtain au disc, not a square ! So it would be more difficult to realize such objects in reality than the inventions shown in the book. And all these things are put on a mathematical tiling which has the property of beeing infinitely aperiodic. It means that whatever pattern of tiles you pick up from the tiling, you won't find this pattern more than 2 times in the same direction. There is no geometrical period in this tiling. This tiling was found by the great mathematician : Penrose. DESCRIPTION OF HOW THIS IMAGE WAS CREATED: I used lots of Bezier patch to make the pages of the book. Each Bezier patch is a rectangle with 2 opposite sides shaped by a 2D sinusoidal curve. The impossible objects are made within a non orthographic projection. Calculations were easier with orthographic projection because all projection vectors were parallel. Now, with a normal projection, all the projection vectors go to the point of the camera position. So, to put parts of the object between the camera and the scene in order to give the illusion that there are elements which are in the front rather than in the back where they should be if it was a reel object, it needs more complex calculations. The projection is the big difference with my last submission '25-01'. My new way to calculate impossible objects is more powerful. Some elements, like the screwdriver, were generated with povlab, a very useful pov modeler made by a fellow country man. The Penrose's tiling is made in pure POV ! The POV description of the tiling is not made with constant values, it is generated in POV by POV itself ! No preprocessor, the whole algorithm is made in POV ! I used the property of one include file to include itself an infinite number of times. For me an include file is like a procedure, but POV doesn't manage any context (like the state of the variables before a procedure call or like the value of the procedure arguments), so you have to do it yourself. And when a procedure must call itself within a recursive algorithm, it should be useful to be able to use arrays in order to save the context a lot of times, but arrays are not possible in POV, that's why it begins to be really difficult. The method I found was to trace the operations I wanted to do on the variables used in the recursive procedure in order to inverse operations to restitue at the end of the procedure the values these variables had before the call of the procedure (which is made in POV by the 'include' directive). You have to do that because you cannot save the values of the variables when a procedure calls itself an unknown number of time (the number of recursions is set by a variable). And this method works ! I tried to use the same method in my last submission '25-02' in order to generate the Hilbert curve, but I didn't succeed to do it completely (the number of recursions was limited). Now I can make simple recursive algorithms just using POV. So, without changing the main algorithm, it is very easy to do in POV all the aperiodic tilings ever found.