Объектное программирование: задача вывода на экран изображение букв "МЕС"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 03.04.2013
Размер файла 14,2 K

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Региональный центр высшей школы

Пензенский филиал

Российского государственного университета

инновационных технологий и предпринимательства

Кафедра «Технический сервис»

КУРСОВАЯ РАБОТА

По дисциплине «Компьютерная графика»

Выполнил:

студент группы 11С1

Муравьева Е.С.

Руководитель: Трусов В.А.

2012

Задание на курсовой проект

Составить программу на языке Pascal с использованием графических процедур модуля GRAPH и аффинных преобразований графических объектов в пространстве.

Задан графический объект - буквы «МЕС» в пространстве.

Содержание

Описание решаемой задачи

Программа

Список используемой литературы

Описание решаемой задачи

В задании на курсовую работу требуется осуществить объектное программирование задачи вывода на экран изображение букв «М Е С ».

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

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

Программа

программа графический pascal масштабирование

program graphTest;

uses

graph,crt;

var

a,m:integer;

graphdriver, graphmode, grapherror:integer;

x1,y1:array[1..64] of integer;

x2,y2,z2: array [1..64] of real;

i:integer;

f:text;

cosb:real;

x,y,z:array[1..64] of integer;

gr_perm:array [1..12] of pointtype;

gr_zadm:array [1..12] of pointtype;

gr_pere:array [1..12] of pointtype;

gr_zade:array [1..12] of pointtype;

gr_perc:array [1..8] of pointtype;

gr_zadc:array [1..8] of pointtype;

gr_vlkvm, gr_vlnm,gr_vpnm,gr_vpkvm, gr_prm, gr_nkvm, gr_vnprm, gr_nprnm,

gr_nlnm, gr_vnlevm, gr_nlevkvm, gr_levm, gr_ve, gr_1kve, gr_2kve, gr_3kve,

gr_4kve, gr_5kve, gr_6kve,gr_7kve, gr_8kve, gr_9kve, gr_ne, gr_leve, gr_vc,

gr_1kvc, gr_2kvc, gr_3kvc, gr_4kvc, gr_5kvc, gr_nc

: array [1..4] of pointtype;

procedure xz(x1,y1,z1,x2,y2,z2,x3,y3,z3:real);

var A1,B1,C1,A2,B2,C2: real;

begin

A1:=y1*(z2*1-z3*1)-z1*(y2*1-y3*1)-1*(y2*z3-y3*z2);

B1:=z1*(x2*1-x3*1)-x1*(z2*1-z3*1)-1*(z2*x3-z3*x2);

C1:=x1*(y2*1-y3*1)-y1*(x2*1-x3*1)-1*(x2*y3-x3*y2);

A2:=sqrt(2);

B2:=1;

C2:=1;

cosb:=(A1*A2+B1*B2+C1*C2)/(sqrt(A1*A1+B1*B1+C1*C1)*sqrt(A2*A2+B2*B2+C2*C2));

end;

procedure grani;

begin

gr_perm[1].x:=x1[1];gr_perm[1].y:=y1[1];

gr_perm[2].x:=x1[2];gr_perm[2].y:=y1[2];

gr_perm[3].x:=x1[3];gr_perm[3].y:=y1[3];

gr_perm[4].x:=x1[4];gr_perm[4].y:=y1[4];

gr_perm[5].x:=x1[5];gr_perm[5].y:=y1[5];

gr_perm[6].x:=x1[6];gr_perm[6].y:=y1[6];

gr_perm[7].x:=x1[7];gr_perm[7].y:=y1[7];

gr_perm[8].x:=x1[8];gr_perm[8].y:=y1[8];

gr_perm[9].x:=x1[9];gr_perm[9].y:=y1[9];

gr_perm[10].x:=x1[10];gr_perm[10].y:=y1[10];

gr_perm[11].x:=x1[11];gr_perm[11].y:=y1[11];

