FreeForm Optics (Make Complex Lenses)

Contains Ads

While trying to figure out spherical aberration in lenses i wanted to see how rays exactly travel through lens. I wanted to make free form lenses to try to experiment with focus. I made this app to help myself first. I publish it on playstore to let other also do experiments.

App is experimental in behavior and only supports basic functionalities. Sometimes getting away from app might clear the whole work. This needs fix for future version by saving work temporarily.


Full Screen ads are shown.


This is optics app to dynamically create complex lenses and test how refraction happens.


- Freeform lenses don't have a fixed focus since surface cannot be easily described mathematically. Please don't expect focal length support!.

- In reality there is no fixed focal length of an optical object. Only highest dense focus is considered as focal length. This can easily be tested by creating a convex lens and increasing rays to 100+.

- This app is mostly suitable for research or innovative purposes. Can be very helpful in teaching optics.

- Red rays are inside medium. Green rays are result rays coming out from medium. Yellow rays are TIR (Total Internal Reflection) rays.


- As the app name says it allows free forms of lenses. Just paint lenses like an artist.

- Supports standard lenses i.e. concave & convex lenses with editing option.

- Non freeform lenses are created using bezier curves.


App has some rules not knowing which can cause incorrect optics or loss of data.

- Rays start from left and reaches right end. No other direction is supported.

- Lenses when selected show rectangular bound. Bounds of lenses should NEVER overlap as it leads to bad optics.

- Currently nothing can be saved for reload. Always save result as image for reference. Active work loss due to app going background can happen.

- UNDO REDO is not available.

Quick Help:

- Set total rays using Rays button.
- Create lens using + button. - button to delete lens.
- Double tap on a lens to enter edit mode.
- EDIT MODE: Use Move button for movements.
- EDIT MODE: Use X, Y buttons to enable disable movement along respective AXIS.
- EDIT MODE: Use Edit to change shape of bezier lenses.
- Export image of optical setup.

More help is here:


This app doesn't guarantee to achieve optics of real laboratory. Focuses on making small lenses and combinations to make foundation of bigger work.
Read more
15 total

What's New

- Android Q support added as required by PlayStore.
- Fixed double tap behavior. Added 3 double tap speeds in settings.
- Android version before Q saves file just like before. From Android Q user must set a location to save.
- Upgraded ibGDX to libGDX 1.9.10.
Read more

Additional Information

February 10, 2020
Current Version
Requires Android
4.0.3 and up
Content Rating
Interactive Elements
Digital Purchases
Offered By
©2021 GoogleSite Terms of ServicePrivacyDevelopersAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.