
- •Министерство образования и науки Российской Федерации
- •Цель лекции
- •План лекции
- •1 Происхождение вычислительных машин
- •2 Изучение алгоритмов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Биты и их хранение
- •2 Оперативная память
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Устройства внешней памяти
- •3 Хранение и поиск файлов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление числовых значений
- •2 Хранение целых чисел
- •3 Хранение дробей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Представление текста
- •2 Представление изображений
- •Достоинства пиксельной графики
- •Недостатки пиксельной графики
- •Достоинства векторной графики
- •Недостатки векторной графики
- •3 Представление звука
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Сжатие изображений
- •2 Ошибки передачи данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Архитектура эвм
- •2 Связь процессора с другими устройствами
- •3 Другие архитектуры
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Машинный язык
- •2 Пример машинного языка
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Выполнение программы
- •2 Пример выполнения программы
- •3 Программы и данные
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Логические операции
- •2 Операции сдвига
- •3 Арифметические операции
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция операционных систем
- •2 Архитектура операционных систем
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие процесса
- •2 Управление процессами
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Классификация сетей
- •2 Сетевые протоколы*
- •3 Безопасность сетей
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Понятие алгоритма
- •2 Представление алгоритма
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Теория решения задач
- •2 Общие методы решения задач
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритм последовательного поиска
- •2 Управление циклами
- •3 Алгоритм сортировки методом вставки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Алгоритмы поиска и сортировки
- •2 Управление рекурсией
- •3 Разработка рекурсивных процедур
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эффективность алгоритмов
- •2 Верификация программ
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Эволюция и классификация языков программирования
- •2 Концепции традиционного программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Процедурные единицы
- •2 Реализация языка программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Объектно-ориентированное программирование
- •2 Декларативное программирование
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структуры данных
- •Integer Scores (2.9).
- •2 Статические и динамические структуры
- •3 Указатели
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Массивы
- •2 Списки
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Структура и функции стека
- •2 Реализация стека
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Очереди
- •2 Деревья
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Пользовательские типы данных
- •Int Age;
- •2 Классы
- •Int *StackEntries;
- •3 Стандартная библиотека шаблонов
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Роль операционной системы
- •2 Последовательные файлы
- •3 Вопросы программирования
- •0000000010000110
- •001100010011001100110100
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения индексации
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Основные положения хеширования
- •2 Вопросы программирования
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Общие вопросы
- •2 Система управления базой данных
- •3 Поддержка целостности баз данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Модели баз данных
- •2 Реляционная модель баз данных
- •3 Объектно-ориентированные базы данных
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Интеллект и машины
- •2 Распознавание образов
- •3 Мышление
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Искусственные нейронные сети
- •2 Генетические алгоритмы
- •Контрольные вопросы
- •Невычислимые функции Цель лекции
- •План лекции
- •1 Основы машины Тьюринга
- •2 Невычислимая функция
- •3 Сложность задач
- •Листинг 1. Процедура MergeLists для объединения двух упорядоченных списков
- •Листинг 2. Алгоритм сортировки слиянием, реализованный в процедуре MergeSort
- •Контрольные вопросы
- •Цель лекции
- •План лекции
- •1 Шифрование с открытым ключом
- •2 Модульная арифметика
- •Контрольные вопросы
- •Литература
- •Internet-ресурсы
Недостатки векторной графики
Отсутствие аппаратной реализуемости. В качестве существенного недостатка векторной графики стоит отметить, что она обладает достаточной сложностью и такими принципами, которые препятствуют автоматизации, и, соответственно, невозможностью (если выразиться мягко: по крайней мере, на данный исторический период, но мы думаем, что навсегда) создания устройств, подобных сканерам или цифровым аппаратам.
Этот недостаток формулируется как "отсутствие аппаратной реализуемости".
Замечание. В свое время обсуждались дигитайзеры — устройства, которые действительно создают векторные объекты, но специальная мышка, которая прилагается этому устройству, сама по План лекциишету не бегает, ею управляет обученный оператор. А это исключает автоматизацию.
Замечание. Кстати, существует возможность автоматически формировать векторные объекты, но это уже не аппаратная, а программная реализация из отсканированных изображений — трассировка пиксельных изображений.
Программная зависимость. В противоположность пиксельной графике векторную графику характеризует близкая к абсолютной программная зависимость. Каждая программа, каждый векторный редактор располагают собственным форматом (каким образом сохраняются координаты и каким образом по ним строятся векторные кривые, как учитываются параметры цвета и заливок и многие другие характеристики различных эффектов — эта информация не получает широкого распространения, во всяком случае не публикуется в справочниках форматов файлов). При этом переход между такими форматами или невозможен в принципе, или невозможен без существенных потерь (потери при конвертировании векторных форматов всегда существуют).
Важная мысль. Потери при конвертировании одного векторного формата в другой всегда существуют.
Поскольку, как сказано, у каждой программы свой формат, неизбежно так называемое отставание версий. В новых версиях всегда добавляются дополнительные параметры, которые, естественно, не могут учитывать конвертеры "соперников". Даже сами программы уже некоторые форматы устаревших версий не открывают.
В разных векторных программах существуют различные наборы функций, например одна программа поддерживает прозрачность, другая — нет, зато в другой программе применяется градиентная заливка обводок, а в остальных — нет. И перечень таких различий может занимать целые страницы. А коль скоро не стыкуются параметры и возможности, соответственно, нельзя изображение однозначно из одной векторной программы "перевести" в другую.
По этой причине в компьютерном сообществе имеют место бесконечные и порой бессмысленные споры о преимуществах той или иной программы у каждой из которых имеются свои достоинства и недостатки. Однако ситуация на рынке труда такова, что далеко не всегда востребуется лучшее. Поэтому заранее стоит себя настроить, чтобы не было резкой антипатии, предубеждения, неудовольствия, когда придется (по условиям работодателя) использовать самые разные векторные приложения.
Замечание. Иная ситуация с пиксельными редакторами: если вы привыкли работать с одной программой, то можно спокойно продолжать ее использовать. Результат, если не считать нюансов, будет практически идентичным.
Пример-метафора. Конвертирование векторных изображений из одной программы в другую можно сравнить с переводом с одного языка на другой. Когда мы говорим о простых вещах, т. е. обычные стандартные фразы, это можно почти дословно перевести на другой язык (существуют эквиваленты). А когда речь заходит о поэзии, о художественной прозе, перевод становится весьма приблизительным. Классический пример — пьеса "Гамлет" Шекспира на русском языке существует в переводах Пастернака, Лозинского и Щепкиной-Куперник. И это очень разные "Гамлеты"! Существует уникальная постановка пьесы, в которой используются фрагменты всех трех переводов (режиссер Роберт Стуруа).
Жесткость векторной графики. Разработчики векторных приложений прилагают массу усилий, чтобы внести в векторные изображения элементы реалистичности (прозрачность, градиенты, падающие тени и т. п.), однако, по сути, они являются чуждыми для этого направления графики.
Векторные контуры, векторные изображения, конечно, отличаются достаточно жесткой структурой («сухостью», «фанерностью»). Но в определенных областях дизайна (шрифты, торговые знаки, логотипы) такая жесткость является непременным требованием. Более того, точный, резкий и, как говорят художники, "звонкий" контур — непременное условие графического дизайна. Знак (с большой буквы!) не терпит приблизительности.
В данном случае отсутствие фотореалистичности нельзя считать каким-либо дефектом (тем более что попытки создать фотореалистические изображения делаются, например одна такая попытка стоила компании Corel огромных штрафов: речь идет об изображении на фирменной коробке версии 8). Но поскольку сравнение идет с программами пиксельной графики, то можно его признать относительным недостатком.
Взаимные преобразования пиксельной и векторной графики. Несмотря на столь противоположные качества, между векторными и пиксельными изображениями нет непроходимой пропасти.
Из способов взаимных преобразований наиболее очевидным является преобразование векторных изображений в пиксельные (процесс растеризации) и более сложным, требующим специальной подготовки, — преобразование пиксельных изображений в векторные (процесс трассировки).