Chromagica is an application that collects color data from multiple layers of one color of filament on top of another. Using the points in 3D colorspace in a quadratic regression, the algorithm determines quadratic coefficients that can be used to predict how filament colors interact with any underlying color. These coefficients are stored in a central "filament database" that contains all filaments loaded.
The color data is collected from step wedge test prints
where you print n colors with i 0.08mm layers. An image of a test print is then loaded into
the filament database using the LoadStepWedge application.
As an example, here are per-component coefficients for Yellow:
- 🔴 = 0.00044𝒓² + 0.39639𝒓 + 123.71899
- 🟢 = 0.00041𝒈² + 0.29920𝒈 + 125.12055
- 🔵 = -0.00045𝒃² + 0.20879𝒃 + 76.19541
This means that if you have a base color of Cyan [RGB(20, 98, 197)] and add one layer of Yellow, we can compute the expected red, green, and blue component values of the resulting color as:
- 🔴 = 132 (0.00044(20²) + 0.39639(20) + 123.71899)
- 🟢 = 158 (0.00041(98²) + 0.29920(98) + 125.12055)
- 🔵 = 100 (-0.00045(197²) + 0.20879(197) + 76.19541)
What this means symbolically:
Released under the MIT License.