gr_perm[12].x:=x1[12];gr_perm[12].y:=y1[12];

gr_zadm[1].x:=x1[33];gr_zadm[1].y:=y1[33];

gr_zadm[2].x:=x1[34];gr_zadm[2].y:=y1[34];

gr_zadm[3].x:=x1[35];gr_zadm[3].y:=y1[35];

gr_zadm[4].x:=x1[36];gr_zadm[4].y:=y1[36];

gr_zadm[5].x:=x1[37];gr_zadm[5].y:=y1[37];

gr_zadm[6].x:=x1[38];gr_zadm[6].y:=y1[38];

gr_zadm[7].x:=x1[39];gr_zadm[7].y:=y1[39];

gr_zadm[8].x:=x1[40];gr_zadm[8].y:=y1[40];

gr_zadm[9].x:=x1[41];gr_zadm[9].y:=y1[41];

gr_zadm[10].x:=x1[42];gr_zadm[10].y:=y1[42];

gr_zadm[11].x:=x1[43];gr_zadm[11].y:=y1[43];

gr_zadm[12].x:=x1[44];gr_zadm[12].y:=y1[44];

gr_pere[1].x:=x1[13]; gr_pere[1].y:=y1[13];

gr_pere[2].x:=x1[14]; gr_pere[2].y:=y1[14];

gr_pere[3].x:=x1[15]; gr_pere[3].y:=y1[15];

gr_pere[4].x:=x1[16]; gr_pere[4].y:=y1[16];

gr_pere[5].x:=x1[17]; gr_pere[5].y:=y1[17];

gr_pere[6].x:=x1[18]; gr_pere[6].y:=y1[18];

gr_pere[7].x:=x1[19]; gr_pere[7].y:=y1[19];

gr_pere[8].x:=x1[20]; gr_pere[8].y:=y1[20];

gr_pere[9].x:=x1[21]; gr_pere[9].y:=y1[21];

gr_pere[10].x:=x1[22]; gr_pere[10].y:=y1[22];

gr_pere[11].x:=x1[23]; gr_pere[11].y:=y1[23];

gr_pere[12].x:=x1[24]; gr_pere[12].y:=y1[24];

gr_zade[1].x:=x1[45];gr_zade[1].y:=y1[45];

gr_zade[2].x:=x1[46];gr_zade[2].y:=y1[46];

gr_zade[3].x:=x1[47];gr_zade[3].y:=y1[47];

gr_zade[4].x:=x1[48];gr_zade[4].y:=y1[48];

gr_zade[5].x:=x1[49];gr_zade[5].y:=y1[49];

gr_zade[6].x:=x1[50];gr_zade[6].y:=y1[50];

gr_zade[7].x:=x1[51];gr_zade[7].y:=y1[51];

gr_zade[8].x:=x1[52];gr_zade[8].y:=y1[52];

gr_zade[9].x:=x1[53];gr_zade[9].y:=y1[53];

gr_zade[10].x:=x1[54];gr_zade[10].y:=y1[54];

gr_zade[11].x:=x1[55];gr_zade[11].y:=y1[55];

gr_zade[12].x:=x1[56];gr_zade[12].y:=y1[56];

gr_perc[1].x:=x1[25]; gr_perc[1].y:=y1[25];

gr_perc[2].x:=x1[26]; gr_perc[2].y:=y1[26];

gr_perc[3].x:=x1[27]; gr_perc[3].y:=y1[27];

gr_perc[4].x:=x1[28]; gr_perc[4].y:=y1[28];

gr_perc[5].x:=x1[29]; gr_perc[5].y:=y1[29];

gr_perc[6].x:=x1[30]; gr_perc[6].y:=y1[30];

gr_perc[7].x:=x1[31]; gr_perc[7].y:=y1[31];

gr_perc[8].x:=x1[32]; gr_perc[8].y:=y1[32];

gr_zadc[1].x:=x1[57];gr_zadc[1].y:=y1[57];

