[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

ATM 3D Mirror Deformation Display




Greetings All,

Down at our Local St. Petersburg mirror Lab, I find that Novice Mirror Makers often have a difficult time understanding what the 2D plot from the likes of Sixtests or Figure45 is trying to tell them.

In an effort to resolve this issue, I've written a program to take a Sixtests Saved Surface file, and turn it into a 3D Mirror, with the 3D surface corresponding to the 2D chart from Sixtests.  It's not particularly Scientific, but it can be entertaining to play with ;)

I'd like to gather some input from others on what they think of the code, if interested here's what you will need:

#1 MS Windows 9x/2K/Me/Xp with DirectX8 installed
#2 A hardware 3D accelerator **1
#3 The below install program

http://lerch.no-ip.com/atm/3d/3d.zip (1.9MB)

The Install includes some example files with a *.3D extension, which you will find in the folder where the program was installed.  

Method of Operation:
#1  A dialog box will pop up asking for the file to open
        A) Select an example file, or
        B) Create you own file by running Sixtests, then selecting File/Save Surface.
#2 Code will jump to DirectX full screen window
#3 Use keyboard A/Z to Zoom In/Out
#4 Move mouse to re-orientate mirror
#5 Some fun Keys to play with are:
       A) 0-9 select color profiles
       B) S/X which changes Deviation Scale UP/Down **2
       C) F1, which will display help, describing what the other keys do
#6 Hit "Q" to exit program.

I hope you find this program useful and entertaining, and I appreciate any feed back!

Notes:

**1  If not sure whether you have 3d acceleration, goto windows Start menu, Select Run, then Type in DXDIAG and hit enter.  A window will open and gather data about your DirectX Installation.  Under the Tab "Display" near the bottom look for "DirectX Features, Direct3D Acceleration" It should show "Enabled"  To further check DirectX, press the "Test Direct3D" button, then let the test run for both DirectX7 & DirectX8.

**2  The Initial Deviation Scale is Determined as Follows

#1 Sixtests save the surface file with the Radius in mm, and the height of the Deviation in nm
#2 I open this file and Gather the Radius data and the Deviation Height
#3 I Normalize the deviation, so the lowest reading = 0
#4 I scale the deviations, so the highest deviation = 25% of the mirror radius (It looks pretty that way)
#5 I then Create the 3D object with the new scaled deviations.
#6 Pressing either S/X Re-Scales the deviation +/- 10%

Take Care,
James Lerch
http://Lerch.yi.org/atm (My Telescope  Construction Webpage)