Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование->Конспект
Излагаемый материал предусматривает три уровня сложности в соответствии с требованиями системы Ритм. Часть вопросов можно вынести на рассмотрение на п...полностью>>
Информатика, программирование->Книга
Решение любой инженерной задачи, основанной на законах и уравнениях физики, химии, биохимии, показывает, что наиболее сложной и трудоемкой частью явля...полностью>>
Информатика, программирование->Реферат
Широкое внедрение персональных ЭВМ в деятельность должностных лиц позволяет значительно повысить качество подготовки документов в их текстовой и графи...полностью>>
Информатика, программирование->Лабораторная работа
Змінні символьного типу забезпечують зберігання символів, які можуть бути відображені на відображаючих та друкуючих пристроях. Фактично, такі змінні м...полностью>>

Главная > Курсовая работа >Информатика, программирование

Сохрани ссылку в одной из сетей:

Министерство общего и профессионального

образования Российской Федерации

Южно-Уральский государственный университет

Кафедра ЭВМ

Пояснительная записка к курсовому проекту

по курсу "Компьютерная графика"

Руководитель

_______________ Ярош Е.С.

"___" ______________2001г

Автор работы:

студент группы ПС-357

____________Муратов И.И.

"___" _____________ 2010г

Челябинск

2010

СОДЕРЖАНИЕ

  1. Задание

  2. Анализ задания

  3. Руководство программиста

    1. Критические участки

    2. Особенности исполнения

    3. Текст программы

  4. Руководство пользователя

4.1 Системные требования.

5. Литература

1. Задание

Разработать программу, реализующую цветное движущееся изображение: фейерверк. В двух вариантах: для DOS и Win9x.

2. Анализ задания

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

3. Руководство программиста

    1. Особенности исполнения.

Для Win9x:

Программа при запуске устанавливает разрешение 800x600x16, создаёт экранный (первичный) и внеэкранный (вторичный) буфера (primary и back buffers), располагая их в видеопамяти. Все спрайты так же загружаются в видеопамять. Построение изображения путём копирования спрайтов во вторичный буфер, и генерация ландшафта в нём же. Затем функцией Flip() происходит обмен указателей на первичный и вторичный буфера синхронно с обратным ходом луча.

Для DOS:

При запуске устанавливается разрешение 640x350x8, работа ведётся с двумя видеостраницами, переключение происходит при обратном ходе луча.

3.2 Критические участки

При отсутствии сообщений вызываются две основных функции:

– MoveFrame();

– ShowFrame();

MoveFrame() – в этой функции происходит расчёт всех необходимых параметров.

ShowFrame() производит генерацию изображения и вывод его на экран.

    1. Текст программы

Т.к. текст программы занимает значительный объём, то имеет смысл привести только наиболее значимые участки:

Для Win9x:

Основной цикл WinMain:

...

while( msg.message != WM_QUIT )

{

if(PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ))

{

TranslateMessage( &msg );

DispatchMessage( &msg );

}

else if(g_bReady)

{

if(timeGetTime()-oldTime > g_time)

{

oldTime=timeGetTime();

MoveFrame();

ShowFrame(1);

}

}

}

...

Функция для расчёта взрывов:

VOID MoveSnow(SNOW *Snow)

{

Snow->x+=cos(Snow->tau)*Snow->speed;

Snow->y+=sin(Snow->tau)*Snow->speed;

Snow->y+=Snow->r/80;

Snow->r=sqrt((Snow->x-Snow->u)*(Snow->x-Snow->u)+(Snow->y-Snow->v)*(Snow->y-Snow->v));

Snow->t++;

Snow->type++;

if (Snow->type>Snow->change) {Snow->color=(int)(RandDouble*6); Snow->type=0;}

if (Snow->t>Snow->live)

{

Snow->death=true;//ChangeSnow(Snow);

CurN--;

}

}

Функция вывода на экран:

HRESULT ShowFrame(int k)

