Материалы сайта
Это интересно
Курсовой по машинной графике на тему "Фрактальные рельефы"
Описание и взаимодействие процедур и функций 1. Программа VOXEL procedure draw(xp,yp,dir:integer); эта процедура перерисовывает экран. Причем, наблюдатель находится в точке (xp,yp) и смотрит в напрвалении dir procedure plasma(x1,y1,x2,y2:word); это рекурсивная процедура, которая строит фрактал “плазма” в прямоугольнике с координатами (x1,y1,x2,y2). Процедура plasma вызывается только один раз - при первом запуске программы. В дальнейшем построенный фрактал просто хранится на диске(в файл записывается образ памяти длиной 64Кб, начиная с адреса A000:0000) и при старте программы просто считывается из файла. После первой прорисовки рельефа начинается цикл опроса клавиатуры, в ходе которого могут поменяться координаты наблюдателя а также направление его движения. Цикл останавливается после нажатия клавиши “Esc”. 2. Программа LANDSCAPE function mouseinstalled : boolean; assembler; эта функция проверяет наличие драйвера “мыши” в памяти function getmousex : word; assembler; эта функция получает х-координату положения “мыши” function getmousey : word; assembler; эта функция получает х-координату положения “мыши” function leftpressed : boolean; assembler; эта функция проверяет на нажатие левой кнопки “мыши” procedure mousesensetivity(x,y : word); assembler; эта процедура устанавливает чувствительность “мыши” procedure mousewindow(l,t,r,b : word); assembler; эта процедура задает окно для “мыши” procedure setvideo(m : word); assembler; эты процедура устанавливает m-видеорежим procedure putpixel(x,y : word; c : byte); assembler; эта процедура рисует точку с координатами (х,у) цвета с function getpixel(x,y : word) : byte; assembler; эта процедура возвращает цвет точки с координатами (х,у) procedure setpal(c,r,g,b : byte); assembler; эта процедура устанавливает значения компонент цвета (r,g,b) для цвета с procedure retrace; assembler; эта процедура ждет обратного хода луча CRT procedure initcolors; поцедура инициализации палитры procedure generatelandscape; эта процедура генерирует поверхность procedure displayscape; эта процедура выводит на экран сгенерированную процедурой generatelandscape поверхность.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15