Darkc0der
20th November 2011, 01:36 AM
:ceriwislove:
misi agan2 skalian....
niubie ni gan,,,,
tapi ane bner2 tertarik banget ma coding...
tolong dibantu donk gan...
ni ada source code pascal, tapi pas di compile katanya error kyk bgini..
kompiler nya ane pake DEV PAS
"can't find unit INITGRP"
kira2 masalahnya dimana tu ya gan??
sekalian kalo bisa ane mnta tolong dicariin solusinya ampe bisa berhasil dijalankan..
ni dy ane lampirkan source code nya buat kepentingan penelitian gan...
:homo:
Spoiler for source code:
uses Crt, Dos, Graph, Initgrp;
Type
Poligon = Array [1..6] of PointType;
Mat = array [1..3,1..3] of Real;
Vek = array [1..3] of Real;
Const
sSegilima : Poligon =
((X:200;Y:150),(X:250;Y:200),(X:300;Y:350),(X:200; Y:350),(X:200;Y:150));
Var
Driver,Mode,Err:Integer;
I : Integer;
Segilima1,Segilima2,Segilima3 : Poligon;
Vekhasil : Vek;
Procedure Geser(Var Mt : Mat; trx, Try : Integer);
Begin
Mt[1,1] := 1; Mt[1,2] :=0; Mt[1,3] :=0;
Mt[2,1] := 0; Mt[2,2] :=1; Mt[2,3] :=0;
Mt[3,1] := Trx; Mt[3,2] :=Try; Mt[3,3] :=1;
End;
Procedure Skala(Var Ms : Mat; SX,SY : Real);
Begin
Ms[1,1] := SX; Ms[1,2] :=0; Ms[1,3] :=0;
Ms[2,1] := 0; Ms[2,2] :=SY; Ms[2,3] :=0;
Ms[3,1] := 0; Ms[3,2] :=0; Ms[3,3] :=1;
End;
Procedure Rotasi(Var Mr : Mat; Theta :Real);
Begin
Theta := Theta*pi/180;
Mr[1,1] := Cos (Theta); Mr[1,2] := Sin (Theta); Mr[1,3] :=0;
Mr[2,1] := -Sin (Theta); Mr[2,2] := Cos (Theta); Mr[2,3] :=0;
Mr[3,1] := 0; Mr[3,2] :=0; Mr[3,3] :=1;
End;
Procedure Shear(Var Msh : Mat; Sh,Sg : Real);
Begin
Msh[1,1] := 1; Msh[1,2] :=Sg; Msh[1,3] :=0;
Msh[2,1] := Sh; Msh[2,2] :=1; Msh[2,3] :=0;
Msh[3,1] := 0; Msh[3,2] :=0; Msh[3,3] :=1;
End.
Procedure PerkalianVektor(Var VekH : Vek; VekA : Vek; MatA : Mat);
Var
I,J : Byte;
Begin
For I : = 1 To 3 Do
Begin
VekH[i] : = 0;
For J : = 1 To 3 Do
VekH[i] : = VekH[i] + VekA[J] * MatA[J,I];
End;
End;
Procedure ProsesGambar(Sh,Sg : Real);
Var
I,J : Byte;
Vekhasil,VekTitik : Vek;
MatTrans : Mat;
Begin
Shear(MatTrans, Sh,Sg);
For I : = 1 To 6 Do
Begin
VekTitik[1] := Segilima[i].X;
VekTitik[2] := Segilima[i].Y;
VekTitik[3] := 1;
PerkalianVektor(Vekhasil, VekTitik, MatTrans);
Segilima2[i].X := Round(VekHasil[1]);
Segilima2[i].Y := Round(VekHasil[2]);
VekTitik[1] := Segilima[i].X;
VekTitik[2] := Segilima[i].Y;
VekTitik[3] := 1;
PerkalianVektor(Vekhasil, VekTitik, MatTrans);
Segilima3[i].X := Round(VekHasil[1]);
Segilima3[i].Y := Round(VekHasil[2]);
End;
End;
Begin
Driver := Detect;
Mode := VgMed;
SiapkanGrafik(Driver,Mode);
SetTextSytle(TriplexFont,HorizDir,4);
SetTextJustify(CenterText,CenterText);
OutTextXY(GetMaxX Div 2,50,'Contoh Transformasi Sederhana');
For I := 1 To 6 Do
Begin
Segilima[i].X := Segilima[i].X + 100;
Segilima[i].Y := Segilima[i].Y;
End;
SetTextStyle(DefaultFont,HorizDir,1);
SetTextJustify(LeftText,CenterText);
OutTextXY(260,380,'Gambar Asli');
DrawPoly(6,Segilima);
DrawPoly(6,Segilima1);
ProsesGambar(0.5,0);
DrawPoly(6,Segilima2);
DrawPoly(6,Segilima3);
OutTextXY(425,380,'Shear Dengan X Positif');
ProsesGambar(-0.5,5);
DrawPoly(6,Segilima2);
DrawPoly(6,Segilima3);
OutTextXY(15,380,'Shear Dengan X Negatif');
Line(50,100,75,100);
Line(50,100,50,150);
OutTextXY(80,100,'X+');
OutTextXY(50,150,'Y+');
End.
o iya...
buat yang Pertamaxx tolong jawaban yang berbobot yahh!!!
:loveindonesia
</div>
misi agan2 skalian....
niubie ni gan,,,,
tapi ane bner2 tertarik banget ma coding...
tolong dibantu donk gan...
ni ada source code pascal, tapi pas di compile katanya error kyk bgini..
kompiler nya ane pake DEV PAS
"can't find unit INITGRP"
kira2 masalahnya dimana tu ya gan??
sekalian kalo bisa ane mnta tolong dicariin solusinya ampe bisa berhasil dijalankan..
ni dy ane lampirkan source code nya buat kepentingan penelitian gan...
:homo:
Spoiler for source code:
uses Crt, Dos, Graph, Initgrp;
Type
Poligon = Array [1..6] of PointType;
Mat = array [1..3,1..3] of Real;
Vek = array [1..3] of Real;
Const
sSegilima : Poligon =
((X:200;Y:150),(X:250;Y:200),(X:300;Y:350),(X:200; Y:350),(X:200;Y:150));
Var
Driver,Mode,Err:Integer;
I : Integer;
Segilima1,Segilima2,Segilima3 : Poligon;
Vekhasil : Vek;
Procedure Geser(Var Mt : Mat; trx, Try : Integer);
Begin
Mt[1,1] := 1; Mt[1,2] :=0; Mt[1,3] :=0;
Mt[2,1] := 0; Mt[2,2] :=1; Mt[2,3] :=0;
Mt[3,1] := Trx; Mt[3,2] :=Try; Mt[3,3] :=1;
End;
Procedure Skala(Var Ms : Mat; SX,SY : Real);
Begin
Ms[1,1] := SX; Ms[1,2] :=0; Ms[1,3] :=0;
Ms[2,1] := 0; Ms[2,2] :=SY; Ms[2,3] :=0;
Ms[3,1] := 0; Ms[3,2] :=0; Ms[3,3] :=1;
End;
Procedure Rotasi(Var Mr : Mat; Theta :Real);
Begin
Theta := Theta*pi/180;
Mr[1,1] := Cos (Theta); Mr[1,2] := Sin (Theta); Mr[1,3] :=0;
Mr[2,1] := -Sin (Theta); Mr[2,2] := Cos (Theta); Mr[2,3] :=0;
Mr[3,1] := 0; Mr[3,2] :=0; Mr[3,3] :=1;
End;
Procedure Shear(Var Msh : Mat; Sh,Sg : Real);
Begin
Msh[1,1] := 1; Msh[1,2] :=Sg; Msh[1,3] :=0;
Msh[2,1] := Sh; Msh[2,2] :=1; Msh[2,3] :=0;
Msh[3,1] := 0; Msh[3,2] :=0; Msh[3,3] :=1;
End.
Procedure PerkalianVektor(Var VekH : Vek; VekA : Vek; MatA : Mat);
Var
I,J : Byte;
Begin
For I : = 1 To 3 Do
Begin
VekH[i] : = 0;
For J : = 1 To 3 Do
VekH[i] : = VekH[i] + VekA[J] * MatA[J,I];
End;
End;
Procedure ProsesGambar(Sh,Sg : Real);
Var
I,J : Byte;
Vekhasil,VekTitik : Vek;
MatTrans : Mat;
Begin
Shear(MatTrans, Sh,Sg);
For I : = 1 To 6 Do
Begin
VekTitik[1] := Segilima[i].X;
VekTitik[2] := Segilima[i].Y;
VekTitik[3] := 1;
PerkalianVektor(Vekhasil, VekTitik, MatTrans);
Segilima2[i].X := Round(VekHasil[1]);
Segilima2[i].Y := Round(VekHasil[2]);
VekTitik[1] := Segilima[i].X;
VekTitik[2] := Segilima[i].Y;
VekTitik[3] := 1;
PerkalianVektor(Vekhasil, VekTitik, MatTrans);
Segilima3[i].X := Round(VekHasil[1]);
Segilima3[i].Y := Round(VekHasil[2]);
End;
End;
Begin
Driver := Detect;
Mode := VgMed;
SiapkanGrafik(Driver,Mode);
SetTextSytle(TriplexFont,HorizDir,4);
SetTextJustify(CenterText,CenterText);
OutTextXY(GetMaxX Div 2,50,'Contoh Transformasi Sederhana');
For I := 1 To 6 Do
Begin
Segilima[i].X := Segilima[i].X + 100;
Segilima[i].Y := Segilima[i].Y;
End;
SetTextStyle(DefaultFont,HorizDir,1);
SetTextJustify(LeftText,CenterText);
OutTextXY(260,380,'Gambar Asli');
DrawPoly(6,Segilima);
DrawPoly(6,Segilima1);
ProsesGambar(0.5,0);
DrawPoly(6,Segilima2);
DrawPoly(6,Segilima3);
OutTextXY(425,380,'Shear Dengan X Positif');
ProsesGambar(-0.5,5);
DrawPoly(6,Segilima2);
DrawPoly(6,Segilima3);
OutTextXY(15,380,'Shear Dengan X Negatif');
Line(50,100,75,100);
Line(50,100,50,150);
OutTextXY(80,100,'X+');
OutTextXY(50,150,'Y+');
End.
o iya...
buat yang Pertamaxx tolong jawaban yang berbobot yahh!!!
:loveindonesia
</div>