Объявления функций (прототипы)
Обычно определения всех пользовательских функций располагаются после определения main. При этом используются объявления функций (прототипы).
Объявления функций расположены в начале файла. Прототип функции говорит компилятору, что данную функцию можно вызывать, а её определение будет позже (или находится в другом файле).
Объявление функции может находиться в любом месте программы (за пределами определений функций программы или в любом определении), главное, чтобы оно появилось до первого вызова функции.
Передача в функцию одномерного массива
массив в подпрограмму всегда передаётся по адресу, поэтому достаточно при вызове функции указать адрес начала массива или адрес того элемента, начиная с которого предполагается обрабатывать массив.
Локальные и глобальные переменные. Передача параметров по значению и по ссылке.
Переменные можно объявлять в разных местах, и от этого зависит, откуда к ним можно будет обратиться. Если объявить переменную глобально, то есть вне функций, она будет доступна любой функции, как вне ее, так и внутри. При локальном объявлении (внутри функции) переменная будет видна только в пределах этой функции.
Если объявлены глобальная и локальная переменные с одним именем, то внутри функции будет использоваться локальная. Для доступа к глобальной следует перед ее именем поставить символ :: (два двоеточия).
В функцию параметры могут передаваться как по значению, так и по ссылке.
При передаче параметров по значению они при выходе из функции не изменятся.
При передаче же параметров по ссылке при ввыходе из функции их значения могут измениться.
Объявление функции. Передача имен функций и указателей через список аргументов.
Обычно определения всех пользовательских функций располагаются после определения main. При этом используются объявления функций (прототипы).
Объявления функций расположены в начале файла. Прототип функции говорит компилятору, что данную функцию можно вызывать, а её определение будет позже (или находится в другом файле).
Объявление функции может находиться в любом месте программы (за пределами определений функций программы или в любом определении), главное, чтобы оно появилось до первого вызова функции. Если вы не используете объявления, то до первого вызова функции должно стоять определение, которое также может располагаться в любом месте программы.
Передача массива в качестве параметра.
массив в подпрограмму всегда передаётся по адресу, поэтому достаточно при вызове функции указать адрес начала массива или адрес того элемента, начиная с которого предполагается обрабатывать массив.
Итак, массив в функцию должен передаваться по адресу, и нам необходим в подпрограмме весь массив
Передача указателей на массивы через список аргументов.
Виды компьютерной графики. Растровая графика. Разрешение оригинала, экранного изображения, печатного изображения. Понятие линеатуры.
Компьютерная графика - это область информатики, занимающаяся проблемами получения различных изображений (рисунков, чертежей, мультипликации) на компьютере.
Виды компьютерной графики.
три вида компьютерной графики: растровая графика(применяют при разработке электронных (мулътимедийных ) и полиграфических изданий.), векторная графика(предназначены для создания иллюстраций и в меньшей степени для их обработки) и фрактальная графика(предназначены для автоматической генерации изображений путем математических расчетов). Они тличаются принципами формирования изображения при отображении на экране монитора или при печати на бумаге.
Разрешение — это степень детализации изображения, число пикселей (точек), отводимых на единицу площади.
следует различать:
разрешение оригинала(используется при вводе изображения в компьютер и измеряется в точках на дюйм);
разрешение экранного изображения (Размер пиксела варьируется в зависимости от выбранного экранного разрешения ,разрешения оригинала и масштаба отображения. )
разрешение печатного изображения.( Размер точки растрового изображения на твердой копии зависит от примененного метода и параметров растрирования оригинала.) При растрировании на оригинал накладывается сетка линий, ячейки которой образуют элемент растра. Частота сетки растра измеряется числом линий на дюйм и называется линиатурой
Методы растрирования. Растрирование с частотной, амплитудной, стохастической модуляцией. Связь между разрешением оригинала, частотой растра и градацией уровней тона.
Размер точки растра рассчитывается для каждого элемента и зависит от интенсивности тона в данной ячейке. Чем больше интенсивность, тем плотнее заполняется элемент растра. То есть, если в ячейку попал абсолютно черный цвет, размер точки растра совпадет с размером элемента растра. В этом случае говорят о 100% заполняемое. Для абсолютно белого цвета значение заполняемое составит 0%. На практике заполняемость элемента на отпечатке обычно составляет от 3 до 98%.
При этом все точки растра имеют одинаковую оптическую плотность, в идеале приближающуюся к абсолютно черному цвету. Иллюзия более темного тона создается за счет увеличения размеров точек и, как следствие, сокращения пробельного поля между ними при одинаковом расстоянии между центрами элементов растра
Такой метод называют растрированием с амплитудной модуляцией (AM).
Существует и метод растрирования с частотной модуляцией (ЧМ), когда интенсивность тона регулируется изменением расстояния между соседними точками одинакового размера.
Еще есть стохастическое растрированиие
В этом случае рассчитывается число точек, необходимое для отображения требуемой интенсивности тона в ячейке растра.
Между разрешением оригинала, частотой растра и градацией уровней существует
зависимость, описываемая формулой:
lpi = dpi/ sqrt(N-1)
где N — число градаций уровней тона (оттенков), dpi — разрешение устройства
вывода (отображения), Ipi — линиатура растра. Единица в формуле соответствует
абсолютно белому цвету, когда ячейка растра вообще не заполнена.
Математические основы векторной графики. Точка, прямая, отрезок, кривые второго и третьего порядка. Кривые Безье.
Если в растровой графике базовым элементом изображения является точка, то в
векторной графике — линия.
Точка. Этот объект на плоскости представляется двумя числами (х, у), указывающими его положение относительно начала координат.
Прямая линия. Ей соответствует уравнение у = kx + b. Указав параметры k и Ь,
всегда можно отобразить бесконечную прямую линию в известной системе коор-динат, то есть для задания прямой достаточно двух параметров.
Отрезок прямой. Он отличается тем, что требует для описания еще двух параметров — например, координат х1 и х2 начала и конца отрезка.
Кривая второго порядка. К этому классу кривых относятся параболы, гиперболы,
эллипсы, окружности, то есть все линии, уравнения которых содержат степени не
выше второй.
Кривая третьего порядка. Отличие этих кривых от кривых второго порядка состоит в возможном наличии точки перегиба.
Кривые Безье. Это особый, упрощенный вид кривых третьего порядка
Форматы графических данных. Понятие цвета. Способы описания цвета. Модели RGB, CMYK. Программные средства для работы с растровой, векторной графикой.
Форматы графических данных
В компьютерной графике применяют по меньшей мере три десятка форматов файлов для хранения изображений. Но лишь часть из них стала стандартом «де-факто»
и применяется в подавляющем большинстве программ.
TIFF Формат предназначен для хранения растровых
изображений высокого качества (расширение имени файла .TIF). Относится к числу
широко распространенных
PSD Собственный формат программы Adobe Photoshop
один из наиболее мощных по возможностям хранения растровой графической информации.
PCX. К настоящему времени устарел.
PhotoCD. Формат разработан фирмой Kodak для хранения цифровых растровых
изображений высокого качества
Windows Bitmap. Формат хранения растровых изображений в операционной системе Windows
JPEG Формат предназначен для хранения растровых изображений (расширение имени файла JPG).
GIF Стандартизирован в 1987 году как средство хранения сжатых изображений с фиксированным (256) количеством цветов. Получил популярность в Интернете благодаря высокой степени сжатия.
PNG Сравнительно новый (1995 год) формат хране-ния изображений, предназначенный для их публикации в Интернете, Маcсового распространения так и не получил.
WMF Формат хранения векторных изображений операцион-ной системы Windows
EPS Формат описания как векторных, так и растровых изображений
PDF Формат описания документов, разработанный фирмой Adobe
Понятие цвета
Цвет чрезвычайно важен в компьютерной графике как средство усиления зрительного впечатления и повышения информационной насыщенности изображения.
Ощущение цвета формируется человеческим мозгом в результате анализа светового потока. Считается, что цветовые рецепторы (колбочки) подразделяются на три группы,
каждая из которых воспринимает только единственный цвет — красный, зеленый
или синий.
Световой поток формируется излучениями, представляющими собой комбинацию
трех «чистых» спектральных цветов RGB — Red, Green,
Blue.
Физические характеристики светового потока определяются параметрами мощности, яркости и освещенности.
Способы описания цвета
В компьютерной графике применяют понятие цветового разрешения (другое назва-ние — глубина цвета). Оно определяет метод кодирования цветовой информации
для ее воспроизведения на экране монитора. Для отображения черно-белого изоб-ражения достаточно двух бит (белый и черный цвета). Восьмиразрядное кодиро-вание позволяет отобразить 256 градаций цветового тона. Два байта (16 бит) опре-деляют 65 536 оттенков (такой режим называют High Color). При 24-разрядном
способе кодирования возможно определить более 16,5 миллионов цветов (режим
называют True Color).
В соответствии с принципами формирования изображения аддитивным или суб-трактивным методами разработаны способы разделения цветового оттенка на
составляющие компоненты, называемые цветовыми моделями. В компьютерной
графике в основном применяют модели RGB и CMYK.
Цветовая модель RGB
Цветовая модель RGB является аддитивной, то есть любой цвет представляет собой
сочетание в различной пропорции трех основных цветов — красного (Red), зеле-ного (Green), синего (Blue). Она служит основой при создании и обработке компью-терной графики, предназначенной для электронного воспроизведения (на мони-торе, телевизоре).
Цветовая модель CMYK
Цветовая модель CMYK относится к субтрактивным, и ее используют при подго-товке публикаций к печати. Цветовыми компонентами CMY служат цвета, полу-ченные вычитанием основных из белого:
голубой (cyan) = белый - красный = зеленый + синий;
пурпурный (magenta) = белый - зеленый = красный + синий;
желтый (yellow) = белый - синий = красный + зеленый.
. Голубой, пурпурный и желтый цвета называются дополни-тельными, потому что они дополняют основные цвета до белого. Отсюда вытекает
и главная проблема цветовой модели CMY— наложение друг на друга дополнитель-ных цветов на практике не дает чистого черного цвета. Поэтому в цветовую модель
был включен компонент чистого черного цвета.
Программные средства создания растровых изображений
Среди программ, предназначенных для создания компьютерной двумерной живо-писи, самыми популярными считаются Painter компании Fractal Design, FreeHand
компании Macromedia и Fauve Matisse. Пакет Painter обладает достаточно широким
спектром средств рисования и работы с цветом. В частности, он моделирует различ-ные инструменты (кисти, карандаш, перо, уголь, аэрограф и др.), позволяет имити-ровать материалы (акварель, масло, тушь), а также добиться эффекта натуральной
среды.
Среди программ для создания изображений на платформе Macintosh стоит отме-тить пакет для редактирования растровой живописи и изображений PixelPaint Pro
компании Pixel Resources.
Среди программ компьютерной живописи для графических станций Silicon Graphics
(SGI) особое место занимает пакет StudioPaint3D компании Alias Wavefront, кото-рый позволяет рисовать различными инструментами («кистями») в режиме ре-ального времени прямо на трехмерных моделях.
Средства создания и обработки векторной графики
К программным средствам создания и обработки векторной графики относятся гра-фические редакторы (например: Adobe Illustrator, Macromedia Freehand, CorelDraw)
и векторизаторы (трассировщики) — специализированные пакеты преобразова-ния растровых изображений в векторные (например, Adobe StreamLine, CorelTrace).
Векторный редактор Adobe Illustrator является одним из общепризнанных лидеров среди программ этого класса. Его особое преимущество заключается в хорошо отлаженном взаимодействии с другими продуктами компании Adobe, прежде всего
с пакетами Photoshop, InDesign. Эти приложения выполнены в едином стиле и обра-зуют законченный пакет.
