Программные средства реализации информационных процессов. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программные средства реализации информационных процессов.



Раздел № 3

Программные средства реализации информационных процессов.

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Под языком программирования будем понимать алфавит, систему записи и набор правил, определяющих синтаксис правильной программы.

Ядро ИПО составляют ЯВУ (языки высокого уровня), позволяющие описывать алгоритмы решаемых пользователем задач. Существуют следующие уровни языков программирования.

1.Машинные языки.

2. Машинно-ориентированные языки.

3. Алгоритмические языки

4. Языки 4-го поколения.

 

Этапы решения задач на ЭВМ

Основными этапами решения задач на ЭВМ являются:

1. Постановка задачи

2. Выбор метода решения.

3. Составление алгоритма.

4. Программирование.

5. Отладка и тестирование.

6. Анализ результатов.

После того, как поставлена конкретная задача и выбран метод ее решения, приступают к составлению алгоритма, по которому и будет решаться задача.

Алгоритм

Алгоритм - это точное и простое описание последовательности действий для решения данной задачи. Алгоритм содержит несколько шагов, которые должны выполняться в определенной последовательности. Каждый шаг алгоритма может состоять из одной или нескольких простых операций. Важным свойством алгоритма является то, что результат его выполнения не должен зависеть от исполнителя.

Свойства алгоритмов

Понятность – исполнитель алгоритма должен знать, как алгоритм выполнить.

Дискретность – алгоритм должен состоять из последовательности выполнения отдельных простых шагов.

Определенность – каждое правило алгоритма должно быть четким, определенным, не оставлять места для произвола.

Результативность – алгоритм должен приводить к решению задачи за конечное число шагов.

Массовость – алгоритм разрабатывается в общем виде и его можно применить к некоторому классу задач.

Блок-схемы

Для графической записи алгоритмов используют блок - схемы. На блок - схеме каждый шаг алгоритма обозначается специальной геометрической фигурой, а внутри нее записываются простые операции.

начало конец

 

присвоение значений

Ввод/вывод данных и вычисления

вызов

Рекурсивная подпрограмма обычно выполняется медленнее, чем ее нерекурсивный аналог и сложнее отлаживается.

Итерация (цикл) — способ организации обработки данных, при котором определенные действия повторяются многократно, не приводя при этом к рекурсивным вызовам программ.

Лекция Языки программирования высокого уровня

Алгоритмический язык программирования

Programming language; Algorithmic language

Алгоритмический язык программирования - искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задается своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора.

Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Николасом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов.

Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень просто в изучении.

С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).

Четвертое поколение языков программирования

