0

This is related to but not the same as this question (click to go to).しかし、リンクされた質問は、この問題の前に解決する必要があるか、少なくとも問題が理解される必要があります。これは、他のものの逆であると考えることができます。これらの色は、分数重み付け得色と仮定混合する際よう既知の色Cに寄与するn色の分数重み付けを見つけるにはどうすればよいですか?

この問題は、そのような我々は、与えられた色Cを知っている

Color1 as RGB (255, 128, 128) 
Color2 as RGB (128, 128, 128) 
Color3 as RGB (128, 0, 128) 

としてRGBにn個の色が与えられ、各色の分数重み付けを見つけます分数重み付けは上記のリンクされた質問に定義されています。これは合計重みが1.0に等しい0.0と1.0の間の値です。例えば、Color1は0.2、Color2は0.2、Color3は0.6とすることができる。

補間はRGB色空間で線形です。

通常、色数は5を超えず、通常2または3または4色になります。

たとえば、非常に赤い色が2色あり、C色(緑色)が必要な場合など、これらの色を混合して色Cを得る方法がない可能性があることに注意してください。赤は緑になる。その場合、解決策はありません。

はまた、いくつかの条件の下でのカラーC.に

+3

あなたは[線形方程式のシステム](https://en.wikipedia.orgとしてこれを定式化に見たことが/ wiki/System_of_linear_equations)? – Mats

+0

@Matsに同意すると、それは色の線形代数です。例えば。カラーセットがRGB空間の[basis](https://en.wikipedia.org/wiki/Basis_(linear_algebra))でない場合、それらを混在させて色をつけることはできません。 – Pikalek

答えて

0

はいそう線形方程式を作るために、色を混合する複数の方法があるかもしれない問題を解決するのに役立ちます。この問題を解決するいくつかのJavaコードがここにありますが、それはScala SBTで構築されていますが、Javaコードで構築されています。

https://github.com/PhilAndrew/betweenrgb

加重色のマージはここでテストされています

https://github.com/PhilAndrew/betweenrgb/blob/master/src/test/java/between/rgb/FindWeightedColorsTest.java

関連する問題