gr_zadc[2].x:=x1[58];gr_zadc[2].y:=y1[58];

gr_zadc[3].x:=x1[59];gr_zadc[3].y:=y1[59];

gr_zadc[4].x:=x1[60];gr_zadc[4].y:=y1[60];

gr_zadc[5].x:=x1[61];gr_zadc[5].y:=y1[61];

gr_zadc[6].x:=x1[62];gr_zadc[6].y:=y1[62];

gr_zadc[7].x:=x1[63];gr_zadc[7].y:=y1[63];

gr_zadc[8].x:=x1[64];gr_zadc[8].y:=y1[64];

gr_vlkvm[1].x:=x1[1]; gr_vlkvm[1].y:=y1[1];

gr_vlkvm[2].x:=x1[2]; gr_vlkvm[2].y:=y1[2];

gr_vlkvm[3].x:=x1[34]; gr_vlkvm[3].y:=y1[34];

gr_vlkvm[4].x:=x1[33]; gr_vlkvm[4].y:=y1[33];

gr_vlnm[1].x:=x1[2];gr_vlnm[1].y:=y1[2];

gr_vlnm[2].x:=x1[3];gr_vlnm[2].y:=y1[3];

gr_vlnm[3].x:=x1[35];gr_vlnm[3].y:=y1[35];

gr_vlnm[4].x:=x1[34];gr_vlnm[4].y:=y1[34];

gr_vpnm[1].x:=x1[3]; gr_vpnm[1].y:=y1[3];

gr_vpnm[2].x:=x1[4]; gr_vpnm[2].y:=y1[4];

gr_vpnm[3].x:=x1[36]; gr_vpnm[3].y:=y1[36];

gr_vpnm[4].x:=x1[35]; gr_vpnm[4].y:=y1[35];

gr_vpkvm[1].x:=x1[4]; gr_vpkvm[1].y:=y1[4];

gr_vpkvm[2].x:=x1[5]; gr_vpkvm[2].y:=y1[5];

gr_vpkvm[3].x:=x1[37]; gr_vpkvm[3].y:=y1[37];

gr_vpkvm[4].x:=x1[36]; gr_vpkvm[4].y:=y1[36];

gr_prm[1].x:=x1[5]; gr_prm[1].y:=y1[5];

gr_prm[2].x:=x1[6]; gr_prm[2].y:=y1[6];

gr_prm[3].x:=x1[38]; gr_prm[3].y:=y1[38];

gr_prm[4].x:=x1[37]; gr_prm[4].y:=y1[37];

gr_nkvm[1].x:=x1[6]; gr_nkvm[1].y:=y1[6];

gr_nkvm[2].x:=x1[7]; gr_nkvm[2].y:=y1[7];

gr_nkvm[3].x:=x1[39]; gr_nkvm[3].y:=y1[39];

gr_nkvm[4].x:=x1[38]; gr_nkvm[4].y:=y1[38];

gr_vnprm[1].x:=x1[7]; gr_vnprm[1].y:=y1[7];

gr_vnprm[2].x:=x1[8]; gr_vnprm[2].y:=y1[8];

gr_vnprm[3].x:=x1[40]; gr_vnprm[3].y:=y1[40];

gr_vnprm[4].x:=x1[39]; gr_vnprm[4].y:=y1[39];

gr_nprnm[1].x:=x1[8]; gr_nprnm[1].y:=y1[8];

gr_nprnm[2].x:=x1[9]; gr_nprnm[2].y:=y1[9];

gr_nprnm[3].x:=x1[41]; gr_nprnm[3].y:=y1[41];

gr_nprnm[4].x:=x1[40]; gr_nprnm[4].y:=y1[40];

gr_nlnm[1].x:=x1[9]; gr_nlnm[1].y:=y1[9];

gr_nlnm[2].x:=x1[10]; gr_nlnm[2].y:=y1[10];

gr_nlnm[3].x:=x1[42]; gr_nlnm[3].y:=y1[42];

