Бинарное угловое измерение
Бинарное угловое измерение ( BAM ) [1] и бинарная система угловых измерений BAMS ( [2] ) — это мера углов с использованием двоичных чисел и арифметики с фиксированной запятой , в которой полуоборот представлен значением 1. Единица угловой меры, используемая в этих методах, может называться двоичным радианом ( брадом ) или двоичным градусом .
Такое представление углов часто используется в приложениях числового управления и цифровой обработки сигналов , таких как робототехника, навигация, [3] компьютерные игры, [4] и цифровые датчики. [5] С другой стороны, эта система не подходит для ситуаций, когда необходимо измерить количество полных оборотов , например, для контроля вращения колес транспортного средства или ходовых винтов .

Представительство [ править ]
Беззнаковая доля хода [ править ]
В этой системе угол представлен n - битным беззнаковым двоичным числом в последовательности 0,...,2. н −1, который интерпретируется как кратный 1/2 н полного оборота; то есть 360/2 н градусов или 2π/2 н радианы. Число также можно интерпретировать как долю полного оборота между 0 (включительно) и 1 (исключая), представленную в двоичном формате с фиксированной запятой и коэффициентом масштабирования 1/2. н . Умножение этой дроби на 360° или 2π дает угол в градусах в диапазоне от 0 до 360 или в радианах в диапазоне от 0 до 2π соответственно.
Например, при n = 8 двоичные целые числа (00000000) 2 (дробь 0,00), (01000000) 2 (0,25), (10000000) 2 (0,50) и (11000000) 2 (0,75) представляют угловые меры 0°. , 90°, 180° и 270° соответственно.
Основное преимущество этой системы заключается в том, что сложение или вычитание целочисленных числовых значений с помощью n -битной арифметики, используемой в большинстве компьютеров, дает результаты, соответствующие геометрии углов. А именно, целочисленный результат операции автоматически уменьшается по модулю 2. н , что соответствует тому факту, что углы, отличающиеся на целое число полных оборотов, эквивалентны. Таким образом, нет необходимости явно тестировать или обрабатывать циклический цикл, как это необходимо делать при использовании других представлений (например, количества градусов или радианов в числах с плавающей запятой). [6]
Подписанная доля хода [ править ]
Альтернативно, те же n битов также можно интерпретировать как целое число со знаком в диапазоне -2. п -1 , ..., 2 п -1 −1 в соглашении о дополнении до двух . Их также можно интерпретировать как долю полного оборота между -0,5 (включительно) и +0,5 (не включая) в формате знаковой фиксированной точки с тем же коэффициентом масштабирования; или часть полоборота между −1,0 (включительно) и +1,0 (исключительно) с масштабным коэффициентом 1/2. п -1 .
В любом случае эти числа можно интерпретировать как углы между -180° (включительно) и +180° (не включая), где -0,25 означает -90°, а +0,25 означает +90°. Результат сложения или вычитания числовых значений будет иметь тот же знак, что и результат сложения или вычитания углов, приведенных к этому диапазону. Такая интерпретация избавляет от необходимости приводить углы к диапазону [−π, +π] при вычислении тригонометрических функций .
См. также [ править ]
- Класс , 1/400 полного оборота
- Двоичное масштабирование
- CORDIC , алгоритмы для тригонометрических функций
- Конструируемый многоугольник , включая все многоугольники с 2 н стороны
Ссылки [ править ]
- ^ «Бинарное угловое измерение» . Архивировано из оригинала 21 декабря 2009 г.
- ^ «Двоичная система угловых измерений» . акронимы.thefreedictionary .
- ^ ЛаПланте, Филипп А. (2004). «Глава 7.5.3, Двоичная угловая мера» . Проектирование и анализ систем реального времени .
{{cite book}}
:|website=
игнорируется ( помогите ) - ^ Санглар, Фабьен (13 января 2010 г.). «Обзор кода Doom 1993 — Раздел «Стены» » . fabiensanglard.net .
- ^ «Модуль компаса Hitachi HM55B (#29123)» (PDF) . www.hobbyengineering.com . Цифровой датчик компаса Parallax (#29123). Parallax, Inc. , май 2005 г. Архивировано из оригинала (PDF) 11 июля 2011 г. – на сайте www.parallax.com.
- ^ Харгривз, Шон [на польском языке] . «Углы, целые числа и арифметика по модулю» . blogs.msdn.com. Архивировано из оригинала 30 июня 2019 г. Проверено 5 августа 2019 г.