Laser Projector Simulation in Clojure

On Github

A clojure project for development and simulation of a laser projector. Work in progress, but 100% done in Clojure (my favorite language). One day will be converted to an opensource library for CAD and simulation of any type of physical project. Basically OpenSCAD + Clojure + Physics Simulation + Realtime Graphics!

Now featuring *raytracing*!!! And OpenGL support!


This project features a raytracing engine for predicting the path of the laser beam. Unfortunately, the rendering is done in OpenSCAD still. I plan on switching to OpenGL for native support in the future, but in the meantime, please enjoy the following gifs of the raytracing functionality. I’m pretty proud of it – it computes the normals of the surface, and the vector of reflection. It uses the clojure (lazy-seq) macro. Check out the code :).

A demo of the laser-projector emitting a beam from a laser diode, reflecting off two galvos, and hitting a backplate


A close-up of the galvo action


Ray tracing demo with an arbitrary number of objects.


Page Last Updated: 2022-10-17
Page Created: 2022-09-26