How to create lighter color in matlab?

algorithm, matlab

Solution

What it the lightest/darkest you want your color? Define your end points `[r1 g1 b1]`, `[r2 g2 b2]` that will correspond to 0 and 90. Then use:

colormap = [linspace(r1, r2, 91)' linspace(g1, g2, 91)' linspace(b1, b2, 91)']

to define a set of 91 colors, and pick the color corresponding to the angle.

Problem

I have a base color, presented by basic [R G B] matrix. And I want to create a lighter or darker version of that color, based on my constant, which is basically an angle (0 - 90°). And I looking for an algorithm, how to create lighter or darker color based on that angle. The endpoint for a lighter color is white and for a darker color is black. silly example: ``` Green -> Lime -> White Blue -> Navy -> Black ``` ``` function [result] = GetColor(baseColor, angleValue) value = round(angleValue); endcolor = [1 1 1]; r = linspace(basecolor(1,1), endcolor(1,1), 90); g = linspace(basecolor(1,2), endcolor(1,2), 90); b = linspace(basecolor(1,3), endcolor(1,3), 90); result = [r(value) g(value) b(value)]; end ```

Original source