Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Лекция 11

NEXT I

PRINT

NEXT J

NEXT I

PRINT

NEXT J

NEXT I

PRINT

NEXT J

NEXT I

NEXT J

NEXT I

NEXT J

Этот способ малоэффективен из-за больших временных затрат на занесение. Если задана матрица 14*18, то необходимо вводить с клавиатуры 252 значения. Если не указаны значения элементов матрицы, то лучше использовать датчик случайных чисел RND, а если элементы целые, то в совокупности с функцией INT.

 

Задание значений матрицы с помощью генератора случайных чисел

FOR I=1 TO M

FOR J=1 TO N

A(I,J) = INT(RND(1)*100-50)

Функция RND (1) формирует случайные значения в диапазоне от 0 до 1. Т.е. полученное число может быть в диапазоне 0,0000......1 до 0,9999........9. Умножая на 100 и вычитая 50, мы сможем получить помимо положительных значений и отрицательные. Функция INT возьмет только целые части сформированных элементов. Таким образом, мы получим целочисленную матрицу с элементами в диапазоне от –50 до 50. На данном этапе удобно сразу после формирования выводить элемент матрицы на экран оператором PRINT. Тогда цикл, формирующий матрицу, будет следующим:

FOR I=1 TO M

FOR J=1 TO N

A(I,J) = INT(RND(1)*100-50)

PRINT A (I,J);

“;” – осуществляет вывод следующей переменной матрицы непосредственно за предыдущей. Оператор PRINT после оператора NEXT J служит для перевода курсора на новую строку, что бы матрица имела удобный математический вид.

Ш этап Выполнение задания по обработке матрицы. Здесь происходит выполнение задания определенного в условии задачи. Основным здесь является то, что обработка матрицы и выполнение задания происходит в двух циклах так же как и при формировании элементов матрицы.

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

FOR I=1 TO M

FOR J=1 TO N

PRINT B (I, J);

Здесь так же используется “;” и пустой оператор PRINT для придания матрице «математического» вида. Если в задании указан формат выводимого числа, например «###.##», то, тогда необходимо использовать оператор PRINT USING.

Пример:

FOR I=1 TO M

FOR J=1 TO N

PRINT USING “###.##”;B (I,J);

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

Видеосистема PC обычно ориентирована на растровый метод вывода изображения, когда изображение формируется построчно по всему полю изображения. Например, в случае видеомонитора на основе электронно-лучевой трубки (ЭЛТ), три луча базисных цветов построчно сканируют экран, вызывая свечение соответствующих точек люминофора, нанесенных на внутреннюю поверхность экрана. Каждая строка состоит из некоторого количества точек – пикселов. Пиксел цветного монитора состоит из трех точек базовых цветов, засветкой каждой из которых может управлять устройство, формирующее изображение (например, графическая карта)(см.рис. 16).

Рис.16 Схема устройства ЭЛТ

 

Рис.17 Пиксельные триады на экране ЭЛТ

 

Базисные цвета (RGB) - красный, зеленый, синий. Остальные цвета – смеси базисных цветов. Их количество зависит от технических возможностей видеосистемы компьютера, определяемых его видеокартой и монитором.

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

Альтернатива растровым устройствам - векторные устройства вывода изображений. В этих устройствах прорисовывают только изображаемые фигуры.

При этом изображение состоит из графических примитивов, которыми могут быть отрезки прямых - векторы (откуда и название метода вывода), дуги, окружности. К векторным устройствам вывода статических изображений относятся, например, перьевые плоттеры.

Существует два основных режима вывода информации - текстовый (символьный) и графический. Исторически первые видеосистемы ПК работали в текстовом режиме.

Текстовый режим

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

По умолчанию текстовый режим имеет 25 строк (доступны 24) и 80 символов в строке – 80х25. Оператором WIDTH можно установить любой тестовый режим, доступный вашему видеоадаптеру.

Синтаксис:

WIDTH < колонки >, < ряды >

где

< колонки> число символов в строке – 40 или 80,

<ряды> число строк на экране – 25, 43, 50 или 60 (для VGA -адаптера).

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

Об операторе управления положением курсора LOCATE было сказано выше.

LOCATE < строка >[,[< колонка >],[< курсор >]]

<строка> - может иметь целые значения от1 до 24,

