mixbox

Crates.iomixbox
lib.rsmixbox
version2.0.0
sourcesrc
created_at2022-04-27 05:15:13.860539
updated_at2022-09-20 12:44:36.194576
descriptionPigment-Based Color Mixing
homepagehttps://scrtwpns.com/mixbox
repositoryhttps://github.com/scrtwpns/mixbox
max_upload_size
id575866
size811,610
Secret Weapons (scrtwpns)

documentation

README

Mixbox: Pigment-Based Color Mixing

Usage

fn main() {
    let rgb1 = [0, 33, 133];   // blue
    let rgb2 = [252, 211, 0];  // yellow
    let t = 0.5;               // mixing ratio

    let [r, g, b] = mixbox::lerp(&rgb1, &rgb2, t);

    println!("{} {} {}", r, g, b);
}

Mixing Multiple Colors

let z1 = mixbox::rgb_to_latent(&rgb1);
let z2 = mixbox::rgb_to_latent(&rgb2);
let z3 = mixbox::rgb_to_latent(&rgb3);

let mut z_mix = [0.0; mixbox::LATENT_SIZE];

for i in 0..z_mix.len() {   // mix together:
    z_mix[i] = 0.3*z1[i] +  // 30% of rgb1
               0.6*z2[i] +  // 60% of rgb2
               0.1*z3[i];   // 10% of rgb3
}

let rgb_mix = mixbox::latent_to_rgb(&z_mix);

Pigment Colors

Pigment RGB Linear RGB
Cadmium Yellow 254, 236, 0 0.991, 0.839, 0.0
Hansa Yellow 252, 211, 0 0.973, 0.651, 0.0
Cadmium Orange 255, 105, 0 1.0, 0.141, 0.0
Cadmium Red 255, 39, 2 1.0, 0.02, 0.001
Quinacridone Magenta 128, 2, 46 0.216, 0.001, 0.027
Cobalt Violet 78, 0, 66 0.076, 0.0, 0.054
Ultramarine Blue 25, 0, 89 0.01, 0.0, 0.1
Cobalt Blue 0, 33, 133 0.0, 0.015, 0.235
Phthalo Blue 13, 27, 68 0.004, 0.011, 0.058
Phthalo Green 0, 60, 50 0.0, 0.045, 0.032
Permanent Green 7, 109, 22 0.002, 0.153, 0.008
Sap Green 107, 148, 4 0.147, 0.296, 0.001
Burnt Sienna 123, 72, 0 0.198, 0.065, 0.0

License

Copyright (c) 2022, Secret Weapons. All rights reserved.
Mixbox is provided under the CC BY-NC 4.0 license for non-commercial use only.
If you want to obtain commercial license, please contact: mixbox@scrtwpns.com

Commit count: 20

cargo fmt