确定是否可以通过混合lis中的颜色来获得目标颜色

2024-04-20 11:04:44 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个颜色列表(RGB值)L和一个颜色C,确定是否可以从列表L中混合2种或更多颜色以获得C。列表中的颜色可以按任何比例混合。你知道吗


Tags: 列表颜色rgb比例
2条回答

可以将RGB值可视化为三维空间中的点。然后问题就变成了是否可以将目标颜色的RGB值表示为颜色空间中其他点之间的插值。你知道吗

理想的方法是使用Barycentric co-ordinates,条件是坐标(即混合比例)加1。所以,你需要遍历你的列表,找到一组2到4个点,这些点形成一条直线,三角形或四面体,包围你的目标点。一个点的笛卡尔坐标(在这种情况下,是RGB值)可以计算为以重心坐标为系数的单纯形点的线性组合,因此该点的barycentric co-ordinates将是你的混合比例。点必须在单纯形内,否则你会得到不在0-1范围内的比例,我认为这是无效的。你知道吗

如果你有一个大的点列表,你想找出是否存在一个有效的混合比例集,计算所有点的凸包,并检查你的目标点是否在里面。你知道吗

可以尝试使用坐标压缩的直线变换。将其可视化为一个三维空间,然后将三个点合并到目标颜色。 希望有帮助!你知道吗

相关问题 更多 >