gr_nlnm[4].x:=x1[41]; gr_nlnm[4].y:=y1[41];

gr_vnlevm[1].x:=x1[10]; gr_vnlevm[1].y:=y1[10];

gr_vnlevm[2].x:=x1[11]; gr_vnlevm[2].y:=y1[11];

gr_vnlevm[3].x:=x1[43]; gr_vnlevm[3].y:=y1[43];

gr_vnlevm[4].x:=x1[42]; gr_vnlevm[4].y:=y1[42];

gr_nlevkvm[1].x:=x1[11]; gr_nlevkvm[1].y:=y1[11];

gr_nlevkvm[2].x:=x1[12]; gr_nlevkvm[2].y:=y1[12];

gr_nlevkvm[3].x:=x1[44]; gr_nlevkvm[3].y:=y1[44];

gr_nlevkvm[4].x:=x1[43]; gr_nlevkvm[4].y:=y1[43];

gr_levm[1].x:=x1[1]; gr_levm[1].y:=y1[1];

gr_levm[2].x:=x1[12]; gr_levm[2].y:=y1[12];

gr_levm[3].x:=x1[44]; gr_levm[3].y:=y1[44];

gr_levm[4].x:=x1[33]; gr_levm[4].y:=y1[33];

gr_ve[1].x:=x1[13]; gr_ve[1].y:=y1[13];

gr_ve[2].x:=x1[14]; gr_ve[2].y:=y1[14];

gr_ve[3].x:=x1[46]; gr_ve[3].y:=y1[46];

gr_ve[4].x:=x1[45]; gr_ve[4].y:=y1[45];

gr_1kve[1].x:=x1[14]; gr_1kve[1].y:=y1[14];

gr_1kve[2].x:=x1[15]; gr_1kve[2].y:=y1[15];

gr_1kve[3].x:=x1[47]; gr_1kve[3].y:=y1[47];

gr_1kve[4].x:=x1[46]; gr_1kve[4].y:=y1[46];

gr_2kve[1].x:=x1[15]; gr_2kve[1].y:=y1[15];

gr_2kve[2].x:=x1[16]; gr_2kve[2].y:=y1[16];

gr_2kve[3].x:=x1[48]; gr_2kve[3].y:=y1[48];

gr_2kve[4].x:=x1[47]; gr_2kve[4].y:=y1[47];

gr_3kve[1].x:=x1[16]; gr_3kve[1].y:=y1[16];

gr_3kve[2].x:=x1[17]; gr_3kve[2].y:=y1[17];

gr_3kve[3].x:=x1[49]; gr_3kve[3].y:=y1[49];

gr_3kve[4].x:=x1[48]; gr_3kve[4].y:=y1[48];

gr_4kve[1].x:=x1[17]; gr_4kve[1]. y:=y1[17];

gr_4kve[2].x:=x1[18]; gr_4kve[2]. y:=y1[18];

gr_4kve[3].x:=x1[50]; gr_4kve[3]. y:=y1[50];

gr_4kve[4].x:=x1[49]; gr_4kve[4]. y:=y1[49];

gr_5kve[1].x:=x1[18]; gr_5kve[1].y:=y1[18];

gr_5kve[2].x:=x1[19]; gr_5kve[2].y:=y1[19];

gr_5kve[3].x:=x1[51]; gr_5kve[3].y:=y1[51];

gr_5kve[4].x:=x1[50]; gr_5kve[4].y:=y1[50];

gr_6kve[1].x:=x1[19]; gr_6kve[1].y:=y1[19];

gr_6kve[2].x:=x1[20]; gr_6kve[2].y:=y1[20];

gr_6kve[3].x:=x1[52]; gr_6kve[3].y:=y1[52];

gr_6kve[4].x:=x1[51]; gr_6kve[4].y:=y1[51];

gr_7kve[1].x:=x1[20]; gr_7kve[1].y:=y1[20];

