Разработка программы, реализующей алгоритм, который использует z-буфер

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.04.2015
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

}

void vvod_A ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

perenos_kubik (-10,0,0);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_W ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

perenos_kubik (0,10,0);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_S ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

perenos_kubik (0,-10,0);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_Q ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

perenos_kubik (0,0,10);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_E ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

perenos_kubik (0,0,-10);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_O ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

fi=minus (fi);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_K ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

te=minus (te);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_N ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

ro=minus (ro);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_P ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

fi=plus (fi);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_L ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

te=plus (te);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_M ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

ro=plus (ro);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_R ()

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

rotate_vector_piramida (te);

if (model==1)

{

draw_kubik ();

setcolor (6);

draw_piramida ();

}

if (model==2)

z_buffer ();

if (model==3)

z_buffer2 ();

osi ();

knopki ();

}

void vvod_vector ()

{

clrscr ();

clearviewport ();

setbkcolor (0);

setcolor (5);

settextstyle (5,0,4);

int i = 0;

float x=0;

outtextxy (0,0,"Vvedite koordinaty 1 tochki vectora");

cout<< endl << endl << endl <<"x=";

cin >> x;

xvectw_piramida [i] =x;

cout<< endl <<"y=";

cin >> x;

yvectw_piramida [i] =x;

cout<< endl <<"z=";

cin >> x;

zvectw_piramida [i] =x;

i++;

outtextxy (0,100,"Vvedite koordinaty 2 tochki vectora");

cout<< endl << endl << endl <<"x=";

cin >> x;

xvectw_piramida [i] =x;

cout<< endl <<"y=";

cin >> x;

yvectw_piramida [i] =x;

cout<< endl <<"z=";

cin >> x;

zvectw_piramida [i] =x;

getchar ();

}

// ________________________________________________________

// -----------------------------------Glavnay funkciya-----------------------------

void main ()

{int g=EGA,gmode=EGAHI;

initgraph (&g,&gmode,"C: \\borlandc\\bgi");

fi = ( (atan (1) /45.0) *fi);

te = ( (atan (1) /45.0) *te);

al = ( (atan (1) /45.0) *30);

int pr = 0;

menu ();

m: menu1 ();

switch (getch ())

{

case '1': vvod (); pr=1; goto m;

case '2': pr++; menucamera (); goto m;

case '3': pr++; vvod_vector (); goto m;

case '4': pr++; selectmodel (); goto m;

case '5': if (pr! =4)

{

clearviewport ();

setbkcolor (0);

setcolor (5);

settextstyle (10,0,1);

outtextxy (100,150,"Dlya na4ala sleduet vvesti dannye!");

getch ();

goto m;

}

clearviewport ();

setbkcolor (0);

init_kubik ();

init_piramida ();

setcolor (0);

x1=150; y1=150;

if (model==1)

{

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (WHITE);

draw_kubik ();

setcolor (6);

draw_piramida ();

osi ();

knopki ();

m2: switch (getch ())

{

case 'd': vvod_D (); goto m2;

case 'a': vvod_A (); goto m2;

case 'w': vvod_W (); goto m2;

case 's': vvod_S (); goto m2;

case 'q': vvod_Q (); goto m2;

case 'e': vvod_E (); goto m2;

case 'r': vvod_R (); goto m2;

case 'o': vvod_O (); goto m2;

case 'p': vvod_P (); goto m2;

case 'k': vvod_K (); goto m2;

case 'l': vvod_L (); goto m2;

case 'n': vvod_N (); goto m2;

case 'm': vvod_M (); goto m2;

case 27: goto m;

}

getch ();

}

if (model==2)

{

x1=35; y1=35;

clearviewport ();

setbkcolor (0);

ramka ();

vyvod_dannyh ();

setcolor (5);

osi ();

knopki ();

z_buffer ();

m3: switch (getch ())

{

case 'd': vvod_D (); goto m3;

case 'a': vvod_A (); goto m3;

case 'w': vvod_W (); goto m3;

case 's': vvod_S (); goto m3;

case 'q': vvod_Q (); goto m3;

case 'e': vvod_E (); goto m3;

case 'r': vvod_R (); goto m3;

case 'o': vvod_O (); goto m3;

case 'p': vvod_P (); goto m3;

case 'k': vvod_K (); goto m3;

case 'l': vvod_L (); goto m3;

case 'n': vvod_N (); goto m3;

case 'm': vvod_M (); goto m3;

case 27: goto m;

}

}

if (model==3)

{

x1=35; y1=35;

clearviewport ();

ramka ();

vyvod_dannyh ();

setbkcolor (0);

setcolor (WHITE);

z_buffer2 ();

osi ();

knopki ();

m4: switch (getch ())

{

case 'd': vvod_D (); goto m4;

case 'a': vvod_A (); goto m4;

case 'w': vvod_W (); goto m4;

case 's': vvod_S (); goto m4;

case 'q': vvod_Q (); goto m4;

case 'e': vvod_E (); goto m4;

case 'r': vvod_R (); goto m4;

case 'o': vvod_O (); goto m4;

case 'p': vvod_P (); goto m4;

case 'k': vvod_K (); goto m4;

case 'l': vvod_L (); goto m4;

case 'n': vvod_N (); goto m4;

case 'm': vvod_M (); goto m4;

case 27: goto m;

}

getch ();

}

getch ();

goto m;

case 27: exit (0);

default: goto m;

}

getch ();

}

Приложение 2

Графические результаты работы программы.

Размещено на Allbest.ru


Подобные документы

  • Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).

    курсовая работа [901,8 K], добавлен 11.02.2014

  • Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.

    курсовая работа [1,5 M], добавлен 17.03.2014

  • Разработка алгоритма решения задачи численного интегрирования методом трапеции. Словесное описание и блок-схема разработанного алгоритма программы. Описание интерфейса, главного окна и основных форм программы. Проверка работоспособности программы.

    курсовая работа [1,4 M], добавлен 16.03.2012

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

    курсовая работа [2,1 M], добавлен 21.01.2014

  • Сущность понятия "код блюда". Алгоритмы обучения и использования программы. Логика работы программы. Общий интерфейс программы. Последовательность обучения программе Lota+. Интерфейс программы в момент выбора параметров и получения общего результата.

    курсовая работа [563,6 K], добавлен 01.12.2009

  • Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.

    курсовая работа [506,5 K], добавлен 21.02.2011

  • Написание программы, реализующей алгоритм RLE, позволяющий кодировать, декодировать файлы любого формата и размера, предоставлять пользователю информацию о степени их сжатия. Анализ эффективности кода. Экспериментальная оценка алгоритма программы.

    контрольная работа [151,7 K], добавлен 29.05.2013

  • Особенность разработки алгоритмов для базы данных "Поэты". Анализ реализации анимации с помощью многофункциональной кроссплатформенной библиотеки SFML. Характеристика схемы алгоритма работы меню. Осуществление запуска программы через VisualStudio.

    курсовая работа [4,4 M], добавлен 10.05.2019

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Преобразование матрицы по заданным правилам. Методика работы с массивами, основанная на классических алгоритмах. Разработка и описание блок-схемы алгоритма. Листинг программы, экраны работы и отладки программы. Инструкция для пользователей программы.

    контрольная работа [338,4 K], добавлен 29.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.