A 2D Demo for Spherical Mirrors in Excel – with virtual reflected rays

This is a demonstrative model for 2D spherical mirror ray tracing in Excel displaying both the real reflected rays and the virtual reflected rays. You you have the option of turning the visibility of the virtual rays off if you wish.

It works in Excel 2003 at about 40 frames per second and in Excel 2007 at about 4 frames per second. You can start it in  a hands-off demo mode by clicking the “Fully Automatic Demo” button and at any time you can hit the the “Demo Style” button to choose a flexible (pulsating) mirror or a rigid one.

You can stop this mode by clicking either the Joystick chart or the “Fully Automatic Demo” button. You can enter a semi-manual demo mode by clicking the Joystick chart and you will adjust the position of the light source by moving the joystick with the mouse.

In order to be correctly calibrated make sure to click the red dot in the middle of the joystick chart whenever you start the virtual joystick. To stop the joystick macro you can click anywhere on the joystick chart.

You can choose a flexible or rigid mirror in this mode too. You can adjust the speed of the model too using the “Demo Speed” button. You can use the model in fully manual mode by typing in various parameters.

If you mess things up just download the model again from the site.



  1. Author

    A parabolic case can be easily developed. Essentially there is an angle at which the ray meets the surface which is somewhat different in the case of a circle than a parabola.

  2. Yes, Trying to understand the Macros ..
    And understanding the effort that you had put in in developing the application.
    Trying to see how it can be useful in my field .. Parabolic antennas for satellite communication.

  3. Author

    Thanks Shashikant! I’m laughing because I see people all the time drinking the Koolaid 🙂 with the “mandatory” update. One night one of the computers in my house was force “updated” from Windows 7 to 10 without operator input. So you managed to run it, eventually?

  4. George, My laptop was Win7 version but sometime back MS made it obligatory to do Win10 upgrade and upgraded it.
    I therefore don’t have the older version of Excel.
    Anyway your application is simply superb.

  5. Author

    Shashikant, did you try to run it in that version and it failed?

  6. Hello George,
    Too late to comment on a blog 10 years old.
    Do you have a Excel sheet for 64 bit Windows / Excel 10 for this beautiful application?

  7. Martijn,

    Unfortunately this sheet is limited to a spherical mirror, you could change the mirror but the reflection will not be correct. Sorry.


  8. Hi,

    you have created some amazing spreadsheets! I am trying to change the ‘mirrors_experimental_5.xls’ spherical mirror to a parabolic shape. I had no problem to change the red mirror shape into a parabola but the ray tracing isn’t done by the same source parameters so it seems. I don’t quite understand how the matrix calculation goes. Could I mail you the spreadsheet to show how far I’ve got, or, maybe you have already done a version with a parabol instead of a sphere?

  9. Thanks, Chrisham. The math stuff is mostly high school. The most important in developing any model is not your background or IQ but the time you spend and persistance you put into it. Try to play a lot and to read as little as you can. Reading spoils your creativity and motivation. There are few things you need to know well such as Pythagoras theorem, triangle similarity, vector composition etc (mainly high school stuff). When you forget some theory get the habit to derive it from very basic principles. Contrary to the appearances you actually save time doing so. If you can visualize something in your mind as a simple mechanical analogy you WILL be able to model it. Math is secondary! Stop reading, collaborating, listening to or asking other people. Finish school if you are still in and get a job. In your spare time start playing with the models that interest you the most. And do spend 10 hours of thinking for any minute of reading. You are gonna first build a huge confidence level and then achieve much more like this. Oh, and be slow even for small models, don’t rush if you want to achieve something. Rushing will waste much more time than you think, in the long term, plus it might be the main obstacle in getting where you need to go. Trust your own mind 1000 times more than anyone else, no matter who that anyone else is (it can be Newton for instance). Cheers, George

  10. Your stuff is always amazing…. I wish I could make sense of how you come up with the math stuff…..sigh!

  11. How much it’s possible it’s actually it’s up to the user. Cheers, George

Leave a Reply

Your email address will not be published.