программирование данных ранжирования - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть 2 входа от 0 до 180 для x, и yi нужно сложить их вместе и оставаться в диапазоне 180 и 0, у меня возникли некоторые проблемы, поскольку 90 - это средняя точка, в которой я не могу сохранить свои данные в этом диапазонея делаю это в vb.net, но мне в основном нужна помощь с логикой

Ответы [ 3 ]

0 голосов
/ 24 февраля 2011

Если вы хотите отобразить два значения в ограниченном диапазоне линейным способом, просто сложите их вместе и разделите на два:

out = (in1 + in2) / 2

Если вы просто хотите ограничитьверхний конец, сложите их вместе, затем используйте минимум этого и 180:

out = min (180, in1 + in2)
0 голосов
/ 24 февраля 2011

Вы хотите найти среднее из двух или добавить их? Если вы добавляете их и имеете дело с углами, которые охватывают (как это звучит), то почему бы просто не добавить их, а затем по модулю? Как это:

(in1 + in2) mod 180

Надеюсь, вы знакомы с оператором по модулю .

0 голосов
/ 24 февраля 2011
result = (x + y) / 2

Может быть? По крайней мере, это останется в диапазоне 0-180. Есть ли другие ограничения, о которых вы не говорите, поскольку сейчас это кажется довольно очевидным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...