Математика. Насколько Количество Пикселей В Прямой Линии Может Отличаться От Ее Реальной Длины?

  • Автор темы Moodakito Lohahary
  • Обновлено
  • 17, Oct 2024
  • #1

Я работаю над игрой с программируемым роботом. Он использует лазерный дальномер, чтобы определить расстояние до стен.

Я использую DDA, чтобы создать линию от робота, идущую в том направлении, куда он указывает, а затем проверяю каждый пиксель вдоль линии, чтобы увидеть, не касается ли он чего-нибудь. На этом этапе количество проверенных пикселей используется в качестве диапазона, чтобы избежать необходимости рассчитывать правильную длину.

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

Примечания:

  • Длина линии никогда не составляет всего несколько пикселей, скажем, всегда не менее 50 пикселей.
  • Очевидно, что более длинные линии имеют большие расхождения, но на самом деле вопрос заключается в относительных различиях.

#математика #рисование линий

Moodakito Lohahary


Рег
24 Oct, 2020

Тем
69

Постов
190

Баллов
545
  • 26, Oct 2024
  • #2

Худший случай — когда линия находится под углом 45 градусов; тогда его длина (в единицах размера пикселя) в $\sqrt{2}$ раза превышает количество пикселей, или примерно на 40 % больше.

Вы можете увидеть это, если представите, что начинаете с вертикальной линии шириной, скажем, 50 пикселей, а затем постепенно сдвигаете конечную точку по горизонтали. Обратите внимание, что количество нарисованных пикселей не меняется! У вас по-прежнему включен ровно один пиксель в каждой строке, которую пересекает линия. Пиксели изменят свое горизонтальное положение, но новые пиксели не включатся, пока линия не превысит 45 градусов от вертикали. То же самое верно, если вы начнете с горизонтальной линии и сдвинете конечную точку вертикально.

Количество пикселей в строке фактически учитывает только вертикальное или горизонтальное расстояние, в зависимости от того, какое из них больше, и игнорирует меньший размер.

 

Turbobas


Рег
02 Sep, 2004

Тем
67

Постов
191

Баллов
556
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно