This simple app lets you visualise the superposition of plane waves. You can tap to create and move markers representing wavevectors, and see the resulting intensity and/or phase change.
In mathematical terms, a plane wave is a the function exp(ikr), where r is your position (in this case, a point on the 2D plane) and k is a wavevector, describing a kind of rate of change of the wave. i is the unit imaginary number, and the function as a whole gives a complex number at every point. When multiple plane waves are placed on top of one another, they interfere to create light and dark areas, and the complex phase may create interesting patterns.
In physical terms, you can think of each wavevector being a slit in a Young's slit experiment. Adding more wavevectors is the same adding more slits (plus some other conditions). With just two, you see a classic set of superposition fringes, but with more you begin to see phase vortices and a much more complex pattern. With enough wavevectors, the field appears random.
The visualisation is implemented using GLSL shaders, and the app is written in python using kivy (no java!). It is intended as a simple demonstration of kivy's shader ability, as well as a neat physics/maths toy.
PlaneWaves is open source under an MIT license. You can see the source at https://github.com/inclement/planewaves
熱門國家 | 系統支援 | 版本 | 費用 | APP評分 | 上架日期 | 更新日期 |
---|---|---|---|---|---|---|
未知 | Android Google Play | 0.5 App下載 | 免費 | 1970-01-01 | 2015-04-24 |