{

if( lpPrimary == NULL) return E_FAIL;

// Очистка буфера

DDBLTFX ddbltfx;

ddbltfx.dwSize = sizeof(ddbltfx);

ddbltfx.dwFillColor = 0x0000ff;

lpBack->Blt(NULL,NULL,NULL,DDBLT_COLORFILL | DDBLT_WAIT,&ddbltfx);

// Копирование фейерверков

int stp=1, x1, x2, y1, y2, a, b, u1, u2, v1, v2;

for (i=0; i

if (!Snow[i].death)

{

x1=Snow[i].x;

y1=Snow[i].y;

snowrect.left=((int)(Snow[i].r/Snow[i].live*4))*10;

snowrect.right=snowrect.left+10;

snowrect.top=Snow[i].color*10;

snowrect.bottom=snowrect.top+10;

lpBack->BltFast(x1, y1, lpSnow, &snowrect, DDBLTFAST_SRCCOLORKEY | DDBLTFAST_WAIT);

}

// Обмен буферов

lpPrimary->Flip( NULL, DDFLIP_WAIT );

return DD_OK;

}

Для DOS

...

// Переключение страниц

wait_direct();

setvisualpage(1-frame);

setactivepage(frame);

frame=1-frame;

wait_vertic(); // ждем обратный ход луча

...

// отрисовка

...

4. Руководство пользователя

Для Win9x

При запуске программа переходит в полноэкранный режим. По нажатию клавиши «пробел» и левой кнопки мыши вызывается пауза. Скорость регулируется клавишами  и . Выход из программы осуществляется по нажатию клавиши «ESC» или правой кнопки мыши.

Для DOS

Изменение скорости производится клавишами  и . По нажатию клавиши «пробел» вызывается пауза. Выход из программы осуществляется по нажатию клавиши «ESC».

4.1 Минимальные системные требования:

Для DOS:

  • процессор не ниже Intel 80286

  • видеоадаптер EGA c 512кб памяти

  • минимальный объем оперативной памяти 87 кБ

Для Win9x

  • процессор не ниже Pentium Celeron 400MHz

  • видеоадаптер SVGA c 4Mb памяти

  • MS Windows 9x

  • DirectX 6.0 или выше.

5. Литература

  1. Нейбауер А. Програмирование на С++/Перевод с англ. – СПб: Питер, 1995. – 168с.

  2. Шикин Е.В., Боресков А.В. Компьютерная графика. Динамика, реалистические изображения. – М.:Диалог – МИФИ, 1995.­-288с.


Похожие страницы:

  1. 451 градус по Фаренгейту

    Рассказ >> Литература и русский язык
    ... брандмейстера, украшенном изображением феникса, державший карты ... на них взлетают цветные фейерверки, пусть переливаются ... сознание, реализовалась его тайная ... склону, к темной движущейся массе воды. ... рассветом". В нашей программе... Грэнджер выключил телевизор. ...
  2. Культурология (19)

    Реферат >> Культура и искусство
    ... «Вызов и Ответ» — движущая пружина в развитии культуры: ... несомненно, реализуется через ... устраивать фейерверки, наряжать ... Другой подход — изображение действительности и попытка ... программ, в том числе и программу ... копии с цветных литографий, всевозможные ...
  3. Проблема мыслительной и игровой деятельности дошкольников с интеллектуальной недостаточностью

    Курсовая работа >> Педагогика
    ... другие). «В вопросе о движущих силах развития мышления советская ... которые реализуются (решаются ... карточки с цветным изображением предметов, действий ... Зарин А. П., Соколова Н. Д. Программа воспитания и обучения дошкольников с ... предметов. Фейерверк выдумки, ...
  4. Психологическая подготовка к рукопашному бою

    Книга >> Физкультура и спорт
    ... Сохранились наскальные изображения охоты на ... приблизительно не реализуются, приводит ... предположили, что программа развития физической ... , наполните его цветной жидкостью (сок, ... и даже красочный фейерверк) и некоторое время ... при столкновении движущихся тел. Цель ...
  5. Теория текста

    Реферат >> Иностранный язык
    ... Примерная программа курса ... пуговицами и цветными зелеными петлицами. ... увидеть фейерверк из ... , таблицами, символическими изображениями, формулами и т.п. ... и т.п.; 2) дипломатический, реализующийся в текстах коммюнике, ноты ... и действиям, движущимся в «туманном окне» ...

Хочу больше похожих работ...