ПОБУДОВА РУХОМИХ ЗОБРАЖЕНЬ.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Автоматизовані Системи Управління

Інформація про роботу

Рік:
2008
Тип роботи:
Розрахункова робота
Предмет:
Комп'ютерна графіка
Група:
КС

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ « ЛЬВІВСЬКА ПОЛІТЕХНІКА » РОЗРАЧУНКОВА РОБОТА З КУРСУ «КОМП’ЮТЕРНА ГРАФІКА» НА ТЕМУ: «ПОБУДОВА РУХОМИХ ЗОБРАЖЕНЬ» Виконав студент: Групи КС Перевірив: Львів-2008 Варіант 25. Блок-схеми основної програми та підпрограм. 4.1. Основна програма. 4.2. Підпрограма Tabul.  EMBED Word.Picture.8   EMBED Word.Picture.8  4.3. Підпрограма Graphic.  EMBED Word.Picture.8   EMBED Word.Picture.8   EMBED Word.Picture.8  Варіант 6 4.1. Блок-схема основної програми.  EMBED Word.Picture.8  4.2. Блок-схема підпрограми Kwadrat.  EMBED Word.Picture.8  Текст програми: program task_2546; uses crt,graph; type matrix=array [1..4] of integer; var xc,yc,xc1,yc1,dr,reg,xt,yt,k,i,j,x0,y0,r,xe,ye,l0,m0,f1,f2,l01,m01:integer; a2,a1,a,b,h,ay,dx,kx,ky,xm,yr,ym,miny,maxy,x,y,xm1,ym1,k1,yd,xd:real; s:string;f:text; x2,y2,x1,y1:matrix; begin dr:=detect; a:=-19; b:=-2; h:=(b-a)/200; initgraph (dr,reg,''); x:=a; dx:=b-a; if x<1.914 then begin miny:=-exp((1/5)*ln(abs(2*x*x*x-7))); maxy:=-exp((1/5)*ln(abs(2*x*x*x-7))); end else begin miny:=exp((1/5)*ln(2*x*x*x-7)); maxy:=exp((1/5)*ln(2*x*x*x-7)); end; assign(f,'c:\rozr.dat'); rewrite(f); while x<=b+h/6 do begin if x<1.914 then yr:=-exp((1/5)*ln(abs(2*x*x*x-7))) else yr:=exp((1/5)*ln(2*x*x*x-7)); if yr<miny then miny:=yr; if yr>maxy then maxy:=yr; writeln(f,x:2:4,' ',yr:2:4); x:=x+h; end; settextstyle(2,0,2); ay:=maxy-miny; xt:=getmaxx-40; yt:=getmaxy-40; kx:=xt/dx; ky:=yt/ay; x0:=xt-round(b*kx)+20; xe:=x0; if a>0 then xe:=xt-round(kx*dx)+20; if b<0 then xe:=xt+20; y0:=yt+round(miny*ky)+20; ye:=y0; if y0<0 then ye:=yt-round(ay*ky)+20; if y0>yt then ye:=yt+20; line (xe,20,xe,yt+20); line (20,ye,xt+20,ye); setlinestyle(3,0,3); setcolor(lightgray); flush(f); reset(f); while not eof(f) do begin readln(f,x,yr); xm:=x0+(x*kx); ym:=y0-(yr*ky); if x>a then begin k1:=arctan(abs(ym-ym1)/abs(xm-xm1)); yd:=cos(k1)*2; xd:=sin(k1)*2; end; if x=a then moveto (round(xm),round(ym)) else begin lineto (round(xm),round(ym)); line(round(xm1+xd),round(ym1+yd),round(xm+xd),round(ym+yd)); end; xm1:=xm;ym1:=ym; end; setlinestyle(0,0,1); settextstyle(2,0,2); setcolor(white); r:=round(yt/7); for i:=1 to 6 do begin line(xe-2,i*r,xe,i*r); yr:=(y0-i*r)/ky; str(yr:2:3,s); outtextxy(xe+3,i*r,s); end; r:=round(xt/5); for i:=0 to 5 do begin line(i*r+20,ye-2,i*r+20,ye+2); x:=(i*r+20-x0)/kx; str(x:2:3,s); outtextxy(i*r+20,ye+3,s); end; outtextxy(xe,10,'Y'); outtextxy(xt+30,ye-5,'X'); x0:=120; y0:=120; xc:=x0; yc:=y0-90; r:=90; x1[1]:=xc-12; y1[1]:=yc-12; x1[2]:=xc-12; y1[2]:=yc+12; x1[3]:=xc+12; y1[3]:=yc+12; x1[4]:=xc+12; y1[4]:=yc-12; a:=0; a1:=0; setlinestyle(0,0,1); rectangle(50,50,291,281); setviewport(51,51,290,280,clipoff); repeat begin clearviewport; xc1:=round(xc*cos(a)+yc*sin(a)+x0*(1-cos(a))-y0*sin(a)); yc1:=round(-xc*sin(a)+yc*cos(a)+y0*(1-cos(a))+x0*sin(a)); x1[1]:=xc1-12; y1[1]:=yc1-12; x1[2]:=xc1-12; y1[2]:=yc1+12; x1[3]:=xc1+12; y1[3]:=yc1+12; x1[4]:=xc1+12; y1[4]:=yc1-12; for i:=1 to 4 do begin x2[i]:=round(x1[i]*cos(a1)+y1[i]*sin(a1)+xc1*(1-cos(a1))-yc1*sin(a1)); y2[i]:=round(-x1[i]*sin(a1)+y1[i]*cos(a1)+yc1*(1-cos(a1))+xc1*sin(a1)); if i>1 then line(x2[i-1],y2[i-1],x2[i],y2[i]); if i=4 then line(x2[i],y2[i],x2[1],y2[1]); end; floodfill(round((x2[3]+x2[1])/2),round((y2[3]+y2[1])/2),white); circle(x0,y0,r); a:=a+0.02; a1:=a1+0.1; delay(10000); end; until KeyPressed; end.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!