С++ (Си++). Си++ - это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформонезависимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора – виртуальной Java-машины JVM (Java Virtual Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место после Бейсика. Язык Java позволяет создавать программы для работы в Интернет.

Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформонезависимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Пока основной недостаток этого языка – невысокое быстродействие, так как язык Ява интерпретируемый.

Это все алгоритмические языки. В настоящее время широко используются алгоритмические языки Паскаль и СИ. На основе алгоритмических языков стали создаваться языки объектного и объектно-визуального программирования. Объектно-ориентированными языками являются СИ++ и Object Pascal, они позволяют создавать различные приложения. Языки 4-го уровня позволяют создавать приложения, функционирующие на различных платформах:DOS, WINDOWS, UNIX.

Особенности алгоритмических языков в том, что имеется конкретный заданный алгоритм решения задачи, используется оператор присваивания, возможен, но не приветствуется оператор goto. Алгоритмические языки по-другому называются процедурными или императивными.

Оператора присваивания

Язык программирования Лисп

LISP language

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

PROLOG language

Базы знаний

База знаний – это один или несколько специальным образом организованных файлов, которые хранят систематизированную совокупность понятий, правил и фактов, относящихся к некоторой предметной области. Например, база знаний по химии углеводородов. Содержимое базы знаний оформляется, связывается между собой и представляется таким образом, чтобы на основе этого содержимого можно было с помощью специальных программ осуществлять рассуждения и делать выводы и получать выводы, которые в явном виде могут не присутствовать в базе данных. Для построения базы знаний применяются методы искусственного интеллекта, специальные языки описания знаний и интеллектуальный интерфейс. Базы знаний являются основной содержательной частью интеллектуальных информационных систем, интеллектуальных обучающих систем, интеллектуальных систем программирования и экспертных систем.

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

Экспертная система способна на основании методов искусственного интеллекта и представленных пользователем фактов идентифицировать ситуацию, поставить диагноз, сделать прогноз, сгенерировать решение или дать рекомендацию для выбора действия. Э.С. обычно ориентируется на некоторую предметную область, она способна получать, накапливать, корректировать знания из этой области, выводить новые знания из уже известных, решать практические задачи на основе этих знаний и объяснять ход решения. Кроме базы знаний, хранящей факты, закономерности и правила в ЭС входят программы-решатели, они реализуют функции планирования, поиска решения задачи, механизма логического вывода, часто из неполных и нечетких знаний. Создание ЭС начинается с разработки ее первоначального варианта – прототипа ЭС. Далее следует длительный многоэтапный процесс испытаний и совершенствования. Для программирования ЭС используются языки Лисп, Пролог, Си.

Искусственный интеллект.

Во-первых, это область информатики, занимающаяся научными исследованиями и разработкой методов и средств для правдоподобной имитации отдельных функций человеческого интеллекта с помощью автоматизированных систем. В рамках И.и. создаются методы, программные и технические средства решения задач, для которых отсутствуют формальные алгоритмы: распознавание изображений, понимание естественных языков и речи, обучение с учетом способностей ученика, постановка диагнозов, доказательство теорем и т.д. Эти задачи обычно решаются человеком с привлечением подсознания и поэтому их трудно моделировать. На основе методов И.и. разрабатываются программные интеллектуальные системы, например, интеллектуальные информационные системы, интеллектуальные обучающие системы, интеллектуальные системы программирования и т.д. Большинство таких систем используют для своей работы базы знаний, которые тоже разрабатываются с привлечением методов И.и. Иногда программы И.и. служат для моделирования поведения человека, а иногда – технических применений. Термин машинный интеллект является синонимом И.и., но чаще служит для указания только технологического аспекта проблемы И.и.

Во-вторых И.и. – это свойство автоматических и автоматизированных систем выполнять отдельные функции интеллекта человека, например, выбирать и принимать оптимальные решения на основе ранее полученного опыта и анализа внешних воздействий.

Интеллектуальный интерфейс

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

Парадигмы программирования

Классификация ПП средств

Текстовые редакторы - основные их функции - ввод и редактирование текстовых данных.

Графические редакторы - обширный класс программ, предназначенных для создания и обработки графических изображений.

Системы управления базами данных. БД называют огромные массивы данных, организованные в табличные структуры.

Электронные таблицы - это комплексные средства для хранения различных типов данных и их обработки. Электронные таблицы аналогичны базам данных, но акцент смещен не на хранения данных, а на преобразование данных.

Системы автоматизированного проектирования (CAD-системы), они предназначены для автоматизации процесса верстки полиграфических изданий.

Существуют и другие прикладные программные средства: экспертные системы, редакторы HTML (Web-редакторы), броузеры (средства просмотра Web), интегрированные системы делопроизводства, бухгалтерские системы и т.д.

Резюме

Парадигмы программирования

Парадигма — набор теорий, стандартов и методов, которые представляют собой способ организации научного знания, — иными словами, способ видения мира. Парадигма в программировании — способ концептуализации, который определяет, как следует проводить вычисления, и как работа, выполняемая компьютером, должна быть структурирована и организована.

Известно несколько основных парадигм программирования, важнейшими из которых на данный момент времени являются парадигмы директивного, объектно-ориентированного и функционально-логического программирования. Для поддержки программирования в соответствии с той или иной парадигмой разработаны специальные алгоритмические языки.

C и Pascal являются примерами языков, предназначенных для директивного программирования (directive programming), когда разработчик программы использует процессно-ориентированную модель, то есть пытается создать код, должным образом воздействующий на данные. Активным началом при этом подходе считается программа (код), которая должна выполнить все необходимые для достижения нужного результата действия над пассивными данными.

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

Сейчас весьма распространенным стал объектно-ориентированный (object oriented) подход, реализуемый, например, языками C++ и Java. При этом, наоборот, первичными считаются объекты (данные), которые могут активно взаимодействовать друг с другом с помощью механизма передачи сообщений (называемого также и механизмом вызова методов). Функция программиста в этом случае подобна роли бога при сотворении Вселенной — он должен придумать и реализовать такие объекты, взаимодействие которых после старта программы приведет к достижению необходимого конечного результата.

Раздел № 4

Проблема моделирования состоит из трех взаимосвязанных задач: построение новой (адаптация известной) модели; исследование модели (разработка метода исследования или адаптация, применение известного); использование (на практике или теоретически) модели.

Классификация моделей

Модель статическая, если среди параметров описания модели нет (явно) временного параметра.

Модель динамическая, если среди параметров модели явно выделен временной параметр.

Модель дискретная, если описывает поведение оригинала лишь дискретно, например, в дискретные моменты времени (для динамической модели).

Модель непрерывная, если описывает поведение оригинала на всем промежутке времени.

Модель детерминированная, если для каждой допустимой совокупности входных параметров она позволяет определять однозначно набор выходных параметров; в противном случае – модель недетерминированная, стохастическая (вероятностная).

Модель функциональная, если она представима системой функциональных соотношений (например, уравнений).

Модель теоретико-множественная, если она представима некоторыми множествами и отношениями их и их элементов.

Модель логическая, если она представима предикатами, логическими функциями и отношениями.

Модель информационно-логическая, если она представима информацией о составных элементах, подмоделях, а также логическими отношениями между ними.

Модель игровая, если она описывает, реализует некоторую игровую ситуацию между элементами (объектами и субъектами игры).

Модель алгоритмическая, если она описана некоторым алгоритмом или комплексом алгоритмов, определяющим ее функционирование, развитие. Введение такого, на первый взгляд, непривычного типа моделей (действительно, кажется, что любая модель может быть представлена алгоритмом ее исследования), вполне обосновано, так как не все модели могут быть исследованы или реализованы алгоритмически.

Модель графовая, если она представима графом (отношениями вершин и соединяющих их ребер) или графами и отношениями между ними.

Модель иерархическая (древовидная), если она представима иерахической структурой (деревом).

Модель языковая, лингвистическая, если она представлена некоторым лингвистическим объектом, формализованной языковой системой или структурой. Иногда такие модели называют вербальными, синтаксическими и т.п.

Модель визуальная, если она позволяет визуализировать отношения и связи моделируемой системы, особенно в динамике.

Модель натурная, если она есть материальная копия оригинала.

Модель геометрическая, если она представима геометрическими образами и отношениями между ними.

Модель имитационная, если она построена для испытания или изучения, проигрывания возможных путей развития и поведения объекта путем варьирования некоторых или всех параметров модели.

Есть и другие типы моделей.

Примеры моделей

Алгоритмической моделью вычисления суммы бесконечного убывающего ряда чисел может служить алгоритм вычисления конечной суммы ряда до некоторой заданной степени точности.

Правила правописания – языковая, структурная модель. Глобус – натурная географическая модель земного шара. Макет дома является натурной геометрической моделью строящегося дома. Вписанный в окружность многоугольник дает визуальную геометрическую модель окружности на экране компьютера.

Тип модели зависит от связей и отношений его подсистем и элементов, окружения, а не от его физической природы.

Основные свойства любой модели:

· целенаправленность;

· конечность;

· упрощенность;

· приблизительность;

· адекватность;

· информативность;

· полнота;

· замкнутость и др.

Современное моделирование сложных процессов и явлений невозможно без компьютера, без компьютерного моделирования.

Компьютерное моделирование – основа представления знаний как в компьютере, так и с помощью компьютера и с использованием любой информации, которую можно обрабатывать с помощью ЭВМ.

Разновидность компьютерного моделирования – вычислительный эксперимент, осуществляемый экспериментатором над исследуемой системой или процессом с помощью орудия эксперимента – компьютера, компьютерной технологии. Вычислительный эксперимент позволяет находить новые закономерности, проверять гипотезы, визуализировать события и т.д.

Языки моделирования

Язык визуального моделирования – это формальный язык, который имеет графическую нотацию, язык предназначен для визуального моделирования и спецификации программных и аппаратных средств.

VRML – формальный язык для создания трехмерных изображений. В 1994 году был создан язык VRML для организации виртуальных трехмерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, освещение и тени, текстуры (покрытия объектов), создавать свои миры, путешествовать по ним, «облетать» со всех сторон, вращать в любых направлениях, масштабировать, регулировать

Унифицированный язык моделирования UML – формальный язык визуального моделирования, который предназначен для проектирования и построения моделей сложных программных систем.

Основные концепции ООП

(основные идеи объектно-ориентированного проектирования и объектно-ориентированного программирования одинаковы, т.к. разработанный проект реализуется на одном из объектно-ориентированных языков программирования)

Объектно-ориентированное программирование или ООП — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного типа, использующая механизм пересылки сообщений и классы, организованные в иерархию наследования.

Центральный элемент ООП — абстракция. Данные с помощью абстракции преобразуются в объекты, а последовательность обработки этих данных превращается в набор сообщений, передаваемых между этими объектами. Каждый из объектов имеет свое собственное уникальное поведение. С объектами можно обращаться как с конкретными сущностями, которые реагируют на сообщения, приказывающие им выполнить какие-то действия.

ООП характеризуется следующими принципами (по Алану Кею):

· все является объектом;

· вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие; объекты взаимодействуют, посылая и получая сообщения; сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия;

· каждый объект имеет независимую память, которая состоит из других объектов;

· каждый объект является представителем класса, который выражает общие свойства объектов данного типа;

· в классе задается функциональность (поведение объекта); тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия;

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

Абстрагирование (abstraction) — метод решения задачи, при котором объекты разного рода объединяются общим понятием (концепцией), а затем сгруппированные сущности рассматриваются как элементы единой категории.

Абстрагирование позволяет отделить логический смысл фрагмента программы от проблемы его реализации, разделив внешнее описание (интерфейс) объекта и его внутреннюю организацию (реализацию).

Инкапсуляция (encapsulation) — техника, при которой несущественная с точки зрения интерфейса объекта информация прячется внутри него.

Наследование (inheritance) — свойство объектов, посредством которого экземпляры класса получают доступ к данным и методам классов-предков без их повторного определения.

Наследование позволяет различным типам данных совместно использовать один и тот же код, приводя к уменьшению его размера и повышению функциональности.

Полиморфизм (polymorphism) — свойство, позволяющее использовать один и тот же интерфейс для различных действий; полиморфной переменной, например, может соответствовать несколько различных методов.

Полиморфизм перекраивает общий код, реализующий некоторый интерфейс, так, чтобы удовлетворить конкретным особенностям отдельных типов данных.

Класс (class) — множество объектов, связанных общностью структуры и поведения; абстрактное описание данных и поведения (методов) для совокупности похожих объектов, представители которой называются экземплярами класса.

Объект (object) — конкретная реализация класса, обладающая характеристиками состояния, поведения и индивидуальности, синоним экземпляра.

При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов). Основными концепциями, характеризующими объектно-ориентированное программирование, являются наследование (сохранение производными объектами свойств базовых объектов) и инкапсуляция (изоляция определений объектов от методов управления ими), а также уже упомянутое понятие полиморфизма

