VB Gadgets presents...
"Just as a photon presents itself to the observer as both a wave and a particle, so Photon is humbly presented to you as both a calculator and a graphing tool."
Windows Installer
Download this if you want a standard Windows installation. Includes uninstaller.


Photon  Version 1.3.9.6 (February 17, 2017)
VB Gadgets is excited to bring you a graphing calculator that looks better, runs faster, and can do much more than its predecessor  ParaGraph 6.5.2. ParaGraph was written in Visual Basic 6, a grumpy old language that could use some updating. Photon was written in Visual Basic.NET with Visual Studio  a more current and powerful programming language.
Keep reading for more information about Photon, or check out the help page if you're confused about how Photon works.
Keep reading for more information about Photon, or check out the help page if you're confused about how Photon works.
How to get Photon
You can download this program by clicking one of the links above. If you're prompted to run the file or save it, choose to save it. You can put this executable program anywhere on your computer, but it's recommended to save it to a location where it won't be moved. Alternatively, you can just run the installer and have all this done automatically.
Compatibility:
Photon runs on Microsoft's .NET framework 4.6. If you're having problems with Photon, it could be that you need to install this framework. The .NET Framework 4.6 is free from Microsoft, and can be installed here.
Most machines running Windows Vista, Windows 7, Windows 8, or Windows 10 should already have .NET 4.6. Windows XP does not by default, so you'll have to install the framework yourself if you haven't already.
Compatibility:
Photon runs on Microsoft's .NET framework 4.6. If you're having problems with Photon, it could be that you need to install this framework. The .NET Framework 4.6 is free from Microsoft, and can be installed here.
Most machines running Windows Vista, Windows 7, Windows 8, or Windows 10 should already have .NET 4.6. Windows XP does not by default, so you'll have to install the framework yourself if you haven't already.
Change Log
1.3.9.6 Just a few small bug fixes.
1.3.9.5 A small bug that caused too much text to be selected when focus was directed away from the window has been fixed.
1.3.9.4 The x, y, and z axis now become a dotted line when behind the surface of a 3D graph. This allows for a better 3D viewing experience. Additionally, a programhalting bug has been fixed.
1.3.9.3 A data sorting issue has been fixed. Also, some unit conversions have been more precisely defined.
1.3.9.2 A small bug regarding copying and pasting has been fixed.
1.3.9.1 A small bug regarding fonts has been fixed.
1.3.9.0 You can now paste data into the XY data sheet from other spreadsheets. Just press CTRL+V to paste data. Data will begin pasting at the top of the column, even if your cursor is in a different cell.
1.3.8.1 Minor bug fix regarding text selection.
1.3.8.0 Parentheses are now highlighted to make text entry easier. This feature can be turned off from the settings page.
1.3.7.5 More text entry optimizations have been implemented, and a bug with imaginary numbers has been fixed.
1.3.7.4 Dyne force units were bugged; the issue is fixed.
1.3.7.3 A very minor bug regarding text entry has been fixed.
1.3.7.2 Text entry for UV transformations has been optimized.
1.3.7.1 UV transforms now get saved if you save a file.
1.3.7.0 UV transforms (used in multivariable calculus) are now possible! For three dimensional plotting, the transforms are UVW. Transform your coordinate system by right clicking the plotting range and clicking the last option, titled "UV transformations." Some small bug fixing also comes with this update.
1.3.6.0 3D plots are now smoother in appearance and can be scaled vertically by scrolling the mouse on the edge of the viewing range. Smooth plotting can be turned off by unchecking the antialiasing box in the options pane.
1.3.5.0 You now have the option to draw black lines on a 3D graph. The option is included on the settings page.
1.3.4.3 Scientific notation interpretation was bugged but is now fixed.
1.3.4.2 Screen clipping was added for 3D surfaces so faces that get really close to the viewing perspective don't distort the view.
1.3.4.1 3D graphs now have a better default viewing angle.
1.3.4.0 Pesky asymptotes no longer show up in graphs.
1.3.3.0 Solving differential equations has been optimized to produce more accurate results.
1.3.2.4 A small bug regarding order of operations was fixed, and a bug with plotting slope fields was fixed.
1.3.2.3 Because four elements have received new names, Photon's periodic table has been updated.
1.3.2.2 Fixed a small bug regarding the speech grammar file.
1.3.2.1 I'm hunting down as many bugs as I can find! Photon interprets multiple lines of text differently, using "A" now works in variable definitions, and some code has been optimized.
1.3.2.0 Added support for tracing in 3D parametric equations and using the animation variable "A" for 3D surfaces and 3D parametric equations.
1.3.1.0 Photon can now graph 3D parametric equations! For example, type "x = cos(t); y = sin(t); z = t/5" to get a spiral.
1.3.0.5 Two bugs squashed  typing ">" crashed the program, and another bug was associated with minimizing the window.
1.3.0.4 Two other bad input places caused the program to crash, but have now been fixed.
1.3.0.3 Typing bad input into the animation limits caused the program to crash. The issue is resolved.
1.3.0.2 Grid squares for the 3D plots were overlapping, resulting in an effect that looked like they were changing colors very slightly. This issue is resolved.
1.3.0.1 The answers to multiple numeric integrals were displayed backwards  they are now displayed in the correct order.
1.3.0.0 User defined functions are now possible! You can now create your own addons for Photon by writing custom VBScript code. Click the book icon in the top right corner of the window to access the code page.
1.2.0.7 If your computer's language settings were not set to English, there was a chance that Photon could crash because of unexpected number formatting rules. Photon is now specifically set to English so that these issues don't occur.
1.2.0.6 Several error management fixes have been put into place. The program would crash with certain bad input; the issue is resolved.
1.2.0.5 On the unit conversions page, if the numeric answers were displayed in scientific notation, zeros were cut off of the exponent. The bug is fixed.
1.2.0.4 Because it's only possible to plot one 3D graph at a time, entering a second 3D equation will cause the first one to be removed, just like with slope fields.
1.2.0.3 You can now graph solutions to slope fields. Simply click the viewing area while a slope field is plotted.
1.2.0.2 A very minor issue with the function tables has been fixed.
1.2.0.1 A very minor issue with the settings interface has been fixed.
1.2.0.0 Another major update: 3D graphing is now possible! Enter functions in the form z = f(x, y) to get a colorful, threedimensional graph that you can rotate with your mouse and zoom in or out with your mouse wheel. For example, type (x^2  y^2) / 5 and watch the 3D graph happen! You can only have one 3D graph at a time, and you cannot simultaneously plot 3D graphs and regular 2D graphs at the same time.
1.1.0.0 HUGE UPDATE: Photon has been reworked in a major way! Certain tasks are easier to get done and some new features have been added. At face value, things don't seem to be all that different, but they are! A row of buttons has been added to the top left area of the window. A quick description of each new button is below.
 First button: Takes you back to the main graphing window.
 Second button: Function tables  every time you graph a function, its x and y values will be added to a function table.
 Third button: Data entry  this has been reworked from the previous version to be easier to use  just enter your data and you're all set. Best fits and statistical information are just a click away.
 Fourth button: Matrix calculator  not much has changed from the previous version, except that your matrix calculator no longer has its own window, making things easier to use.
 Fifth button: Unit conversions  a brand new feature! Using this is pretty straightforward.
 Sixth button: Settings  also moved out of its own window; the moment you click anything, the settings will be changed and saved. You can still revert your settings with the reset button.
