This illustration demonstrates the difference between spin angular momentum of light and its orbital angular momentum. I am trying to create similar illustrations but don't know what software they are generated in. Any input is appreciated.
3 Answers
I’d expect something like that to be created in MATLAB, Wolfram Alpha or a similar piece of software that can create 3D graphs based on formulas.
A MATLAB example. Source.
-
-
@joojaa Mathematica is by Wolfram, but I don’t know its relationship with Wolfram Alpha. They seems separate, but there could be a lot of overlap. 🤔 Mar 12, 2017 at 11:10
-
1Wolfram alpha is running mathematica. It just has a natural input layer on top. You can invoke same layer in mathematica by typing = at the start of a cell. But unlike wolfram alpha all graphs are interactive and stylable, so for example you can turn 3D graphs and export most 2D graphs as vectors. Also there is no limit to how long you can let it compute before it gives up.– joojaaMar 12, 2017 at 11:33
The list of potential software that can do this is very, very long. Plotting a curve (or atleast these curves), even in 3D, is a very easy task, unless the formula is somehow exceedingly difficult. You have entire categories of applications that would make making these kinds of images easy.
- Mathematics applications:
- Mathematica
- Matlab
- MathCAD
- Maple
- R
- ...
- Plotting packages
- Python, with matplotlib for example
- GNUplot
- ...
- 3D applications
- DCC apps like Maya, 3DSMax, Cinema 3D, Modo
- 3d CAD apps like Creo, Solidworks, etc.
- ...
I made quick tally that my computer had about 20 pieces of software that could draw that image in less than 15 minutes of work.
So use something you have handy and know how to use.
If these images are the part of some kind of science article it is possible that they were created via TikZ/PGF engine which is widely spread when using Latex. TikZ/PGF is a really powerful tool for creating vector (fully scalable) graphics simply by "writing" what should be visualized.
Example of what can be done using TikZ: