source code segitiga 3D menggunakan lazarus
unit Unit1;
{$mode objfpc}{$H+}
interface
uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm) Button1: TButton; Button10: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; GroupBox1: TGroupBox; GroupBox2: TGroupBox; GroupBox3: TGroupBox; Image1: TImage; Panel1: TPanel; procedure Button10Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormShow(Sender: TObject); private { private declarations } public { public declarations } end;
type elemen=record x,y:integer; end;
var Form1: TForm1; objek: array[1..13] of elemen; Tempobjek : array[1..13] of elemen; sdt : real; n, m, i : Integer;
implementation
{ TForm1 }
procedure TForm1.Button10Click(Sender: TObject);begin Close;
end;
procedure TForm1.Button1Click(Sender: TObject);begin for i:=1 to 12 do objek[i].y:=objek[i].y-5; FormShow(Sender);end;
procedure TForm1.Button2Click(Sender: TObject);begin for i:=1 to 12 do objek[i].x:=objek[i].x+5; FormShow(Sender);end;
procedure TForm1.Button3Click(Sender: TObject);begin for i:=1 to 12 do objek[i].y:=objek[i].y+5; FormShow(Sender);end;
procedure TForm1.Button4Click(Sender: TObject);begin for i:=1 to 12 do objek[i].x:=objek[i].x-5; FormShow(Sender);end;
procedure TForm1.Button5Click(Sender: TObject);begin for i:=1 to 12 doBegin objek[i].y:=objek[i].y * 2; objek[i].x:=objek[i].x * 2;end;FormShow(Sender);end;
procedure TForm1.Button6Click(Sender: TObject);begin for i:=1 to 12 doBegin objek[i].y:=objek[i].y div 2; objek[i].x:=objek[i].x div 2;end;FormShow(Sender);end;
procedure TForm1.Button7Click(Sender: TObject);beginfor i := 1 to 12 dobeginn := objek[3].x;m := objek[3].y;objek[i].x:=objek[i].x-n;objek[i].y:=objek[i].y-m;sdt:=10*PI/180;Tempobjek[i].x:=round(objek[i].x*cos(sdt)-objek[i].y*sin(sdt));Tempobjek[i].y:=round(objek[i].x*sin(sdt)+objek[i].y*cos(sdt));objek[i]:=Tempobjek[i];objek[i].x:=objek[i].x+n;objek[i].y:=objek[i].y+m;end;FormShow(Sender);end;
procedure TForm1.Button8Click(Sender: TObject);beginfor i := 1 to 12 dobeginobjek[i].x:=objek[i].x-Image1.Width div 2;objek[i].y:=objek[i].y-Image1.Height div 2;sdt:=10*PI/180;Tempobjek[i].x:=Round(objek[i].x * cos(sdt)-objek[i].y * sin(sdt));Tempobjek[i].y:=Round(objek[i].x * sin(sdt)+objek[i].y * cos(sdt));objek[i].x:=Tempobjek[i].x;objek[i].y:=Tempobjek[i].y;objek[i].x:=objek[i].x+Image1.Width div 2;objek[i].y:=objek[i].y+Image1.Height div 2;end;FormShow(Sender);end;procedure TForm1.Button9Click(Sender: TObject);begin FormActivate(Sender);end; procedure TForm1.FormActivate(Sender: TObject);begin objek[1].x := 250; objek[1].y := 150; objek[2].x := 300; objek[2].y := 250; objek[3].x := 200; objek[3].y := 250;
objek[4].x := 275; objek[4].y := 125; objek[5].x := 325; objek[5].y := 225; objek[6].x := 225; objek[6].y := 225;
objek[7].x := 250; objek[7].y := 150; objek[8].x := 275; objek[8].y := 125;
objek[9].x := 300; objek[9].y := 250; objek[10].x := 325; objek[10].y := 225;
objek[11].x := 200; objek[11].y := 250; objek[12].x := 225; objek[12].y := 225; FormShow(Sender);end;
procedure TForm1.FormShow(Sender: TObject);
var i: integer;begin Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height); Image1.Canvas.MoveTo(objek[3].x,objek[3].y);for i:=1 to 3 dobegin Image1.Canvas.LineTo(objek[i].x,objek[i].y);end; Image1.Canvas.MoveTo(objek[6].x,objek[6].y);for i:=4 to 6 dobegin Image1.Canvas.LineTo(objek[i].x,objek[i].y);end; Image1.Canvas.MoveTo(objek[8].x,objek[8].y);for i:=7 to 8 dobegin Image1.Canvas.LineTo(objek[i].x,objek[i].y);end; Image1.Canvas.MoveTo(objek[10].x,objek[10].y);for i:=9 to 10 dobegin Image1.Canvas.LineTo(objek[i].x,objek[i].y);end; Image1.Canvas.MoveTo(objek[12].x,objek[12].y);for i :=11 to 12 dobegin Image1.Canvas.LineTo(objek[i].x,objek[i].y);end;end;
initialization {$I unit1.lrs}
end.
cornelius henry
123070237
unit Unit1;{$mode objfpc}{$H+}interfaceusesClasses, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,StdCtrls, ExtCtrls;type{ TForm1 }TForm1 = class(TForm)Button1: TButton;Button10: TButton;Button2: TButton;Button3: TButton;Button4: TButton;Button5: TButton;Button6: TButton;Button7: TButton;Button8: TButton;Button9: TButton;GroupBox1: TGroupBox;GroupBox2: TGroupBox;GroupBox3: TGroupBox;Image1: TImage;Panel1: TPanel;procedure Button10Click(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button5Click(Sender: TObject);procedure Button6Click(Sender: TObject);procedure Button7Click(Sender: TObject);procedure Button8Click(Sender: TObject);procedure Button9Click(Sender: TObject);procedure FormActivate(Sender: TObject);procedure FormShow(Sender: TObject);private{ private declarations }public{ public declarations }end;typeelemen=recordx,y:integer;end;varForm1: TForm1;objek: array[1..13] of elemen;Tempobjek : array[1..13] of elemen;sdt : real;n, m, i : Integer;implementation{ TForm1 }procedure TForm1.Button10Click(Sender: TObject);beginClose;end;procedure TForm1.Button1Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].y:=objek[i].y-5;FormShow(Sender);end;procedure TForm1.Button2Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].x:=objek[i].x+5;FormShow(Sender);end;procedure TForm1.Button3Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].y:=objek[i].y+5;FormShow(Sender);end;procedure TForm1.Button4Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].x:=objek[i].x-5;FormShow(Sender);end;procedure TForm1.Button5Click(Sender: TObject);beginfor i:=1 to 12 doBeginobjek[i].y:=objek[i].y * 2;objek[i].x:=objek[i].x * 2;end;FormShow(Sender);end;procedure TForm1.Button6Click(Sender: TObject);beginfor i:=1 to 12 doBeginobjek[i].y:=objek[i].y div 2;objek[i].x:=objek[i].x div 2;end;FormShow(Sender);end;procedure TForm1.Button7Click(Sender: TObject);beginfor i := 1 to 12 dobeginn := objek[3].x;m := objek[3].y;objek[i].x:=objek[i].x-n;objek[i].y:=objek[i].y-m;sdt:=10*PI/180;Tempobjek[i].x:=round(objek[i].x*cos(sdt)-objek[i].y*sin(sdt));Tempobjek[i].y:=round(objek[i].x*sin(sdt)+objek[i].y*cos(sdt));objek[i]:=Tempobjek[i];objek[i].x:=objek[i].x+n;objek[i].y:=objek[i].y+m;end;FormShow(Sender);end;procedure TForm1.Button8Click(Sender: TObject);beginfor i := 1 to 12 dobeginobjek[i].x:=objek[i].x-Image1.Width div 2;objek[i].y:=objek[i].y-Image1.Height div 2;sdt:=10*PI/180;Tempobjek[i].x:=Round(objek[i].x * cos(sdt)-objek[i].y * sin(sdt));Tempobjek[i].y:=Round(objek[i].x * sin(sdt)+objek[i].y * cos(sdt));objek[i].x:=Tempobjek[i].x;objek[i].y:=Tempobjek[i].y;objek[i].x:=objek[i].x+Image1.Width div 2;objek[i].y:=objek[i].y+Image1.Height div 2;end;FormShow(Sender);end;procedure TForm1.Button9Click(Sender: TObject);beginFormActivate(Sender);end;procedure TForm1.FormActivate(Sender: TObject);beginobjek[1].x := 250; objek[1].y := 150;objek[2].x := 300; objek[2].y := 250;objek[3].x := 200; objek[3].y := 250;objek[4].x := 275; objek[4].y := 125;objek[5].x := 325; objek[5].y := 225;objek[6].x := 225; objek[6].y := 225;objek[7].x := 250; objek[7].y := 150;objek[8].x := 275; objek[8].y := 125;objek[9].x := 300; objek[9].y := 250;objek[10].x := 325; objek[10].y := 225;objek[11].x := 200; objek[11].y := 250;objek[12].x := 225; objek[12].y := 225;FormShow(Sender);end;procedure TForm1.FormShow(Sender: TObject);vari: integer;beginImage1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);Image1.Canvas.MoveTo(objek[3].x,objek[3].y);for i:=1 to 3 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[6].x,objek[6].y);for i:=4 to 6 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[8].x,objek[8].y);for i:=7 to 8 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[10].x,objek[10].y);for i:=9 to 10 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[12].x,objek[12].y);for i :=11 to 12 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;end;initialization{$I unit1.lrs}end.
unit Unit1;{$mode objfpc}{$H+}interfaceusesClasses, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,StdCtrls, ExtCtrls;type{ TForm1 }TForm1 = class(TForm)Button1: TButton;Button10: TButton;Button2: TButton;Button3: TButton;Button4: TButton;Button5: TButton;Button6: TButton;Button7: TButton;Button8: TButton;Button9: TButton;GroupBox1: TGroupBox;GroupBox2: TGroupBox;GroupBox3: TGroupBox;Image1: TImage;Panel1: TPanel;procedure Button10Click(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);procedure Button5Click(Sender: TObject);procedure Button6Click(Sender: TObject);procedure Button7Click(Sender: TObject);procedure Button8Click(Sender: TObject);procedure Button9Click(Sender: TObject);procedure FormActivate(Sender: TObject);procedure FormShow(Sender: TObject);private{ private declarations }public{ public declarations }end;typeelemen=recordx,y:integer;end;varForm1: TForm1;objek: array[1..13] of elemen;Tempobjek : array[1..13] of elemen;sdt : real;n, m, i : Integer;implementation{ TForm1 }procedure TForm1.Button10Click(Sender: TObject);beginClose;end;procedure TForm1.Button1Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].y:=objek[i].y-5;FormShow(Sender);end;procedure TForm1.Button2Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].x:=objek[i].x+5;FormShow(Sender);end;procedure TForm1.Button3Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].y:=objek[i].y+5;FormShow(Sender);end;procedure TForm1.Button4Click(Sender: TObject);beginfor i:=1 to 12 doobjek[i].x:=objek[i].x-5;FormShow(Sender);end;procedure TForm1.Button5Click(Sender: TObject);beginfor i:=1 to 12 doBeginobjek[i].y:=objek[i].y * 2;objek[i].x:=objek[i].x * 2;end;FormShow(Sender);end;procedure TForm1.Button6Click(Sender: TObject);beginfor i:=1 to 12 doBeginobjek[i].y:=objek[i].y div 2;objek[i].x:=objek[i].x div 2;end;FormShow(Sender);end;procedure TForm1.Button7Click(Sender: TObject);beginfor i := 1 to 12 dobeginn := objek[3].x;m := objek[3].y;objek[i].x:=objek[i].x-n;objek[i].y:=objek[i].y-m;sdt:=10*PI/180;Tempobjek[i].x:=round(objek[i].x*cos(sdt)-objek[i].y*sin(sdt));Tempobjek[i].y:=round(objek[i].x*sin(sdt)+objek[i].y*cos(sdt));objek[i]:=Tempobjek[i];objek[i].x:=objek[i].x+n;objek[i].y:=objek[i].y+m;end;FormShow(Sender);end;procedure TForm1.Button8Click(Sender: TObject);beginfor i := 1 to 12 dobeginobjek[i].x:=objek[i].x-Image1.Width div 2;objek[i].y:=objek[i].y-Image1.Height div 2;sdt:=10*PI/180;Tempobjek[i].x:=Round(objek[i].x * cos(sdt)-objek[i].y * sin(sdt));Tempobjek[i].y:=Round(objek[i].x * sin(sdt)+objek[i].y * cos(sdt));objek[i].x:=Tempobjek[i].x;objek[i].y:=Tempobjek[i].y;objek[i].x:=objek[i].x+Image1.Width div 2;objek[i].y:=objek[i].y+Image1.Height div 2;end;FormShow(Sender);end;procedure TForm1.Button9Click(Sender: TObject);beginFormActivate(Sender);end;procedure TForm1.FormActivate(Sender: TObject);beginobjek[1].x := 250; objek[1].y := 150;objek[2].x := 300; objek[2].y := 250;objek[3].x := 200; objek[3].y := 250;objek[4].x := 275; objek[4].y := 125;objek[5].x := 325; objek[5].y := 225;objek[6].x := 225; objek[6].y := 225;objek[7].x := 250; objek[7].y := 150;objek[8].x := 275; objek[8].y := 125;objek[9].x := 300; objek[9].y := 250;objek[10].x := 325; objek[10].y := 225;objek[11].x := 200; objek[11].y := 250;objek[12].x := 225; objek[12].y := 225;FormShow(Sender);end;procedure TForm1.FormShow(Sender: TObject);vari: integer;beginImage1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);Image1.Canvas.MoveTo(objek[3].x,objek[3].y);for i:=1 to 3 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[6].x,objek[6].y);for i:=4 to 6 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[8].x,objek[8].y);for i:=7 to 8 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[10].x,objek[10].y);for i:=9 to 10 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;Image1.Canvas.MoveTo(objek[12].x,objek[12].y);for i :=11 to 12 dobeginImage1.Canvas.LineTo(objek[i].x,objek[i].y);end;end;initialization{$I unit1.lrs}end.



