Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Генератор векторов
Генераторы векторов (ГВ) осуществляют интерполяцию промежуточных точек отрезка прямой, заданной начальными и конечными координатами. Уравнение отрезка прямой между точками с координатами и ; где , или . В дискретной форме ; где ; ; значение k при , является простой дробью. Поэтому уравнение принимает вид . (1)
Алгоритм ЦДА исключает операцию деления. В его основе лежит определение дискретного приращения при единичном дискретном приращении . Анализ (1) показывает, что . Если или , (2) где , то и , а остаток или (3) и далее определяется следующий . Если условие (2) не выполняется, то и на следующем шаге определяем , где , т.е. анализируем выражение , или , где . Пример построения отрезка прямой с координатами
1. Отмечаем начальную точку с координатами (1; 1). 2. Определяем ; . 3. Приращение по x . Анализируем (2) для < , т.е. ; ; . 4. Приращение по x . Анализируем (2) для > , т.е. ; ; . 5. Приращение по x . Анализируем (2) для < , т.е. ; ; . 6. Приращение по x . Анализируем (2) для > , т.е. ; ; . 7. Приращение по x . Анализируем (2) для = , т.е. ; . Погрешность лежит в пределах т.е. аппроксимирующая линия ниже аппроксимируемой. Эту погрешность можно уменьшить вдвое, сместив на ½ уровень отсчета. Тогда , а и условие (2) и . Структурная схема алгоритма ЦДА
Формулы и блок- схема справедливы при условии, когда . При невыполнении этого условия следует использовать формулу . Следовательно, блок-схему алгоритма надо дополнить операцией проверки условия , в зависимости от которого осуществляется выбор уравнений. Значения функций и определяют направление приращения координат x и y. При положительном значении этих функций адресные счетчики работают в режиме суммирования, а при отрицательном – вычитания.
|