- •Часть 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. Сглаживающие кривые. Кривая Безье
13.4. Алгоритм Аппеля (Количественная невидимость)
Рассмотрим произвольное гладкое выпуклое тело в пространстве. Взяв произвольную точку Р на границе этого тела, назовем ее лицевой, если (n,l)>0, где n - вектор внешней нормали к границе в этой точке. Если же (n,l)<0, то данная точка является нелицевой (и, соответственно, невидимой). В силу гладкости поверхности у лицевой (нелицевой) точки существует достаточно малая окрестность, целиком состоящая из лицевых (нелицевых) точек и проектирующаяся на картинную плоскость взаимнооднозначно (не закрывая саму себя) (рис. 13.4.1).
У точек, для которых (n,l) = 0, подобной окрестности (состоящей только из лицевых или только нелицевых точек) может не существовать. Такие точки, в отличие от (регулярных) точек называются нерегулярными (особыми) точками проектирования (рис. 13.4.2).
Рис. 13.4.1. Пример регулярных точек. Рис 13.4.2. Пример НЕрегулярных точек.
В общем случае множество всех нерегулярных точек (n,1) = 0 образует на поверхности рассматриваемого объекта гладкую кривую, называемую контурной линией. Эта линия разбивает поверхность выпуклого тела на две части, каждая из которых однозначно проектируется на картинную плоскость и целиком состоит из регулярных точек. Одна из этих частей является полностью видимой, а другая – полностью невидимой.
Попытаемся обобщить этот подход на случай одного или нескольких невыпуклых тел.
Множество всех контурных линий (их уже может быть несколько) разбивает границы тел на набор связных частей (компонент), каждая из которых по-прежнему взаимнооднозначно проектируется на картинную плоскость и состоит либо из лицевых, либо из нелицевых точек.
Никакая из этих частей не может закрывать себя при проектировании, однако возможны случаи, когда одна такая часть закрывает другую. Чтобы это учесть, введем числовую характеристику невидимости – так называемую количественную невидимость точки, определив ее как количество точек, закрывающих при проектировании данную точку. Точка оказывается видимой только в том случае, когда ее количественная невидимость равна нулю.
Количественная невидимость является кусочно-постоянной функцией и может изменять свое значение лишь в тех точках, проекции которых на картинную плоскость лежат в проекции одной из контурных линий.
Итак, проекции контурных линий разбивают картинную плоскость на области, каждая из которых является проекцией части объекта, а сами поверхности, ограничивающие тела, разбиваются контурными линиями на однозначно проектирующиеся фрагменты с постоянной количественной невидимостью.
В общем случае при проектировании гладких поверхностей возникает два основных типа особенностей (все остальные возможные особенности могут быть приведены к ним сколь угодно малыми "шевелениями") - линии складки, являющиеся регулярными проекциями контурных линий на картинную плоскость и представляющие собой регулярные кривые на поверхности, взаимнооднозначно проектирующиеся на картинную плоскость (рис. 13.4.2), и изолированные точки сборки, которые лежат на линиях складки (контурных линиях) и являются особыми точками проектирования контурных линий на картинную плоскость.
Рассмотрим теперь изменение количественной невидимости вдоль самой контурной линии.
Можно показать, что она может измениться только в двух случаях – при прохождении позади контурной линии и в точках сборки. В первом случае происходит загораживание складкой другого участка поверхности и количественная невидимость изменяется на два. Во втором случае происходит загораживание поверхностью самой себя и количественная невидимость изменяется на единицу.
Таким образом, для определения видимости достаточно найти контурные линии и их проекциями разбить всю картинную плоскость на области, являющиеся видимыми частями проекций объектов сцены.
В результате мы приходим к следующему алгоритму: на границах тел выделяется множество контурных линий С. Каждая из этих линий разбивается на части в тех точках, где она закрывается при проектировании на картинную плоскость какой-либо линией этого множества, проходящей в точке закрывания ближе к картинной плоскости. Контурные линии разбиваются и в точками сборки. В результате получается множество линий, на каждой из которых количественная невидимость одна и та же (постоянна).
В случае, когда рассматриваются поверхности, не являющиеся границами сплошных тел, к множеству контурных линий С следует добавить и граничные линии этих поверхностей.
Если рассматриваемые объекты являются лишь кусочно-гладкими, то к множеству линий С следует добавить также линии излома (линии, где происходит потеря гладкости).
Данный метод может быть применен и для решения задачи удаления невидимых поверхностей – получившиеся линии разбивают картинную плоскость на области, каждая из которых соответствует видимой части одного из объектов сцены.
Его с успехом можно применить и для работы с полигональными объектами. Одним из вариантов такого применения является алгоритм Аппеля.
Аппель вводит понятие количественной невидимости QI (quontative invisibility) точки как число лицевых граней, ее закрывающих. Это несколько отличается от определения, введенного ранее, однако существо подхода остается неизменным.
Контурная линия полигонального объекта состоит из тех ребер, для которых одна из проходящих граней является лицевой, а другая – нелицевой.
Так, для многогранника на рис. 13.4.3 контурной линией является ломаная ABCIJDEKLGA.
Рассмотрим, как меняется количественная невидимость вдоль ребра. Для определения видимости ребер произвольного многогранника сначала берется какая-либо его вершина и ее количественная невидимость определяется непосредственно.
Далее прослеживается изменение количественной невидимости вдоль каждого из ребер, выходящих из этой вершины. Эти ребра проверяются на прохождение позади контурной линии, и их количественная невидимость в соответствующих точках изменяется. При прохождении ребра позади контурной линии количественная невидимость точек ребра изменяется на единицу. Те части отрезка, для которых количественная невидимость равна нулю, сразу же рисуются.
Следующим шагом является определение количественной невидимости для ребер, выходящих из новой вершины, и т. д.
Рис. 13.4.3. Пример лицевых и нелицевых граней.
В результате определяется количественная невидимость всех ребер связной компоненты сцены, содержащей исходную вершину (и при этом видимые части ребер этой компоненты сразу же рисуются).
В случае, когда рассматривается изменение количественной невидимости вдоль ребра, выходящего из вершины, принадлежащей контурной линии, необходимо проверить, не закрывается ли это ребро одной из граней, выходящей из этой вершины (как, например, грань DEKJ закрывает ребро DJ, и это является аналогом точки сборки).
Так как для реальных объектов количество ребер, входящих в контурную линию, намного меньше общего числа ребер (если общее количество ребер равно n, то количество ребер, входящих в контурную линию, – О(√n )), алгоритм Аппеля является более эффективным, чем алгоритм Робертса.
На поверхности многогранников можно выделить набор линий такой, что каждая контурная линия независимо от направления проектирования обязательно пересечет хотя бы одну из линий этого набора. Таким образом, для отыскания контурных линий необязательно перебирать все ребра – достаточно проверить заданный набор и восстановить контурные линии от точек пересечения с этим набором.
Замечание. Для повышения эффективности данного алгоритма возможно использование разбиения картинной плоскости – для каждой клетки разбиения строится список ребер контурной линии, чьи проекции пересекают данную клетку.