1.0.5.1 Drawing on your coordinate plane for 'simple' fits is now guided by the grid lines  zooming out will therefore cause numbers to be rounded to higher multiples. Additionally, the 'simple' fit equations are only expressed with fractions if you are in fraction mode. Finally, two new draw modes have been added  simple quadratic and simple cubic, bringing the total number of draw modes to six. These draw modes work similarly to the simple linear mode.
1.0.5.0 You've got a cool new feature available to you! Use the right mouse button to draw a line in your coordinate plane and Photon will graph a function that fits your line. There are four types of drawing modes:
 Simple linear: creates a linear function with a simple fractional slope and fractional yintercept.
 Linear, Quadratic, Cubic: uses least squares regression to find the best fit line of the selected type.
1.0.4.2 A new function has been added to Photon: atanxy(x, y). This function returns the angle in degrees or radians created by the point (x, y) and the origin, where the +x axis marks 0 degrees. Also, the GUI setup has been slightly modified  the speech button used to crowd out the text entry box, but not anymore.
1.0.4.1 Photon crashed when no microphone was detected. This is now fixed.
1.0.4.0 Two large features come with this update: implicit equation graphing and speech recognition. Learn more about these features by going to the help page.
1.0.3.3 A small bug with fraction mode has been fixed.
1.0.3.2 Fraction mode has been upgraded to include searching for factors of e. For example, if fraction mode is enabled, and you type "4e/6", this will be reduced to 2e/3. So now, fraction mode reduces factors of e, factors of pi, irrationals, and of course, fractions.
1.0.3.1 You can add convenient parenthesis while typing rational expressions by typing a question mark (since it's the shifted slash  what you would type to divide). For example, type 2x+1, then type a question mark, and it will be turned into (2x+1)/(), ready for you to finish typing the bottom half of the fraction.
1.0.3.0 Photon can now plot slope fields. Example: type y' = sin(x+y)
1.0.2.7 Photon crashed under two certain conditions; those issues have been removed.
1.0.2.6 Using more than one random number at a time resulted in the same number being generated. Also, random numbers caused the program to crash if used in a certain way. These issues are resolved.
1.0.2.5 There was a significant issue when using fraction mode and the 'ans' variable  incorrect answers were being consistently calculated. The issue is resolved.
1.0.2.4 Photon crashed when it tried to save to a file. The issue is resolved. Additionally, opening files worked, but the graphs were not always plotted in the viewing range. This has also been fixed.
1.0.2.3 Digit grouping disabled scientific notation. This has been resolved. If a number is large or small enough to warrant scientific notation, it will be used instead of digit grouping.
1.0.2.2: Sine curve fitting did not actually work beyond very simple cases. The option has been removed until a stronger implementation can be found.
1.0.2.1: Data points did not properly graph when either of the axis scales were in logarithms. Data points now graph properly.
1.0.2.0: Added digit grouping with commas  "1000" now becomes "1,000". This setting can be disabled in the options menu. Also, the ability to fit a sine curve to data was added.
1.0.1.1: Fixed a bug that caused animations to not work properly with parametric functions.
1.0.1.0: Added matrix functionality. Type "matrix" or "{" into the calculation text box to bring up the matrix window. Also added nPk and nCk functions.
1.0.0.5: Resolved a bug that was interfering with fraction mode when the "ans" variable was used.
1.0.0.4: Resolved a bug involving clearing text, using the mouse to zoom in or out of the graph, autofixing text, as well as some bugs regarding the mod(), acsc(), asec(), toCompZ() and iAdd() functions.
1.0.0.3: Applied several bug fixes and added two math functions to the library  iSqrt and sgn.
1.0.0.2: Rearranged the functions in the order they appear in Tools > Insert Function, and fixed a typo within the program.
1.0.0.1: Forced a white box to appear behind the information boxes (like integration and tracing) to ensure that the user can see the information in the box, even if part of the graph is behind the box.
1.3.9.5 A small bug that caused too much text to be selected when focus was directed away from the window has been fixed.
1.3.9.4 The x, y, and z axis now become a dotted line when behind the surface of a 3D graph. This allows for a better 3D viewing experience. Additionally, a programhalting bug has been fixed.
1.3.9.3 A data sorting issue has been fixed. Also, some unit conversions have been more precisely defined.
1.3.9.2 A small bug regarding copying and pasting has been fixed.
1.3.9.1 A small bug regarding fonts has been fixed.
1.3.9.0 You can now paste data into the XY data sheet from other spreadsheets. Just press CTRL+V to paste data. Data will begin pasting at the top of the column, even if your cursor is in a different cell.
1.3.8.1 Minor bug fix regarding text selection.
1.3.8.0 Parentheses are now highlighted to make text entry easier. This feature can be turned off from the settings page.
1.3.7.5 More text entry optimizations have been implemented, and a bug with imaginary numbers has been fixed.
1.3.7.4 Dyne force units were bugged; the issue is fixed.
1.3.7.3 A very minor bug regarding text entry has been fixed.
1.3.7.2 Text entry for UV transformations has been optimized.
1.3.7.1 UV transforms now get saved if you save a file.
1.3.7.0 UV transforms (used in multivariable calculus) are now possible! For three dimensional plotting, the transforms are UVW. Transform your coordinate system by right clicking the plotting range and clicking the last option, titled "UV transformations." Some small bug fixing also comes with this update.
1.3.6.0 3D plots are now smoother in appearance and can be scaled vertically by scrolling the mouse on the edge of the viewing range. Smooth plotting can be turned off by unchecking the antialiasing box in the options pane.
1.3.5.0 You now have the option to draw black lines on a 3D graph. The option is included on the settings page.
1.3.4.3 Scientific notation interpretation was bugged but is now fixed.
1.3.4.2 Screen clipping was added for 3D surfaces so faces that get really close to the viewing perspective don't distort the view.
1.3.4.1 3D graphs now have a better default viewing angle.
1.3.4.0 Pesky asymptotes no longer show up in graphs.
1.3.3.0 Solving differential equations has been optimized to produce more accurate results.
1.3.2.4 A small bug regarding order of operations was fixed, and a bug with plotting slope fields was fixed.
1.3.2.3 Because four elements have received new names, Photon's periodic table has been updated.
1.3.2.2 Fixed a small bug regarding the speech grammar file.
1.3.2.1 I'm hunting down as many bugs as I can find! Photon interprets multiple lines of text differently, using "A" now works in variable definitions, and some code has been optimized.
1.3.2.0 Added support for tracing in 3D parametric equations and using the animation variable "A" for 3D surfaces and 3D parametric equations.
1.3.1.0 Photon can now graph 3D parametric equations! For example, type "x = cos(t); y = sin(t); z = t/5" to get a spiral.
1.3.0.5 Two bugs squashed  typing ">" crashed the program, and another bug was associated with minimizing the window.
1.3.0.4 Two other bad input places caused the program to crash, but have now been fixed.
1.3.0.3 Typing bad input into the animation limits caused the program to crash. The issue is resolved.
1.3.0.2 Grid squares for the 3D plots were overlapping, resulting in an effect that looked like they were changing colors very slightly. This issue is resolved.
1.3.0.1 The answers to multiple numeric integrals were displayed backwards  they are now displayed in the correct order.
1.3.0.0 User defined functions are now possible! You can now create your own addons for Photon by writing custom VBScript code. Click the book icon in the top right corner of the window to access the code page.
1.2.0.7 If your computer's language settings were not set to English, there was a chance that Photon could crash because of unexpected number formatting rules. Photon is now specifically set to English so that these issues don't occur.
1.2.0.6 Several error management fixes have been put into place. The program would crash with certain bad input; the issue is resolved.
1.2.0.5 On the unit conversions page, if the numeric answers were displayed in scientific notation, zeros were cut off of the exponent. The bug is fixed.
1.2.0.4 Because it's only possible to plot one 3D graph at a time, entering a second 3D equation will cause the first one to be removed, just like with slope fields.
1.2.0.3 You can now graph solutions to slope fields. Simply click the viewing area while a slope field is plotted.
1.2.0.2 A very minor issue with the function tables has been fixed.
1.2.0.1 A very minor issue with the settings interface has been fixed.
1.2.0.0 Another major update: 3D graphing is now possible! Enter functions in the form z = f(x, y) to get a colorful, threedimensional graph that you can rotate with your mouse and zoom in or out with your mouse wheel. For example, type (x^2  y^2) / 5 and watch the 3D graph happen! You can only have one 3D graph at a time, and you cannot simultaneously plot 3D graphs and regular 2D graphs at the same time.
1.1.0.0 HUGE UPDATE: Photon has been reworked in a major way! Certain tasks are easier to get done and some new features have been added. At face value, things don't seem to be all that different, but they are! A row of buttons has been added to the top left area of the window. A quick description of each new button is below.
 First button: Takes you back to the main graphing window.
 Second button: Function tables  every time you graph a function, its x and y values will be added to a function table.
 Third button: Data entry  this has been reworked from the previous version to be easier to use  just enter your data and you're all set. Best fits and statistical information are just a click away.
 Fourth button: Matrix calculator  not much has changed from the previous version, except that your matrix calculator no longer has its own window, making things easier to use.
 Fifth button: Unit conversions  a brand new feature! Using this is pretty straightforward.
 Sixth button: Settings  also moved out of its own window; the moment you click anything, the settings will be changed and saved. You can still revert your settings with the reset button.
1.0.5.1 Drawing on your coordinate plane for 'simple' fits is now guided by the grid lines  zooming out will therefore cause numbers to be rounded to higher multiples. Additionally, the 'simple' fit equations are only expressed with fractions if you are in fraction mode. Finally, two new draw modes have been added  simple quadratic and simple cubic, bringing the total number of draw modes to six. These draw modes work similarly to the simple linear mode.
1.0.5.0 You've got a cool new feature available to you! Use the right mouse button to draw a line in your coordinate plane and Photon will graph a function that fits your line. There are four types of drawing modes:
 Simple linear: creates a linear function with a simple fractional slope and fractional yintercept.
 Linear, Quadratic, Cubic: uses least squares regression to find the best fit line of the selected type.
1.0.4.2 A new function has been added to Photon: atanxy(x, y). This function returns the angle in degrees or radians created by the point (x, y) and the origin, where the +x axis marks 0 degrees. Also, the GUI setup has been slightly modified  the speech button used to crowd out the text entry box, but not anymore.
1.0.4.1 Photon crashed when no microphone was detected. This is now fixed.
1.0.4.0 Two large features come with this update: implicit equation graphing and speech recognition. Learn more about these features by going to the help page.
1.0.3.3 A small bug with fraction mode has been fixed.
1.0.3.2 Fraction mode has been upgraded to include searching for factors of e. For example, if fraction mode is enabled, and you type "4e/6", this will be reduced to 2e/3. So now, fraction mode reduces factors of e, factors of pi, irrationals, and of course, fractions.
1.0.3.1 You can add convenient parenthesis while typing rational expressions by typing a question mark (since it's the shifted slash  what you would type to divide). For example, type 2x+1, then type a question mark, and it will be turned into (2x+1)/(), ready for you to finish typing the bottom half of the fraction.
1.0.3.0 Photon can now plot slope fields. Example: type y' = sin(x+y)
1.0.2.7 Photon crashed under two certain conditions; those issues have been removed.
1.0.2.6 Using more than one random number at a time resulted in the same number being generated. Also, random numbers caused the program to crash if used in a certain way. These issues are resolved.
1.0.2.5 There was a significant issue when using fraction mode and the 'ans' variable  incorrect answers were being consistently calculated. The issue is resolved.
1.0.2.4 Photon crashed when it tried to save to a file. The issue is resolved. Additionally, opening files worked, but the graphs were not always plotted in the viewing range. This has also been fixed.
1.0.2.3 Digit grouping disabled scientific notation. This has been resolved. If a number is large or small enough to warrant scientific notation, it will be used instead of digit grouping.
1.0.2.2: Sine curve fitting did not actually work beyond very simple cases. The option has been removed until a stronger implementation can be found.
1.0.2.1: Data points did not properly graph when either of the axis scales were in logarithms. Data points now graph properly.
1.0.2.0: Added digit grouping with commas  "1000" now becomes "1,000". This setting can be disabled in the options menu. Also, the ability to fit a sine curve to data was added.
1.0.1.1: Fixed a bug that caused animations to not work properly with parametric functions.
1.0.1.0: Added matrix functionality. Type "matrix" or "{" into the calculation text box to bring up the matrix window. Also added nPk and nCk functions.
1.0.0.5: Resolved a bug that was interfering with fraction mode when the "ans" variable was used.
1.0.0.4: Resolved a bug involving clearing text, using the mouse to zoom in or out of the graph, autofixing text, as well as some bugs regarding the mod(), acsc(), asec(), toCompZ() and iAdd() functions.
1.0.0.3: Applied several bug fixes and added two math functions to the library  iSqrt and sgn.
1.0.0.2: Rearranged the functions in the order they appear in Tools > Insert Function, and fixed a typo within the program.
1.0.0.1: Forced a white box to appear behind the information boxes (like integration and tracing) to ensure that the user can see the information in the box, even if part of the graph is behind the box.
Photon recognized on Softpedia
Photon has been thoroughly tried and tested by Softpedia (an online collection of software) and declared to be 100% clean on this page. In fact, Softpedia liked Photon so much, they've added it to their database of downloadable software! You can check it out here.
