Бесплатно зарегистрируйся и получай уведомления о новых проектах по работе

Создать рабочий алгоритм определения пропорций заданных цветов в цветовом пространстве LAB

k
Заказчик
Отзывы фрилансеров: + 3 - 0
Зарегистрирован на сайте 14 лет и 9 месяцев
Бюджет: 4000 руб
43.56 $ — 40.43 €
Необходимо реализовать следующий алгоритм:

Имеется конечный массив цветов в формате RGB и целевой цвет также в формате RGB. Необходимо подобрать все варианты для получения целевого цвета, удовлетворяющие следующим условиям:
1. Максимальное число цветов из массива RGB – три. Т.е. вариант может содержать один цвет, два или три цвета из заданного массива.
2. Для каждого цвета нужна пропорция с точностью один знак после запятой, которая в сумме с пропорциями других цветов из этого варианта в итоге дает целевой цвет с точностью приближения не менее 99% в цветовом пространстве LAB (дистанция между цветами).
3. Сумма пропорций всех цветов для каждого варианта должна составлять 100%

В качестве результата необходимо получить массив вариантов, отсортированный по количеству цветов и точности приближения к целевому цвету. Результатом может быть и пустой массив, если из заданных цветов нельзя в итоге получить целевой цвет.

Пример:

Есть массив цветов:
1. [52, 53, 50]
2. [90, 192, 255]
3. [0, 12, 51]
4. [28, 219, 6]
5. [94, 63, 54]
6. [38, 35, 81]
7. [244, 207, 17]
8. [78, 1, 255]
9. [85, 90, 125]
10. [177, 109, 204]

Цвет, который надо получить: [89, 165, 199]

Результат:
1 вариант: цвет 2 – 54%, цвет 6 – 46%. Приближение к целевому цвету 99,9%
2 вариант: цвет 2 – 40%, цвет 3 – 20,2%, цвет 10 – 39,8%. Приближение к целевому цвету 99,5%
3 вариант: цвет 7 – 15,3%, цвет 9 – 63,5%, цвет 10 – 11,2%. Приближение к целевому цвету 99,2%

Необходима рабочая реализация алгоритма для его проверки заказчиком (с показом и цифр, и самих цветов). Предпочтительный язык – Swift (обговаривается).
Разделы:
Опубликован:
12.03.2019 | 10:06 [поднят: 12.03.2019 | 10:06] [последние изменения: 11.03.2019 | 18:16]

Теги: нужен программист, требуется программист, ищу программиста, создание сайта программирование, программист веб сайтов

Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».