Kode Program Jawaban UAS Praktikum Grafika Komputer
Kode program soal UAS Praktikum Grafika Komputer Kelompok A:
Const
Radian = 0.017453203;
Faktor = 0.7071067;
Var
S1, C1 : integer;
Procedure KurvaKoch(Arah, Panjang : Real; Orde: integer);
Var
S, C :integer;
Begin
if Orde > 0 then
Begin
KurvaKoch(Arah,Panjang/3,Orde-1);
Arah:=Arah+90;
KurvaKoch(Arah,Panjang/3,Orde-1);
Arah:=Arah-90;
KurvaKoch(Arah,Panjang/3,Orde-1);
Arah:=Arah-90;
KurvaKoch(Arah,Panjang/3,Orde-1);
Arah:=Arah+90;
KurvaKoch(Arah,Panjang/3,Orde-1);
End
Else
Begin
S:=Round(Panjang*Sin(Radian*Arah));
C:=Round(Panjang*Cos(Radian*Arah));
Form1.Image1.Canvas.LineTo(C+C1,S+S1);
C1:=C+C1;
S1:=S+S1;
End;
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
C1 := 505;
S1 := 250;
Form1.Image1.Canvas.MoveTo(C1,S1);
KurvaKoch(180,300,4);
end;
Kode program soal UAS Praktikum Grafika Komputer Kelompok B:
procedure TForm1.Button1Click(Sender: TObject);
var
sx,sy,tx,ty :Real;
xsc1,ysc1,xsc2,ysc2:Integer;
begin
sx:=(500-50)/(80-20);
sy:=(400-20)/(60-10);
tx:=((50*80)-(20*500))/(80-20);
ty:=((20*60)-(10*400))/(60-10);
xsc1:=round((sx*25)+tx);
ysc1:=(400-20)-round((sy*20)+ty);
xsc2:=round((sx*75)+tx);
ysc2:=(400-20)-round((sy*50)+ty);
Image1.Canvas.MoveTo(xsc1,ysc1);
Image1.Canvas.LineTo(xsc2,ysc2);
end;
Kode program soal UAS Praktikum Grafika Komputer Kelompok C:
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Canvas.MoveTo(Round(100/(1-(0/1000))),Image1.Height-Round(200/(1-(0/1000))));
Image1.Canvas.LineTo(Round(300/(1-(0/1000))),Image1.Height-Round(200/(1-(0/1000))));
Image1.Canvas.LineTo(Round(300/(1-(300/1000))),Image1.Height-Round(200/(1-(300/1000))));
Image1.Canvas.LineTo(Round(100/(1-(300/1000))),Image1.Height-Round(200/(1-(300/1000))));
Image1.Canvas.LineTo(Round(200/(1-(200/1000))),Image1.Height-Round(400/(1-(200/1000))));
Image1.Canvas.LineTo(Round(100/(1-(0/1000))),Image1.Height-Round(200/(1-(0/1000))));
Image1.Canvas.MoveTo(Round(300/(1-(0/1000))),Image1.Height-Round(200/(1-(0/1000))));
Image1.Canvas.LineTo(Round(200/(1-(200/1000))),Image1.Height-Round(400/(1-(200/1000))));
Image1.Canvas.LineTo(Round(300/(1-(300/1000))),Image1.Height-Round(200/(1-(300/1000))));
end;