gr_7kve[2].x:=x1[21]; gr_7kve[2].y:=y1[21];

gr_7kve[3].x:=x1[53]; gr_7kve[3].y:=y1[53];

gr_7kve[4].x:=x1[52]; gr_7kve[4].y:=y1[52];

gr_8kve[1].x:=x1[21]; gr_8kve[1].y:=y1[21];

gr_8kve[2].x:=x1[22]; gr_8kve[2].y:=y1[22];

gr_8kve[3].x:=x1[54]; gr_8kve[3].y:=y1[54];

gr_8kve[4].x:=x1[53]; gr_8kve[4].y:=y1[53];

gr_9kve[1].x:=x1[22]; gr_9kve[1].y:=y1[22];

gr_9kve[2].x:=x1[23]; gr_9kve[2].y:=y1[23];

gr_9kve[3].x:=x1[55]; gr_9kve[3].y:=y1[55];

gr_9kve[4].x:=x1[54]; gr_9kve[4].y:=y1[54];

gr_ne[1].x:=x1[23]; gr_ne[1].y:=y1[23];

gr_ne[2].x:=x1[24]; gr_ne[2].y:=y1[24];

gr_ne[3].x:=x1[56]; gr_ne[3].y:=y1[56];

gr_ne[4].x:=x1[55]; gr_ne[4].y:=y1[55];

gr_leve[1].x:=x1[24];gr_leve[1].y:=y1[24];

gr_leve[2].x:=x1[13];gr_leve[2].y:=y1[13];

gr_leve[3].x:=x1[45];gr_leve[3].y:=y1[45];

gr_leve[4].x:=x1[56];gr_leve[4].y:=y1[56];

gr_vc[1].x:=x1[25]; gr_vc[1].y:=y1[25];

gr_vc[2].x:=x1[26]; gr_vc[2].y:=y1[26];

gr_vc[3].x:=x1[58]; gr_vc[3].y:=y1[58];

gr_vc[4].x:=x1[57]; gr_vc[4].y:=y1[57];

gr_1kvc[1].x:=x1[26]; gr_1kvc[1].y:=y1[26];

gr_1kvc[2].x:=x1[27]; gr_1kvc[2].y:=y1[27];

gr_1kvc[3].x:=x1[59]; gr_1kvc[3].y:=y1[59];

gr_1kvc[4].x:=x1[58]; gr_1kvc[4].y:=y1[58];

gr_2kvc[1].x:=x1[27]; gr_2kvc[1].y:=y1[27];

gr_2kvc[2].x:=x1[28]; gr_2kvc[2].y:=y1[28];

gr_2kvc[3].x:=x1[60]; gr_2kvc[3].y:=y1[60];

gr_2kvc[4].x:=x1[59]; gr_2kvc[4].y:=y1[59];

gr_3kvc[1].x:=x1[28]; gr_3kvc[1].y:=y1[28];

gr_3kvc[2].x:=x1[29]; gr_3kvc[2].y:=y1[29];

gr_3kvc[3].x:=x1[61]; gr_3kvc[3].y:=y1[61];

gr_3kvc[4].x:=x1[60]; gr_3kvc[4].y:=y1[60];

gr_4kvc[1].x:=x1[29]; gr_4kvc[1].y:=y1[29];

gr_4kvc[2].x:=x1[30]; gr_4kvc[2].y:=y1[30];

gr_4kvc[3].x:=x1[62]; gr_4kvc[3].y:=y1[62];

gr_4kvc[4].x:=x1[61]; gr_4kvc[4].y:=y1[61];

gr_5kvc[1].x:=x1[30]; gr_5kvc[1].y:=y1[30];

gr_5kvc[2].x:=x1[31]; gr_5kvc[2].y:=y1[31];

gr_5kvc[3].x:=x1[63]; gr_5kvc[3].y:=y1[63];

gr_5kvc[4].x:=x1[62]; gr_5kvc[4].y:=y1[62];