Виды компьютерной графики

Существует специальная область информатики, изучающая методы и средства создания и обработки изображений с помощью программно-аппаратных вычисли­тельных комплексов, — компьютерная графика. Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе (бумага, кинопленка, ткань и прочее). Виды компьютерной графики: полиграфия, 2D графика, 3D графика и анимация, САПР и деловая графика, Web дизайн, мультимедиа, видеомонтаж.

В зависимости от способа формирования изображений компьютерную 2D-графику принято подразделять на растровую, векторную и фрактальную.

Отдельным предметом считается трехмерная (3D) графика, изучающая приемы и методы построения объемных моделей объектов в виртуальном пространстве. Как правило, в ней сочетаются векторный и растровый способы формирования изображений.

Особенности цветового охвата характеризуют такие понятия, как черно-белая и цветная графика. На специализацию в отдельных областях указывают названия некоторых разделов: инженерная гра­фика, научная графика, Web-графика, компью­терная полиграфия и прочие.

На стыке компьютерных, телевизионных и кино­технологий зародилась и стремительно развива­ется сравнительно новая область компьютерной графики и анимации.

Хотя компьютерная графика служит всего лишь инструментом, ее структура и методы основаны на передовых достижениях фундаментальных и прикладных наук: математики, физики, химии, биологии, статистики, программирования и мно­жества других. Это замечание справедливо как для программных, так и для аппаратных средств создания и обработки изображений на компью­тере. Поэтому компьютерная графика является одной из наиболее бурно развивающихся отрас­лей информатики и во многих случаях выступает «локомотивом», тянущим за собой всю компью­терную индустрию.

