Мой математический словарь действительно шаткий, но я точно знаю, что искал, поэтому, пожалуйста, прости название.
Скажем, у меня есть круговой набор чисел от 0,00 до 0,99. Это означает, что число возвращается к 0, когда оно равно 1. Так что 1
действительно равно 0
(или 1 % 1
) и 1.1
действительно равно 0.1
(или 1.1 % 1
).
Теперь, учитывая число в этом наборе (setPoint
) и число, представляющее половину длины диапазона (halfRangeLength
), я хочу посмотреть, находится ли число (number
) в этом диапазоне илинет.
const isInSetRange = (setPoint, halfRangeLength, number) => {
// Returns => boolean ... number is between min (inclusive) and max (exclusive)
return (number >= setPoint - halfRangeLength) && (number < setPoint + halfRangeLength)
}
Так, например:
isInSetRange(0.5, 0.1, 0.45)
// => true, 0.45 is between 0.4 and 0.6
Теперь вот в чем проблема.
Как мне добиться следующего результата на краях моего набора номеров?
isInSetRange(0, 0.1, 0.95)
// => true, 0.95 is between 0.9 and 0.1
и
isInSetRange(0.9, 0.2, 0)
// => true, 0 is between 0.7 and 0.1
Мне действительно не хватаетматематический фон, чтобы попасть в это. Если кто-то может помочь на любом языке программирования, который использует общую библиотеку Math с javascript, я был бы очень признателен.
Спасибо!