gr_nc[1].x:=x1[31]; gr_nc[1].y:=y1[31];

gr_nc[2].x:=x1[32]; gr_nc[2].y:=y1[32];

gr_nc[3].x:=x1[64]; gr_nc[3].y:=y1[64];

gr_nc[4].x:=x1[63]; gr_nc[4].y:=y1[63];

end;

procedure kabproekc;

begin

for i:=1 to 64 do

begin

x1[i]:=round(-x2[i]*cos(pi/4)+y2[i]*1+z2[i]*0+0);

y1[i]:=round(x2[i]*sin(pi/4)+y2[i]*0+z2[i]*1+0);

end;

end;

procedure risisx;

begin

setcolor(5);

line(x[1],y[1],x[12],y[12]);

for i:=1 to 10 do

line(x[i],y[i],x[i+1],y[i+1]);

line(x[12],y[12],x[15],y[15]);

for i:=12 to 14 do

line(x[i],y[i],x[i+1],y[i+1]);

line(x[19],y[19],x[16],y[16]);

for i:=16 to 18 do

line(x[i],y[i],x[i+1],y[i+1]);

line(x[31],y[31],x[20],y[20_]);

for i:=20 to 30 do

line(x[i],y[i],x[i+1],y[i+1]);

end;

procedure povorotox;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i];

y2[i]:=x[i]*0+y[i]*cos(a*pi/180)+z[i]*sin(a*pi/180);

z2[i]:=x[i]*0-y[i]*sin(a*pi/180)+z[i]*cos(a*pi/180);

end;

end;

procedure povorotoy;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i]*cos(a*pi/180)+y[i]*0-z[i]*sin(a*pi/180);

y2[i]:=x[i]*0+y[i]*1+z[i]*0;

z2[i]:=x[i]*sin(a*pi/180)+y[i]*0+z[i]*cos(a*pi/180);

end;

end;

procedure povorotoz;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i]*cos(a*pi/180)+y[i]*sin(a*pi/180)+z[i]*0;

y2[i]:=-x[i]*sin(a*pi/180)+y[i]*cos(a*pi/180)+z[i]*0;

z2[i]:=x[i]*0+y[i]*0+z[i]*1;

end;

end;

procedure masshtab;

begin

for i:=1 to 64 do

begin {

if y[i]<320 then

y2[i]:=y[i]+a*0.5

else

y2[i]:=y[i]-a*0.5;

if z[i]<240 then

z2[i]:=z[i]+a*0.5

else

z2[i]:=z[i]-a*0.5;

if x[i]<15 then x2[i]:=x[i]+a*0.5 else

x2[i]:=x[i]+a*0.5;

end; } y2[i]:=y[i]/(1-a*0.02);

z2[i]:=z[i]/(1-a*0.02); x2[i]:=x[i]/(1-a*0.02); end;

end;

procedure vektor;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i]+m;

y2[i]:=y[i]+m;

z2[i]:=z[i]+m;

end;

end;

procedure otrazheniez;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i]+x[10];

y2[i]:=y[i]+y[10];

z2[i]:=-z[i]+z[10];

end;

end;

procedure otrazheniex;

begin

for i:=1 to 64 do

begin

x2[i]:=-x[i]+x[10];

y2[i]:=y[i]+y[10];

z2[i]:=z[i]+z[10];

end;

end;

procedure otrazheniey;

begin

for i:=1 to 64 do

begin

x2[i]:=x[i]+x[10];

y2[i]:=-y[i]+y[10];

z2[i]:=z[i]+z[10];

end;

end;

procedure risuglom;

begin

setcolor(5);

line(x1[1],y1[1],x1[12],y1[12]);

for i:=1 to 11 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

line(x1[13],y1[13],x1[24],y1[24]);

for i:=13 to 23 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

line(x1[25],y1[25],x1[32],y1[32]);

for i:=25 to 31 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

line(x1[33],y1[33],x1[44],y1[44]);

for i:=33 to 43 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

