- •Часть 1. Человек-оператор в системах управления………………………
- •2.2. Системы ручного управления
- •1. Введение
- •1.1. История технической эстетики и художественного конструирования в России и за рубежом
- •1.2. Цели, которые преследовало развитие дизайна
- •1.3. Основные принципы технической эстетики
- •1.4. Проблемы эргономики
- •2.2.1. Общие черты систем ручного управления
- •2.2.2. Следящие системы ручного управления
- •Слежение с компенсацией
- •Слежение с преследованием
- •2.1. Человек-оператор в системах управления
- •2.2. Системы ручного управления
- •2.3. Системы автоматизированного управления
- •2.4. Проблемы эргономического подхода к проектированию систем с человеком-оператором
- •2.5. Упрощенная передаточная функция человека-оператора в режиме компенсаторного слежения
- •2.6. Реакции человека-оператора
- •2.7. Структура деятельности человека-оператора
- •2.8. Точность человека-оператора и его влияние на точность системы управления
- •2.8.1. Алгоритм анализа и контроля ошибок человека-оператора
- •2.8.2. Структура ошибок человека-оператора
- •2.8.3. Способы повышения точности операторов
- •2.9. Надежность человека-оператора
- •2.9.1. Способы повышения надёжности
- •2.10. Работоспособность человека-оператора
- •2.11. Помехоустойчивость человека-оператора
- •2.11.1. Эффект Ли
- •2.12. Оптимальная зона условий работоспособности человека-оператора
- •3. Анализаторы человека
- •3.1. Характеристики анализаторов
- •2. Пространственные характеристики (зона действия).
- •3. Временные характеристики.
- •3.2. Зрительный анализатор человека и его свойства
- •3.2.1. Строение глаза человека
- •3.2.2. Свойства глаза
- •3.2.2.9. Мнимые эффекты зрения.
- •3.2.3. Характеристики зрительного анализатора человека
- •3.2.4. Особенности цветового восприятия
- •3.3. Звуковой анализатор человека
- •3.3.1. Характеристики звукового анализатора
- •3.4. Закон Вебера-Фехнера
- •4. Некоторые сведения из теории информации и инженерной психологии
- •4.1. Количество информации
- •4.1.1. Свойства количества информации
- •4.1.2. Избыточность информации
- •4.1.3. Скорость создания информации
- •4.1.4. Пропускная способность
- •4.2. Факторы, влияющие на переработку информации
- •4.2.1. Объективные характеристики сообщений и сигналов
- •4.2.2. Условия работы человека оператора
- •4.2.3. Индивидуальные характеристики человека оператора
- •4.3. Применение теории информации в инженерной психологии
- •4.3.1. Информационные оценки восприятия и памяти
- •4.3.1.1. Кратковременная память
- •4.3.1.2. Долговременная память
- •4.3.2. Модели работы человека-оператора как канала связи
- •4.4. Способы борьбы с избытком и недостатком информации
- •4.5. Оценка полезности информации
- •5. Художественное конструирование
- •5.1. Принципы и закономерности художественного конструирования
- •5.2. Композиция как средство выражения художественных качеств форм
- •5.2.1. Виды композиции
- •5.2.1.1. В зависимости от формы изделия
- •5.2.2. Единство композиции
- •5.3. Средства гармонизации формы промышленных объектов
- •5.3.1. Пропорция
- •Основные принципы построения интерфейсов
- •Золотое сечение
- •Кошелек Миллера
- •Принцип группировки
- •Бритва Оккама, или kiss
- •Видимость отражает полезность
- •Умное заимствование
- •Часть 2. Компьютерная графика как инструмент проектирования интерфейса
- •Введение
- •6.1. От наскальных рисунков – к компьютерной анимации
- •6.2. Классификация проблем, связанных с графическими изображениями
- •6.3. Направления развития компьютерной графики
- •6.4. Направления совершенствования компьютерной графики
- •7. Разновидности компьютерной графики
- •7.1. Растровая графика
- •7.2. Векторная графика
- •Фрактальная графика
- •7.4. Цветовые модели и режимы
- •Аффинные преобразования на плоскости
- •8.1. Вращение (поворот)
- •8.2. Растяжение (сжатие)
- •8.3. Отражение
- •8.4. Перенос обеспечивают соотношения
- •8.5. Однородные координаты точки
- •8.6. Представление преобразований на плоскости с помощью матриц 3-го порядка
- •8.7. Преобразования в пространстве
- •8.7.1. Вращение в пространстве
- •8.7.2. Растяжение (сжатие), или масштабирование в пространстве
- •8.7.3. Отражение в пространстве
- •8.7.4. Перенос в пространстве
- •8.8. Примеры
- •Проектирование
- •9.1. Виды проектирования
- •9.2. Ортографические проекции
- •9.3. Аксонометрические проекции
- •9.4. Косоугольные проекции
- •9.5. Центральные (перспективные проекции)
- •10. Растровые алгоритмы
- •10.1. Понятие связности
- •10.2. Растровое представление отрезка. Алгоритм Брезенхейма
- •Основные алгоритмы вычислительной геометрии
- •11.1. Отсечение отрезка. Алгоритм Сазерленда – Коэна
- •11.2. Алгоритм определения принадлежности точки многоугольнику
- •11.3. Закраска области, заданной цветом границы
- •Закрашивание
- •Функция закрашивания
- •12.2. Закраска методом Гуро (Gouraud)
- •12.3. Закраска методом Фонга (Phong)
- •Удаление невидимых линий и поверхностей
- •13.1. Построение графика функции двух переменных. Линии горизонта
- •13.2. Отсечение нелицевых граней
- •13.3. Алгоритм Робертса
- •13.4. Алгоритм Аппеля (Количественная невидимость)
- •Удаление невидимых граней
- •14.1. Метод трассировки лучей
- •14.2. Метод z-буфера
- •14.3. Алгоритмы упорядочения
- •14.3.1. Метод сортировки по глубине. Алгоритм художника
- •14.3.2. Метод двоичного разбиения пространства
- •14.4. Метод построчного сканирования
- •14.5. Алгоритм Варнака
- •Геометрические сплайны
- •15.1. Сплайн-функции. Случай одной переменной
- •15.2. Сплайновые кривые
- •15.3. Сглаживающие кривые. Кривая Безье
10. Растровые алгоритмы
10.1. Понятие связности
Подавляющее число графических устройств являются растровыми, представляя изображение в виде прямоугольной матрицы (сетки, целочисленной решетки) пикселов (растра), и большинство графических библиотек содержат внутри себя достаточное количество простейших растровых алгоритмов, таких, как:
• переведение идеального объекта (отрезка, окружности и др.) в их растровые образы;
• обработка растровых изображений.
Тем не менее, часто возникает необходимость и явного построения растровых алгоритмов.
Достаточно важным понятием для растровой сетки является связность – возможность соединения двух пикселов растровой линией, т. е. последовательным набором пикселов. Возникает вопрос, когда пикселы (х1,y1) и (x2,y2) можно считать соседними.
Вводится два понятия связности:
• 4-связность: пикселы считаются соседними, если либо их x-координаты, либо их y-координаты отличаются на единицу (рис. 10.1.1):
Рис. 10.1.1. Пример 4-связности
• 8-связность: пикселы считаются соседними, если их x-координаты и у-координаты отличаются не более чем на единицу (рис. 10.1.2):
Рис. 10.1.2. Пример 8-связности
Понятие 4-связности является более сильным: любые два 4-связных пиксела являются и 8-связными, но не наоборот. На рис. 10.1.3 изображена 8-связная линия, а на рис. 10.1.4 4-связная линия.
В качестве линии на растровой сетке выступает набор пикселов P1 P2,..., Рn, где любые два пиксела Pi, Pi+1 являются соседними в смысле заданной связности.
Замечание. Так как понятие линии базируется на понятии связности, то естественным образом возникает понятие 4- и 8-связных линий. Поэтому, когда мы говорим о растровом представлении (например, отрезка), следует ясно понимать, о каком именно представлении идет речь. В общем случае растровое представление объекта не является единственным и возможны различные способы его построения.
Рис. 10.1.3. 8-связная линия Рис 10.1.4. 4-связная линия
10.2. Растровое представление отрезка. Алгоритм Брезенхейма
Рассмотрим задачу построения растрового изображения отрезка, соединяющего точки А(ха, уa) и В(хb, yb). Для простоты будем считать, что
.
Тогда отрезок описывается уравнением
где
Однако взятие целой части у может приводить к не всегда корректному изображению.
Улучшить внешний вид получаемого отрезка можно за счет округления значений y до ближайшего целого. Фактически это означает, что из двух возможных кандидатов (пикселов, расположенных друг над другом так, что прямая проходит между ними) всегда выбирается тот пиксел, который лежит ближе к изображаемой прямой (рис. 10.2.1). Для этого достаточно сравнить дробную часть y с 1/2.
Рис. 10.2.1. Отрезок, получаемый, в соответствии с алгоритмом Брезенхейма
Пусть х0 = ха, у0, ..., хn = хb, yn = уb – последовательность изображаемых пикселов, причем хi + 1 – xi = 1. Тогда каждому значению xi соответствует число kxi + b.
Обозначим через сi дробную часть соответствующего значения функции kxi + b – ci = {kxi + b}.
Тогда, если ci ≤ ½, положим yi = [kxi + b], в противном случае –
yi = [kxi + b] + 1.
Рассмотрим, как изменяется величина сi при переходе от xi к следующему значению xi + 1.
Само значение функции при этом изменяется на k.
Если сi + k ≤ ½, то ci + 1 = ci + k, yi + 1 = yi.
В противном случае необходимо увеличить у на единицу и тогда приходим следующим соотношениям:
ci + 1 = ci + k – 1, yi + 1 = yi + 1,
так как
kxi + b = yi + ci,
kxi + 1 + b = yi + 1 + ci + 1,
а yi + 1 – целочисленная величина.
Заметим, что с0 = 0, так как точка (x0 , у0) лежит на прямой y = kx + b.
Замечание. Выбор точки можно трактовать и так: рассматривается середина отрезка между возможными кандидатами и проверяется, где (выше или ниже этой середины) лежит точка пересечения отрезка прямой, после чего выбирается соответствующий пиксел. Это метод срединной точки (midpoint algorithm).
Сравнивать с нулем удобнее, чем с 1/2, поэтому введем новую вспомогательную величину di = 2с - 1, заметив, что, di = 2k - 1 (так как с1 = k). Несмотря на то, что и входные данные являются целочисленными величинами и все операции ведутся на целочисленной решетке, алгоритм использует операции с вещественными числами. Чтобы избавиться от необходимости их использования, заметим, что все вещественные числа, присутствующие в алгоритме, являются числами вида p/Δx, p Є Z Поэтому если помножить величины di и k на Δx = xb - xa в результате этого останутся только целые числа. Тем самым мы приходим к алгоритму Брезенхейма.
