- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
Все математические, физические или инженерные объекты, для которых предусмотрено (используется) понятие «моделирование в форме изображения», должны быть, в конечном счете, описаны на языке доступных графических примитивов.
Опр. Оцифровка изображения – описание элементов изображения последовательностями целых чисел.
Пояснение: описание отдельной точки сводится к заданию двух чисел – координат, отрезок описывается двумя концевыми точками (четыре числа), ломанные линии (последовательность узловых точек) описываются n-парами чисел, дуги окружности (два числа - координаты центра, число – радиус и еще два числа - углы задающие сектор), дуги эллипса ( две координаты центра, два числа – полуоси, два числа - углы задающие сектор), фигуры (замкнутые границы задаются в форме ломанных или типизированных линий, плюс число – цвет внутренней закраски) и т.п.
Поскольку оцифровка изображения основана на координатном языке описания, то она всегда начинается с выбора той или иной базовой (декартовой, полярной и т.д.) системы координат. Тип базовой системы координат обычно предопределен физической (инженерной) постановкой задачи, т.е. задан.
Поскольку пиксельная структура экрана монитора использует свою (см. рис.1) декартовую систему координат, то процесс оцифровки обязательно завершается пересчетом базовых координат в экранные (пиксельные).
Формальное (математическое или числовое) описание прямоугольного фрагмента в плоскости «реального изображения» требует:
выбора базовой декартовой системы координат в этой плоскости (т.е. выбор точки центра (0,0) и направления осей!). (Xr, Yr) – размерные (физические) координаты,
указания в этой системе координат местоположения левой-Xmin и правой-Xmax, а также нижней-Ymin и верхней-Ymax границ выделяемого фрагмента – прямоугольника,
указания в экранной системе координат (точка центра и направление осей стандартные! Ось Y направлена вниз!) местоположение рабочего окна, которое принято задавать: координатами верхнего левого угла (Y0, Y0) и размерами прямоугольника-окна по ширине Lx и высоте Ly. Все эти характеристики (Y0, Y0, Lx, Lx ) задаются в пиксельных единицах!
Yr
Ymax
Xo Xэ
Yo
Ly
ya A(xa, ya) P(xp, yp)
Ymin yp
(o,o) Xmin xa Xmax Xr Lx
Yэ
Рис. Выделение на «плоскости Рис. Прямоугольный фрагмент
реального изображения» (окно) на экране монитора,
прямоугольного фрагмента, в котором строится изображе-
который будет спроецирован ние выделенного фрагмента
на экран монитора.
Для вычисления координат пикселя P(xp, yp), который соответствует точке реального изображения A(xa, ya) необходимо учитывать:
смещения выделенного фрагмента изображения ( Xmin ,Ymax ) и выделенного окна (Xo ,Yo ) относительно центров соответствующих систем координат,
разные размерности по разным осям базовой системы координат и одинаковые (пиксельные) единицы в экранной систем координат для обеих осей.
Соответствующие пересчетные формулы имеют вид:
xp=Xo+Kx(xa-Xmin), где Kx=Lx/(Xmax-Xmin) коэффициент обезразмеривания (приведения к пикселям) для базовых координат по оси Y,
yp=Yo+Ky(Ymax - ya), где Ky=Ly/(Ymax-Ymin) коэффициент обезразмеривания (приведения к пикселям) для базовых координат по оси Y.