- •220400 «Программное обеспечение вычислительных комплексов и автоматизированных систем»
- •Глава 1. Понятие и сущность моделирования. Место компьютерного моделирования в задачах изучения процессов и явлений
- •§ 1. Понятие модели. Функции моделей и их классификация
- •1.1. Понятие и функции моделей
- •1.2. Классификация моделей
- •§ 2. Структура моделей
- •2.1. Структура модели и ее основные составляющие
- •2.2. Анализ и синтез
- •2.3. Требования к модели
- •§ 3. Виды моделирования. Понятие и сущность компьютерного моделирования
- •3.1. Виды моделирования
- •3.2. Понятие и сущность компьютерного моделирования
- •3.3. Искусство моделирования. Действия, выполняемые в процессе моделирования
- •§ 4. Моделирование как искусство. Этапы процесса моделирования
- •4.1. Этапы процесса моделирования
- •4.2. Постановка задачи и определение типа модели
- •4.3. Формулирование модели
- •4.4. Проверка модели
- •4.5. Стратегическое и тактическое планирование
- •4.6. Экспериментирование и анализ чувствительности
- •4.7. Реализация замысла и документирование
- •Глава 2. Объектно-ориентированная технология как современная парадигма компьютерного моделирования. Основные сведения о языке uml
- •§ 5. Объектно-ориентированная технология как современная парадигма компьютерного моделирования
- •5.1. Обстоятельства и причины появления объектно-ориентированной технологии. Основные термины
- •В общем случае объекты обладают двумя качествами:
- •5.2. Принципы объектно-ориентированной технологии
- •§ 6. Назначение и цели унифицированного языка моделирования. Основные концепции uml
- •6.1. Назначение и цели uml
- •6.2. Основные концепции uml
- •§ 7. Статическое представление модели
- •7.1. Классификаторы
- •Типы классификаторов
- •7.2. Отношения
- •7.3. Ограничения
- •§ 8. Структурные представления модели
- •8.1. Представление вариантов использования
- •Виды отношений вариантов использования
- •8.2. Представления программной реализации и развертывания
- •§ 9. Представление в виде конечного автомата как один из видов динамического представления модели
- •9.1. Понятие конечного автомата. Определение события и состояния
- •9.2. Понятие и структура перехода. Типы переходов
- •§ 10. Представления деятельности и взаимодействия как виды динамического представления модели
- •10.1. Представление деятельности
- •10.2. Представление взаимодействия
- •§ 11. Представление управления моделью и дополнительные возможности языка uml
- •11.1. Представление управления моделью
- •11.2. Расширение возможностей языка uml
- •Глава 3. Понятие и виды имитационного моделирования. Инструментарий имитационного моделирования: назначение и краткий обзор
- •§ 12. Понятие и виды имитационного моделирования. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •12.1. Понятие и виды имитационного моделирования
- •12.2. Роль языков имитационного моделирования в решении задач компьютерного моделирования
- •§ 13. Классификация и краткая характеристика языков имитационного моделирования. Среда и функциональная структура языка моделирования gpss
- •13.1. Классификация языков имитационного моделирования
- •13.2. Принципы организации системы gpss
- •Глава 4. Общие понятия о графическом моделировании и геоинформационных системах
- •§ 14. Способы представления и принципы обработки графических данных на персональных эвм
- •14.1. Представление в компьютере графической информации. Растровая и векторная графика
- •14.2. Модели представления цвета в графических изображениях
- •14.3. Форматы графических файлов
- •14.4. Принципы обработки графических данных на персональных компьютерах
- •§ 15. Геоинформационные системы и особенности моделирования земной поверхности
- •15.1. Основные понятия и организация гис
- •15.2. Проблемы качества векторных цифровых карт для гис
- •§ 16. Классификация программного обеспечения гис и реализация гис-проектов
- •16.1. Классификация и краткая характеристика программного обеспечения гис
- •16.2. Порядок создания гис-проектов
- •Компьютерные модели в информационных технологиях на железнодорожном транспорте
- •127994, Москва, ул.Образцова, 15
Глава 4. Общие понятия о графическом моделировании и геоинформационных системах
§ 14. Способы представления и принципы обработки графических данных на персональных эвм
14.1. Представление в компьютере графической информации. Растровая и векторная графика
Прогресс в области вычислительной техники создал условия для использования персональных компьютеров (ПК) в интересах решения задач графического моделирования. Основными факторами, способствовавшими приходу качественной графики на ПК, явилось увеличение объемов оперативной памяти и жестких дисков, а также быстродействия компьютеров, так как графические материалы требуют значительных ресурсов на обработку. Рисунки в компьютерах имеют прямоугольную форму. Для работы с любым изображением к нему добавляется фон, превращающий рисунок в прямоугольник. Ввиду того, что компьютер обрабатывает только цифровую информацию, все графические материалы в нем представляются в цифровом виде, или, как говорят, кодируются. Существует два способа кодирования графической информации:
Растровая графика.
Векторная графика.
Растровый способ кодирования графической информации заключается в том, что рисунок разбивают на небольшие одноцветные части. Все цвета нумеруют, и для каждой части записывают номер ее цвета. Запомнив последовательность расположения частей и номер цвета для каждой части, можно однозначно описать любой рисунок. Понятно что, чем меньше цветов в рисунке, тем проще закодировать изображение. В самом простом случае используется только черный и белый цвет. Рассмотрим процесс преобразования рисунка в цифровую форму на простом примере. С этой целью возьмем черный крест (рис. 33, слева), и попробуем представить запись его компьютерного аналога.
Все рисунки в компьютерах имеют прямоугольную форму. Для работы с любым изображением к нему добавляется фон, превращающий рисунок в прямоугольник. Чтобы выделить прямоугольную рамку, захватывающую весь рисунок, представим крест, вписанным в квадрат белого цвета.
Рис. 33. Кодирование рисунка
Крест можно разбить на девять равных частей, каждая из которых будет иметь однородный цвет - черный или белый. Обозначим черный цвет единицей, а белый - нулем (рис. 33, в центре). Запишем все получившиеся цифры, начиная с левой части верхнего ряда. Мы получили число 010111010. Это и есть компьютерный код нашего рисунка. Однако из этого кода неясно, какого размера должна быть каждая часть рисунка. Поэтому договоримся, что разделим рисунок на небольшие части заданного размера (рис. 33, справа). Теперь частей стало значительно больше, и компьютерный код стал длиннее - 000011110000000011110000 - и так далее. Зато любой компьютер, получив этот код и зная, что каждая цифра означает цвет небольшого элемента изображения заданного размера, легко восстановит рисунок.
Закодированные подобным образом рисунки называются растровыми изображениями, растрами или битмапами, от английского слова bitmap - набор бит. Части, на которые разбиваются изображения, называют пикселями (PICture ELement - элемент рисунка), или точками.
Если для представления каждого пикселя в черно-белом рисунке достаточно одного бита, то для работы с цветом этого недостаточно. Однако подход при кодировании цветных изображений остается неизменным. Любой рисунок разбивается на пиксели, то есть небольшие части, каждая из которых имеет свой цвет. Так как в рисунке присутствует больше двух цветов, каждая часть изображения будет представлена в памяти компьютера несколькими битами. В зависимости от количества бит, отведенных для кодирования каждого пикселя, в изображении может присутствовать от двух до десятков миллионов цветов.
Объем информации, описывающий цвет пикселя, определяет глубину цвета. Чем больше информации определяет цвет каждой точки в рисунке, тем больше вариантов цвета существует. Понятно, что для рисунков в естественном цвете требуется больший объем памяти. Чтобы представить более шестнадцати миллионов цветов, информация о каждой точке рисунка должна занимать 4 байта.
Кодирование растрового изображения предполагает знание размеров элемента изображения. На практике же параметры изображения определяют его размером и разрешением.
Размер описывает физические габариты изображения - его высоту и ширину. Можно задать размеры в метрах, миллиметрах, дюймах или любых других величинах, но в компьютере чаще всего размер задается в пикселях.
При отображении на мониторе и печати на принтере каждый пиксель представляется отдельной точкой, если оборудование не делает специальных преобразований. В результате на мониторах с крупным зерном кинескопа рисунок получится большим, а на современном принтере, в котором используются мельчайшие точки, рисунок получится очень маленьким. А каким он должен быть на самом деле? Для этого задается разрешение изображения.
Разрешение - это плотность размещения пикселей, формирующих изображение, то есть количество пикселей на заданном отрезке. Чаще всего разрешение измеряется в количестве точек на дюйм - dpi (Dot Per Inch).
Разбив рисунок на пиксели, описав цвет каждого пикселя и задав разрешение, мы полностью закодируем любой рисунок. Имея эту информацию, любая компьютерная программа сможет восстановить исходное изображение. Растровые изображения достаточно широко используются в вычислительной технике. Фотографии и рисунки, введенные в компьютер, хранятся именно в виде растровых изображений. Большинство рисунков в сети Интернет представляют собой растровые файлы. Недостатки растровых изображений:
трудность масштабирования (увеличения или уменьшения). При уменьшении растрового изображения несколько соседних точек преобразуются в одну, поэтому теряется разборчивость мелких деталей изображения. При увеличении - увеличивается размер каждой точки, поэтому появляется ступенчатый эффект;
растровые изображения занимают много места в памяти и на диске.
Чтобы избежать указанных проблем, был изобретен векторный способ кодирования изображений. В этом способе геометрические фигуры, кривые и прямые линии, составляющие рисунок, хранятся в памяти компьютера в виде математических формул и геометрических абстракций, таких как круг, квадрат, эллипс и подобных фигур. Например, чтобы закодировать круг, не надо разбивать его на отдельные пиксели, а следует запомнить его радиус, координаты центра и цвет. Для прямоугольника достаточно знать размер сторон, место, где он находится, и цвет закраски. С помощью математических формул можно описать самые разные фигуры.
Чтобы нарисовать более сложный рисунок, применяют несколько простых фигур. Любое изображение в векторном формате состоит из множества составляющих частей, которые можно редактировать независимо друг от друга. Эти части называются объектами. Так как с помощью комбинации нескольких объектов можно создавать новый объект, объекты могут иметь достаточно сложный вид, Размеры, кривизна и местоположение для каждого объекта хранятся в виде числовых коэффициентов. Благодаря этому появляется возможность масштабировать изображения с помощью простых математических операций, в частности, простым умножением параметров графических элементов на коэффициент масштабирования. При этом качество изображения остается без изменений.
Важным преимуществом векторного способа кодирования изображений является то, что размеры графических файлов векторной графики имеют значительно меньший размер, чем файлы растровой графики.
Недостатком векторной графикой является некоторая условность получаемых изображений. Так как все рисунки состоят из кривых, описанных формулами, трудно получить реалистичное изображение. Для этого понадобилось бы слишком много элементов, поэтому рисунки векторной графики не могут использоваться для кодирования фотографий. Если попытаться описать фотографию, размер полученного файла окажется больше, чем соответствующего файла растровой графики.