line(x1[45],y1[45],x1[56],y1[56]);

for i:=45 to 55 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

line(x1[57],y1[57],x1[64],y1[64]);

for i:=57 to 63 do

line(x1[i],y1[i],x1[i+1],y1[i+1]);

for i:= 1 to 32 do

line (x1[i],y1[i],x1[i+32],y1[i+32]);

grani;

xz(x2[1],y2[1],z2[1],x2[2],y2[2],z2[2],x2[3],y2[3],z2[3]);

if cosb<0 then

begin

setfillstyle(5,6);

fillpoly(12,gr_perm);

fillpoly(12,gr_pere);

fillpoly(8,gr_perc);

end

else

begin

setfillstyle (7,9);

fillpoly(12,gr_zadm);

fillpoly(12,gr_zade);

fillpoly(8, gr_zadc);

end;

xz(x2[1],y2[1],z2[1],x2[2],y2[2],z2[2],x2[34],y2[34],z2[34]);

if cosb>0 then

begin

setfillstyle(2,4);

fillpoly(4,gr_vlkvm);

fillpoly(4, gr_vpkvm);

fillpoly(4, gr_ve);

fillpoly(4, gr_4kve);

fillpoly(4, gr_8kve);

fillpoly(4, gr_vc);

fillpoly(4, gr_4kvc);

end

else

begin

setfillstyle(1,3);

fillpoly(4, gr_nlevkvm);

fillpoly(4, gr_nkvm);

fillpoly(4, gr_2kve);

fillpoly(4, gr_6kve);

fillpoly(4, gr_ne);

fillpoly(4, gr_2kvc);

fillpoly(4, gr_nc);

end;

xz(x2[26],y2[26],z2[26],x2[57],y2[57],z2[57],x2[58],y2[58],z2[58]);

if cosb<0 then

begin

setfillstyle(3,7);

fillpoly(4, gr_vlnm);

fillpoly(4, gr_prm);

fillpoly(4, gr_vnlevm);

fillpoly(4, gr_nprnm);

fillpoly(4, gr_1kve);

fillpoly(4, gr_3kve);

fillpoly(4, gr_5kve);

fillpoly(4, gr_7kve);

fillpoly(4, gr_9kve);

fillpoly(4, gr_1kvc);

fillpoly(4, gr_3kvc);

fillpoly(4, gr_5kvc);

end

else

begin

setfillstyle(1,3);

fillpoly(4, gr_vpnm);

fillpoly(4, gr_vnprm);

fillpoly(4, gr_nlevkvm);

fillpoly(4, gr_leve);

fillpoly(4, gr_levm);

fillpoly(4, gr_nlnm);

end;

end;

begin

graphDriver:=detect;

