Как можно обернуть значение вокруг произвольных границ?Я хочу избежать проверок if, поэтому я пришел к этому, который работает для нижней границы, используя шаг:
float check = step(-1, val)*2.0-1.0;
val *= check;
Это выведет любое значение вектора val
, когда оно больше -1, и обернуться вокруг, и перейти к 1., когда оно превышает его.
Моя цель состоит в том, чтобы, когда значение превышает определенный порог, оно «оборачивается» и начинается с противоположной стороны экрана.Таким образом, если движущаяся точка, например, превышает 1, она снова появится на экране в положении -1 и продолжит двигаться дальше.
С другой стороны, если значение меньше -1,он появится в позиции 1 и продолжит движение оттуда.