Растровая графика   Векторная графика
Трехмерная графика Инженерная графика

 

Растровая графика

Для растровых изображений, состоящих из точек, особую важность имеет понятие разрешения, выра­жающее количество точек, приходящихся на еди­ницу длины. При этом следует различать:

• разрешение оригинала;

• разрешение экранного изображения;

• разрешение печатного изображения.

Разрешение оригинала. Разрешение оригинала измеряется в точках на дюйм (dots per inch — dpi) и зависит от требований к качеству изображения и размеру файла, способу оцифровки или методу создания исходной иллюстрации, избранному формату файла и другим параметрам. В общем случае действует правило: чем выше требования к качеству, тем выше должно быть разрешение оригинала.

Разрешение экранного изображения. Для экранных копий изображения элемен­тарную точку растра принято называть пикселом. Размер пиксела варьируется в зависимости от выбранного экранного разрешения (из диапазона стандартных зна­чений), разрешения оригинала и масштаба отображения.

Мониторы для обработки изображений с диагональю 20-21 дюйм (профессионального класса), как правило, обеспечивают стандартные экранные разрешения 640x480, 800x600, 1024x768, 1280x1024, 1600x1200, 1600x1280, 1920x1200, 1920x1600 точек. Расстояние между соседними точками люминофора у качественного монитора состав­ляет 0,22-0,25 мм.

