Я пытаюсь рассчитать балл, основанный на двух частях данных: процентах и расстоянии. Оба они используются в ранжировании цветов.Алгоритм для создания баллов по процентам и расстоянию
Percentage
может варьироваться от 0 до 100 и может быть десятичным. Фактически, большую часть времени это десятичное, а не целое число. Проценты важны, потому что это означает, что в изображении больше цвета.
Distance
также может быть от 0 до 100 и также может быть десятичным. Расстояние вычисляется более сложным образом ... по существу, каждый цвет имеет истинное значение и отображаемое значение. Отображаемое значение представляет собой предварительно заданный цвет, поэтому простыми словами true_color - map_color = distance
. Расстояние отличается от истинного цвета от отображаемого цвета.
Моя проблема заключается в том, как взвешивать цифры, чтобы высокий процент с меньшим расстоянием превышал высокий процент с большим расстоянием. Вот некоторые попытки, которые я сделал:
Вот как я считаю, что данные должны быть заказаны, потому что он ставит вес в процентах с учетом расстояния (точности), а не только процента.
7 percent, 0.5 distance = 140 (1st)
4 percent, 0.02 distance = 200 (2nd)
2 percent, 1 distance = 200 (3rd)
10 percent, 8 distance = 125 (4th)
10 percent, 50 distance = 125 (5th)
Однако я продолжаю приходить с этим порядок, основанный на моей формуле:
t = 100 // max distance possible
4 percent * (t/0.02 distance) = 20,000
7 percent * (t/0.5 distance) = 1400
2 percent * (t/1 distance) = 200
10 percent * (t/8 distance) = 125
10 percent * (t/50 distance) = 20
Любые идеи о том, как это исправить?
Это было бы подходящим? 'pct + 2 (100-dst)': самые высокие значения приходят первыми. – trincot
@ trincot Я на самом деле думаю, что работает. Я правильно выполнил математику и заданные порядки. 'percent + 2 * (100 - distance)'. Если вы поместите это как ответ, я могу дать вам кредит. Благодаря! – stwhite