6
VIEWPORT, TRANSFORMASI, & ANIMASI Diajukan Untuk Memenuhi Salah Satu Tugas Mata Kuliah Grafik Komputer Dosen : Asep Deddy, M. Kom Oleh : Hamdan Fauzi (0706043) Ridwan Setiawan (0706073) SEKOLAH TINGGI TEKNOLOGI GARUT

Program Viewport,Animasi,Transformasi

Embed Size (px)

DESCRIPTION

Merupakan Contoh program graphik dalam pascal : Animasi, transformasi, dan viewport

Citation preview

Page 1: Program Viewport,Animasi,Transformasi

VIEWPORT, TRANSFORMASI, & ANIMASI

Diajukan Untuk Memenuhi Salah Satu TugasMata Kuliah Grafik Komputer

Dosen : Asep Deddy, M. Kom

Oleh :

Hamdan Fauzi (0706043)Ridwan Setiawan (0706073)

SEKOLAH TINGGI TEKNOLOGI GARUT

( S T T G )

2009

Page 2: Program Viewport,Animasi,Transformasi

Program Viewport_Transformasi_Animasi;uses crt, graph;

vara,b,c,d:real;dr,md,e,f,g,h:integer;mat:array[0..3,0..3] of real;

Procedure Trans(a1,a2,a3,a4,a5,a6,a7,a8,a9:real; q:integer);var

amat,bmat:array[0..3] of real;w,x:real;

o,p,y,z,i,j:integer;begin

mat[1,1]:=a1;mat[1,2]:=a2;mat[1,3]:=a3;mat[2,1]:=a4;mat[2,2]:=a5;mat[2,3]:=a6;mat[3,1]:=a7;mat[3,2]:=a8;mat[3,3]:=a9;amat[1]:=10;amat[2]:=10;amat[3]:=1;x:=0;for i:=1 to 3 dobegin

for j:=1 to 3 dobegin

w:=(amat[j])*(mat[j,i]);x:=(x+w);

end;bmat[i]:=x;

x:=0; end; Initgraph(dr,md,'c:\tp\bgi'); line(10,10,60,10); line(60,10,60,60); line(60,60,10,60); line(10,60,10,10); readln; setcolor(yellow); case q of 1:begin o:=round(bmat[1]); p:=round(bmat[2]);

y:=(round(bmat[1]-10))+60; z:=(round(bmat[2]-10))+60;

line(o,p,y,p); line(y,p,y,z); line(y,z,o,z); line(o,z,o,p); readln; closegraph; end; 2:begin

Page 3: Program Viewport,Animasi,Transformasi

o:=(round(bmat[1])-10/2); p:=(round(bmat[2])-10/2); line((10-o),(10-p),(60+o),(10-p)); line((60+o),(10-p),(60+o),(60+p)); line((60+o),(60+p),(10-o),(60+p)); line((10-o),(60+p),(10-o),(10-o)); readln; closegraph; end;

3:begin o:=((round(bmat[1]))-10); p:=((round(bmat[2]))-10); line((10+p),(10+o),(60+p),(10+o)); line((60+p),(10+o),(60-o),(60-o)); line((60-o),(60-o),(10-o),(60-o)); line((10-o),(60-o),(10+p),(10+o)); readln; closegraph; end; end;end;

begin Repeat

Writeln ('=============================='); writeln('|1. Translasi |'); writeln('|2. Scalling |'); writeln('|3. Shearing |'); writeln('|4. Viewport |'); writeln('|5. Animasi |'); writeln('|6. Keluar |');

writeln('============================');Write('Masukan Pilihan : '); readln(e);clrscr;case e of1:begin

write('Masukan Besar Translasi Untuk x: '); readln(a);write('Masukan Besar Translasi Untuk y: '); readln(b);

Trans(1,0,0,0,1,0,a,b,1,e);end;

2:beginwrite('Masukan Besar Scala: '); readln(a);

Trans(a,0,0,0,a,0,0,0,1,e);end;

3:beginwrite('Masukan Besar Pembebanan Ke Sumbu x: '); readln(a);a:=a/10;

b:=0;Trans(1,a,0,b,1,0,0,0,1,e);end;

4:begin write('Masukan panjang sisi segi empat: '); readln(f); write('Masukan Panjang Pemotongan Bangun: '); readln(g); Initgraph(dr,md,'c:\tp\bgi'); SetViewPort(10, 10,g+10, g+10, ClipOn); rectangle(0, 5, f,f+5); readln;

Page 4: Program Viewport,Animasi,Transformasi

closegraph; end; 5:begin InitGraph(dr,md,'c:\tp\bgi'); f:= 25; g:= GetMaxY; h:=1; Repeat setcolor(h); circle(f ,g div 2,50); Delay(250); ClearDevice; f:=f+25; h:=h+1; Until KeyPressed; CloseGraph; End; else end; until e=6;end.

Page 5: Program Viewport,Animasi,Transformasi

Output :

1. Translasi 2. Scalling

3. Shearing 4. Viewport

5. Animasi