Caustic Art in MATLAB. New posts coming soon.

The Matlabgeeks team has been busy working on several interesting projects the last couple of years and have unfortunately been unable to post many updates. Here’s a quick look at one of these projects:

In late 2014, the Matlab Geeks created software that produces caustic art for Harry Sanderson, a fellow at Near Now, which is an art production company specializing in technological art in Nottingham, UK. Caustic art is the design of a surface that projects a desired image onto a screen from a light source. Here is an example of the final image generated using our scripts.

Caustics in MATLAB

Using CGAL, we created an optimal transport map (OTM) to find the most efficient mapping from a source image to a target image. Then, using MATLAB, we interpolated points on a triangular mesh of incident light rays to a target mesh using natural neighbor interpolation with the OTM. Next, we computed surface normal vectors that directed the light rays to the interpolated positions on the screen. Finally, we created a surface with these normal vectors via optimization using the Ceres framework by Google and saved the results as an STL mesh.

We have produced several pieces of caustic art for Harry Sanderson, which are being shown in art shows throughout Europe.

Much of the code was written in MATLAB and as the project used computational geometry, optimization and other interesting techniques extensively, we’ll try and tailor some upcoming posts on these topics.

Check back soon for new updates or feel free to contact us if you have more questions about this project or any projects you would like the Matlab Geeks team to work on.