ArtemOnigiri / Light-Simulation-JS

MIT License
119 stars 12 forks source link

Steady state solution vs transient simulation #3

Open Raikiri opened 1 year ago

Raikiri commented 1 year ago

This got me curious and I wondered if it's possible to converge to a steady state solution rather than a time-dependent solution.

In theory for monochromatic light it should be possible possible to represent oscillation at every point of the scene with just its complex amplitude (so amplitude + phase) and nothing else.

I wrote a quick test to see what the steady state solution looks like: image image

My approach is not grid-based, so I'm not sure if it's relevant to discuss it in a context of cellular automata, but I still think it is certainly relevant to try and find a steady state solution for your approach too because the process of waves actually propagating is not really needed for the final image.

VioletGiraffe commented 1 year ago

I think the point of this simulation is to demonstrate how very simple interactions give birth to complex wave phenomena. But your solution is very interesting, what's the basic idea? I struggle to think of a way that is not grid-based.

Raikiri commented 1 year ago

I think the point of this simulation is to demonstrate how very simple interactions give birth to complex wave phenomena. But your solution is very interesting, what's the basic idea? I struggle to think of a way that is not grid-based.

Instead of simulating a grid, I simulate surface dipoles. Light reflection and absorption can both be simulated by induced surface emitters. These emitters react to incident waves and re-emit them under a specific rule. Then, the final field is simply superposition of all emitters (both initial ones as well as induced ones): this way a grid calculation is replaced by a summation over point emitters. It's much cheaper if most space is empty.