initgraph(graphDriver,GraphMode,'z:\');

GraphError:=GraphResult;

if GraphError<> grOk then begin

writeln('oshibka pri inicializacii grafici');

writeln ('GraphErrorMsg(GraphError)');

Halt(1);

end;

assign(f,'z:\mur\MESLABAV.pas');

reset (f);

for i:=1 to 64 do

readln(f,y[i],z[i],x[i]);

for a:=0 to 360 do

begin

povorotox;

kabproekc;

risuglom;

Delay (2500);

cleardevice;

end;

for a:=0 to 360 do

begin

povorotoy;

kabproekc;

risuglom;

Delay (1500);

cleardevice;

end;

for a:=0 to 360 do

begin

povorotoz;

kabproekc;

risuglom;

Delay (2500);

cleardevice;

end;

for a:=0 to 40 do

begin

masshtab;

kabproekc;

risuglom;

Delay (9500);

cleardevice;

end;

for m:=1 to 100 do

begin

vektor;

kabproekc;

risuglom;

Delay (2500);

cleardevice;

end;

otrazheniez;

kabproekc;

risuglom;

readln;

otrazheniex;

kabproekc;

risuglom;

readln;

otrazheniey;

kabproekc;

risuglom;

readln;

line(0,0,0,getMaxY);

line(0,GetMaxY,GetMaxX,GetMaxY);

Line(GetMaxX,GetMaxY,GetMaxX,0);

line(GetMaxX,0,0,0);

readLn;

CloseGraph;

end.

Список используемой литературы

1. Леонтьев В.П. Новейшая энциклопедия персонального компьютера 2001. - М.: ОЛМА-ПРЕСС, 2001. -- 847 с.: ил.

2. Turbo Pascal / С.А.Немнюгин. - СПб: Издательство «Питер», 2000

3. Степаненко О.С. Персональный компьютер. Учебный курс - М.: Издательский дом «Вильямс», 2000.

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

...

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

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

    реферат [65,3 K], добавлен 31.05.2010

  • Проектирование программ в среде Рascal с интерфейсом типа "Меню". Разработка и отладка программы сортировки массива данных. Освоение методов проектирования Pascal-программ с использованием графических процедур и функций из стандартного модуля Graph.

    контрольная работа [581,1 K], добавлен 16.01.2015

  • Создание простейших рисунков, закраска объектов в CorelDraw. Работа с текстом в графических объектах в программе CorelDRAW. Использование кривых линий и ломаных. Упорядочивание, выравнивание и группировка объектов. Использование графических эффектов.

    практическая работа [1,5 M], добавлен 19.04.2012

  • Создание помещения галереи, установка параметров графических объектов и вывод на экран комнат фотогалереи, а также осуществление просмотра галереи в автоматическом режиме. Разработка алгоритма перемещения по фотогалерее. Структура модуля Gallery.pas.

    курсовая работа [466,9 K], добавлен 07.06.2012

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

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

  • Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.

    лабораторная работа [12,7 K], добавлен 14.05.2011

  • Основные типы графических режимов, условия и принципы их использования. Функции VGA и VESA BIOS. Простые форматы графических файлов, их содержание и специфика. Формат BMP для несжатого RGB-изображения. Особенности формата PCX для 256-цветов изображений.

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

  • История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.

    курсовая работа [102,7 K], добавлен 23.12.2011

  • Растровая графика, составление графических изображений из отдельных точек (пикселей). Растровые графические редакторы. Векторная графика - построение изображения из простых объектов. Достоинства, недостатки и применение растровой и векторной графики.

    презентация [7,8 K], добавлен 06.01.2014

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

    курсовая работа [241,7 K], добавлен 11.12.2009

  • Характеристика вычислительной системы и инструментов разработки. Программирование на языке Pascal в среде Turbo Pascal и на языке Object Pascal в среде Delphi. Использование процедур, функций, массивов, бинарного поиска. Создание базы данных в виде файла.

    отчет по практике [2,1 M], добавлен 02.05.2014

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

    контрольная работа [1,6 M], добавлен 04.01.2015

  • Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.

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

  • Разработка и тестирование программы на языке Pascal для поиска, вывода на экран и сохранения в файл списка книг с фамилиями авторов в алфавитном порядке, изданных после 2012 года. Разработка алгоритма и его описание. Инструкции по эксплуатации приложения.

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

  • Информационные технологии и защиты данных. Методы защиты информации. Виды информационной безопасности и умышленные угрозы. Программирование на языке Turbo Pascal. Типы числовых данных. Функции ввода и вывода. Логические операторы, символьные переменные.

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

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

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

  • Вывод графических файлов на компонент Picture. Действия Visual Basic по умолчанию. Создание графического интерфейса пользователя. Циклический показ фотографий. Формирование списка изображений и их циклический вывод на экран с определенным интервалом.

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

  • Написание модуля на языке Ассемблер для вычисления значения выражения. Составление программы корректного ввода исходных данных в таблицу и вывода результата в виде таблицы. Создание модуля для обработки строк и программы корректного ввода исходных данных.

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

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

    практическая работа [432,0 K], добавлен 09.04.2010

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

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

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