|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vladimir Vassilevsky 2:5020/175.2 21 Apr 2003 04:25:34 To : vitalie vrabie Subject : Усреднение углов -------------------------------------------------------------------------------- Hi vitalie, KP>>> Как получить среднее значение и среднеквадратичное отклонение KP>>> "линейной" величины -- знаю все. А вот если величина -- это угол KP>>> (для примера, выраженный в градусах). Ведь среднее значение между KP>>> "1" и "359" должно быть равно "0". Hе подскажет ли кто решения? VV>> Представь угол как int, так, чтобы диапазон 0...180 соответствовал VV>> 0...0x8000. Работай с углом в этом представлении. Заворот через ноль VV>> отработается автоматически. vv> ответ неверный. при таком подходе среднее между 179 и 181 (или, скажем, vv> 170 и 190) получится тоже 0, но никак не 180. Спокойно. Среднее между 0x7fff и 0x8001 равно 0x8000, то есть -180 градусов. Все правильно. vv> твой рецепт хоть и звучит заумно, ?????? Чего может быть проще? vv> но сводится к обычной арифметике по vv> модулю. увы, но он неверен. как неверна и сама по себе попытка дать vv> однозначный ответ на недостаточно точно сформулированную задачу. Вот еще один несложный рецепт, для тех, для кого слишком сложна int арифметика. Вместо угла X рассматривать I = cos(X)и Q = sin(X). Соответственно обрабатывать I и Q, так как это непрерывные функции, а потом выразить угол и все нужные величины через них. VLV "Из всех дураков наиболее несносны те, которые не совсем лишены ума" (c) Ларошфуко "Предлагаем измерители влажности воды..." --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300a8ce9f83.html, оценка из 5, голосов 10
|