Чтобы превратить любой угол в диапазон 0-359 в C #, вы можете использовать следующий «алгоритм»:
public int Normalise (int degrees) {
int retval = degrees % 360;
if (retval < 0)
retval += 360;
return retval;
}
C # следует тем же правилам, что и C и C ++, и i % 360
даст вамзначение между -359
и 359
для любого целого числа, тогда вторая строка должна убедиться, что она находится в диапазоне от 0 до 359. включительно.
Подлый вариант в одной строке:
degrees = ((degrees % 360) + 360) % 360;
, который нормализует его при любых условиях.Я не уверен, что буду слишком беспокоиться об использовании встроенного однострочного, если производительность не является критической, но я объясню это .
С degrees % 360
вы получитечисло от -359
до 359
.Добавление 360
изменит диапазон между 1
и 729
.Затем финал % 360
вернет его в диапазон от 0
до 359
.