Open-source differentiable geometric optics in PyTorch.
3,492 karma · joined January 2, 2019
Open-source differentiable geometric optics in PyTorch.
[0] https://tgceec.tumblr.com/post/74534916370/results-of-the-gr...
Location: France
Remote: Yes
Willing to relocate: No
Technologies: Python, PyTorch, C++, Linux, Webdev, Typescript, I like it all really - love learning new stuff
Résumé/CV: https://www.linkedin.com/in/victorpoughon/
Email: first name <dot> last name <gmail dot com>
Hire me to work on Torch Lens Maker [1], an open-source Python library for differential geometric optics. The goal of this project is to design optical systems with modern numerical optimization (PyTorch autograd). The website has a detailed roadmap of what I have planned.I'm also happy to work on other stuff, I had a recent blog post [2] do fairly well on HN a few days back, which would give you get a great idea of how I work.
[1] https://victorpoughon.github.io/torchlensmaker/
[2] https://victorpoughon.fr/i-tried-making-artificial-sunlight-...
I also had a recent blog post [2] do fairly well on HN, and now I'm kinda thinking about a new design for version 2 of that project because I can't help it I guess.
[1] https://victorpoughon.github.io/torchlensmaker/
[2] https://victorpoughon.fr/i-tried-making-artificial-sunlight-...
About the lenses, I did consider injection molding during design, and one supplier even quoted me for $20,000. So yeah, very glad for JLC!
One of my goals was to explore the feasibility and scalability of a refraction based design.
Thankfully that's illegal where I live. I'm even tempted to suppress my own work here, because I don't want it to be used to unlock new levels of dystopic housing.
Just kidding, thanks for the feedback!
I spent a lot of time looking at LED suppliers and there's quite a range of options in terms of color temperature. Some manufacturers even have 2 color temps on the same LED package, meaning you can sort of do what you describe by mixing two light sources at a distance less than a millimeter.
> Honestly I want to build something like this but my area of expertise is too far into the software domain, and not very far into the hardware or electrical engineering domain.
That was me last year before starting this project! You'd be surprised what you can achieve with time and effort!
There's only 2 routes per board, VCC and GND. I initially planned for SMD header pins that I didn't end up using, because soldering wire on bare pads was good enough. I also planned for 8 connection pads per PCB, but only used 2 to 4 in the final assembly. So yeah, lots of room for improvements in the PCB design! Definitely would need to spend some time on it for a higher power version 2.
Honestly, the main challenge at this point feels like finding the time / resources to just work on everything I've got on the roadmap. I think I've got enough ideas for at least 1y of full time work, perhaps more.
Bezier splines are interesting. I actually had a working implementation a few weeks ago, so I know it will work. It's just that I refactored the internals of how surfaces work and didn't port the old bezier spline code yet, but it shoudln't be too difficult.
I haven't given too much thought about volume representation so far. Currently it's just a list of unconnected surfaces which seems sufficient for now.