Для экранной копии достаточно разрешения 72 dpi, для распечатки на цветном или лазерном принтере 150-200 dpi, для вывода на фотоэкспонирующем устройстве 200-300 dpi. Установлено эмпирическое правило, что при распечатке величина разрешения оригинала должна быть в 1,5 раза больше, чем линиатура растра устрой­ства вывода. В случае, если твердая копия будет увеличена по сравнению с ориги­налом, эти величины следует умножить на коэффициент масштабирования.

Разрешение печатного изображения и понятие линиатуры. Размер точки растро­вого изображения как на твердой копии (бумага, пленка и т. д.), так и на экране зависит от примененного метода и параметров растрирования оригинала. При растри­ровании на оригинал как бы накладывается сетка линий, ячейки которой образуют элемент растра. Частота сетки растра измеряется числом линий на дюйм (lines per inch — Ipi) и называется линиатурой.

Размер точки растра рассчитывается для каждого элемента и зависит от интенсив­ности тона в данной ячейке. Чем больше интенсивность, тем плотнее заполняется элемент растра. То есть, если в ячейку попал абсолютно черный цвет, размер точки растра совпадет с размером элемента растра. В этом случае говорят о 100% заполняемости. Для абсолютно белого цвета значение заполняемости составит 0%. На практике заполняемость элемента на отпечатке обычно составляет от 3 до 98%. При этом все точки растра имеют одинаковую оптическую плотность, в идеале при­ближающуюся к абсолютно черному цвету. Иллюзия более темного тона создается за счет увеличения размеров точек и, как следствие, сокращения пробельного поля между ними при одинаковом расстоянии между центрами элементов растра (рис. 1). Такой метод называют растрированием с амплитудной модуляцией (AM).

 

Рис. 1. Примеры амплитудной и частотной модуляции растра