< колонка> - в зависимости от установленного режима экрана может иметь целые значения от 1 до 80,

< курсор> - значения: 1 - курсор виден или 0 - курсор невиден.

Цветом в текстовом режиме можно управлять оператором COLOR.

Синтаксис:

COLOR < символ >, < фон >

Где

< символ> – целое значение от 0 до 31, определяющее цвет символа,

< фон> - целое значение от 0 до 15, определяющее цвет фона.

Номера цветов

0 Черный 8 Серый

1 Синий 9 Ярко синий

2 Зелен 10 Ярко зеленый

3 Голубой 11 Ярко голубой

4 Красный 12 Ярко красный

5 Пурпурный 13 Розовый

6 Коричневый 14 Ярко желтый

7 Белый 15 Ярко белый

Графический режим

В графическом режиме имеется возможность индивидуального управления свечением каждой точки экрана монитора. В графическом режиме каждой точке экрана - пикселю - соответствует ячейка специальной памяти, которая сканируется схемами адаптера синхронно с движением луча монитора. Эта память называется видеопамятью (Video RAM). Постоянного сканирования видеопамяти требует регенерация изображения. Частота регенерации изображения называется частотой кадра. Эта частота должна быть достаточно большой, чтобы не позволять глазу видеть мерцание изображения.

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

Количество бит видеопамяти, отводимое на каждый пиксел, определяет возможное число состояний пикселя - цветов, градаций яркости или иных атрибутов (например, мерцание). Так при одном бите на пиксель возможно лишь два состояния - светится или не светится. Два бита на пиксель позволяли иметь одновременно четыре цвета на экране (адаптеры CGA). Четыре бита на пиксель обеспечивают16 цветов на экране (адаптеры EGA). Этого достаточно для многих графических приложений, например, в САПР ах. При 256 цветах (8 бит на пиксель, адаптер VGA) - цветная фотография розы на экране монитора кажется великолепной. Сейчас обычно применяются режимы High Color (16 бит - 65536 цветов) и True Color - (24 бит - 16.7 млн. цветов), реализуемых адаптерами SVGA.

В OC WINDOWS в меню «Свойства рабочего стола» -«настройка» обычно автоматически дается максимальное количество цветов, которое поддерживается видеосистемой.

Логически видеопамять организована так, чтобы отображать матрицу пикселов экрана на биты видеопамяти - Bit Mapping. Объем видеопамяти (в битах), требуемый для хранения образа экрана, определяется как произведение количества пикселов в строке на количество строк и на количество бит на пиксел. Так для режима 800 x 600 x 256 цветов требуется 480000 бит или около 469 Кб, а для режима True Color - 1.4 Мб.

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

Формирование битовой карты изображения в видеопамяти графического адаптера производится под управлением программы, исполняемой центральным процессором. Эта задача процессору вполне по силам, но при ее решении требуется пересылка большого объема информации в видеопамять, а для многих построений еще и чтение видеопамяти со стороны процессора. Такая ситуация представляет собой узкое горлышко,. При выводе статической картинки этот объем невелик, но "оживить" изображение оказывается проблематично.

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

Выходов имеется несколько. Во-первых, повышают быстродействие видеопамяти. Во-вторых, расширяют разрядность шин графического адаптера (применяют AGP). И наконец, принципиально повысили производительность графического адаптера, когда наделили его собственным процессором. Этот процессор способен формировать растровое изображение в видеопамяти (bit-map) по командам центрального процессора, ориентированным на методы описания изображений графическими элементами более высокого уровня, чем пиксели - отрезков прямой, прямоугольников, дуг, эллипсов. Процессор видеоадаптера способен выполнить эти операции, а также весьма трудоемкие операции заливки замкнутого контура, копирования блока с одного места на экране на другое, не выходя с этим потоком данных на внешнюю магистраль.

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

Для работы программы BASIC в графическом режиме необходимо перейти в нужный графический режим применив оператор SCREEN. Этот оператор устанавливает режим и некоторые другие характеристики экрана (вкл. цвет, стр памяти)

Синтаксис:

SCREEN < режим >,

где < режим> - номер графического режима (целое число).

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

<== предыдущая лекция | следующая лекция ==>
DIM a(n, m) | Построение графиков математических функций
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 819; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.