# How to design a custom color space?

I have picked some colors from the CIE LAB color space and want to blend the colors linearly construct a new color space. I first consider the 2D case as a starting point.

Firstly, I choose a set of values for the a and b components in the following way:

acolors = {LABColor[0.5, -1.28, 0.], LABColor[0.5, -0.855158, 0.], LABColor[
0.5, -0.535583, 0.], LABColor[0.5, -0.285656, 0.], LABColor[
0.5, -0.086842, 0.], LABColor[0.5, 0.01467, 0.], LABColor[
0.5, 0.049943, 0.], LABColor[0.5, 0.093202, 0.], LABColor[
0.5, 0.145433, 0.], LABColor[0.5, 0.207967, 0.], LABColor[
0.5, 0.282634, 0.], LABColor[0.5, 0.371987, 0.], LABColor[
0.5, 0.479711, 0.], LABColor[0.5, 0.61135, 0.], LABColor[
0.5, 0.77577, 0.], LABColor[0.5, 0.98835, 0.], LABColor[
0.5, 1.28, 0.]}

bcolors = {LABColor[0.5, 0., -1.28], LABColor[0.5, 0., -0.945977], LABColor[
0.5, 0., -0.678795], LABColor[0.5, 0., -0.460215], LABColor[
0.5, 0., -0.278078], LABColor[0.5, 0., -0.123975], LABColor[
0.5, 0., 0.00228], LABColor[0.5, 0., 0.041005], LABColor[
0.5, 0., 0.088123], LABColor[0.5, 0., 0.145079], LABColor[
0.5, 0., 0.214], LABColor[0.5, 0., 0.297526], LABColor[
0.5, 0., 0.400353], LABColor[0.5, 0., 0.529412], LABColor[
0.5, 0., 0.696892], LABColor[0.5, 0., 0.926912], LABColor[
0.5, 0., 1.28]}


The corresponding chromaticity diagram for these colors is given below:

Now I wish to Interpolate them linearly to fill the plane L = 0.5.

This is what I have tried:

ac = ImageCrop@
Image@Graphics[
Raster[{Range[100]/100}, ColorFunction -> (Blend[acolors, #] &)],
AspectRatio -> 1];

bc = ImageRotate[
ImageCrop@
Image@Graphics[
Raster[{Range[100]/100}, ColorFunction -> (Blend[bcolors, #] &)],
AspectRatio -> 1], Pi/2];


And then,

ColorConvert[Blend[{ac, bc}], "LAB"]


However, I find that the L values in the blended image are not the same (0.5) as it should be.

How can I resolve this issue and connect the color points in the color space to have a color plane with L = 0.5?