Существует и метод растрирования с частотной модуляцией (ЧМ), когда интен­сивность тона регулируется изменением расстояния между соседними точками одинакового размера. Таким образом, при частотно-модулированном растрирова­нии в ячейках растра с разной интенсивностью тона находится разное число точек (см рис. 1). Изображения, растрированные ЧМ-методом, выглядят более каче­ственно, так как размер точек минимален и во всяком случае существенно меньше, чем средний размер точки при АМ-растрировании. Еще более повышает качество изображения разновидность ЧМ-метода, называемая стохастическим растрированием. В этом случае рассчитывается число точек, необходимое для отображения требуемой интенсивности тона в ячейке растра. Затем эти точки располагаются внутри ячейки на расстояниях, вычисленных квазислучайным методом (на самом деле используется специальный математический алгоритм). То есть регулярная структура растра внутри ячейки, как и на изображении в целом, вообще отсутствует (рис. 2). Поэтому при стохастическом ЧМ -растрировании теряет смысл понятие линиатуры растра, имеет значение лишь разрешающая способность устройства вывода. Такой способ требует больших затрат вычислительных ресурсов и высокой точности полиграфического оборудования; он применяется в основном для художествен­ных работ, при печати с числом красок, превышающим четыре.

Рис.2. Пример использования стохастического растра

Связь между параметрами изображения и размером файла. Средствами растровой графики принято иллюстрировать работы, требующие высокой точности в пере­даче цветов и полутонов. Однако размеры файлов растровых иллюстраций стре­мительно растут с увеличением разрешения. Фотоснимок, предназначенный для домашнего просмотра (стандартный размер 10x15 см, оцифрованный с разрешени­ем 200-300 dpi, цветовое разрешение 24 бита), занимает в формате TIFF с вклю­ченным режимом сжатия около 4 Мбайт. Оцифрованный с высоким разрешением слайд занимает 45-50 Мбайт. Цветоделенное цветное изображение формата А4 занимает 120-150 Мбайт.

Масштабирование растровых изображений. Одним из недостатков растровой гра­фики является так называемая пикселизация изображений при их увеличении (если не приняты специальные меры). Раз в оригинале присутствует определенное коли­чество точек, то при большем масштабе увеличивается и их размер, становятся заметны элементы растра, что искажает саму иллюстрацию (рис 3). Для противодействия пикселизации принято заранее оцифровывать оригинал с разрешением, достаточ­ным для качественной визуализации при масштабировании. Другой прием состоит в применении стохастического растра, позволяющего уменьшить эффект пикселиза­ции в определенных пределах. Наконец, при масштабировании используют метод интерполяции, когда увеличение размера иллюстрации происходит не за счет мас­штабирования точек, а путем добавления необходимого числа промежуточных точек. При масштабировании растровой графики возможны потери в изображении.

 

Рис.3. Эффект пикселезации при масштабировании растрового изображения

 

Векторная графика

Если в растровой графике базовым элементом изображения является точка, то в векторной графике - линия. Линия описывается математически как единый объект, и потому объем данных для отображения объекта средствами векторной графики существенно меньше, чем в растровой графике.

Линия — элементарный объект векторной графики. Как и любой объект, линия обладает свойствами: формой (прямая, кривая), толщиной, цветом, начертанием (сплошная, пунктирная). Замкнутые линии приобретают свойство заполнения. Охватываемое ими пространство может быть заполнено другими объектами (тек­стуры, карты) или выбранным цветом.

Простейшая незамкнутая линия Ограничена двумя точками, именуемыми узлами. Узлы также имеют свойства, параметры которых влияют на форму конца линии и характер сопряжения с другими объектами.

Все прочие объекты векторной графики составляются из линий. Например, куб можно составить из шести связанных прямоугольников, каждый из которых, в свою очередь, образован четырьмя связанными линиями. Возможно представить куб и как двенадцать связанных линий, образующих ребра.

 

Рис. 4. Объекты векторной графики

 

Типы узловых точек.

Вид касательных линий и соответственно методы управления кривизной сегмента в точке привязки определяются типом узловой точки. Различают три типа узловых точек.

Симметричный узел. У симметричного узла оба отрезка касательных по обе стороны точки привязки имеют одинаковую длину и лежат на одной прямой, которая показывает направление касательной к контуру в данной узловой точке. Это означает, что кривизна сегментов с обеих сторон точки привязки одинакова.

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

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

Форматы графических данных



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 297; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.38.125 (0.096 с.)