Tampilkan postingan dengan label Bressenhem. Tampilkan semua postingan


Buat semua teman-teman yang membutuhkan materi Bahasa Rakitan dan Komputer Grafik silakan download dari link berikut, selanjutnya silakan pilih materi-materi yang anda butuhkan :

Bahasa Rakitan dan Komputer Grafik

Semoga bermanfaat...


Materi Komputer Grafik dan Tugas

Jumat, 18 Mei 2012
Posted by Unknown

Assalamu'alaikum Wr. Wb.
Menikmati materi komputer grafik via pemrograman Delphi lumayan asyik, buat rekan-rekan yang menginginkan materinya silakan donwload link berikut :
Materi Komputer Grafik
Berikut contoh listing program yang saya ambil dari modul latihan saat perkuliahan:

GeSHi © 2004-2007 Nigel McNie, 2007-2010 Benny Baumann, 2008-2009 Milian Wolff
  1. {Listing Program Latihan Komputer Grafik
  2. Algoritma DDA, Bressenhem, dan Lingkaran
  3. untuk menggunakan listing ini harus diedit
  4. dan disesuaikan dengan penggunaan Form visualnya}
  5. {Algoritma DDA}
  6. unit Unit1;
  7. interface
  8. uses
  9. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10. Dialogs, StdCtrls;
  11. type
  12. TForm1 = class(TForm)
  13. Button1: TButton;
  14. Label1: TLabel;
  15. Label2: TLabel;
  16. Label3: TLabel;
  17. Label4: TLabel;
  18. Edit1: TEdit;
  19. Edit2: TEdit;
  20. Edit3: TEdit;
  21. Edit4: TEdit;
  22. Button2: TButton;
  23. procedure Button1Click(Sender: TObject);
  24. procedure Button2Click(Sender: TObject);
  25. private
  26. { Private declarations }
  27. public
  28. { Public declarations }
  29. end;
  30. var
  31. Form1: TForm1;
  32. implementation
  33. {$R *.dfm}
  34. procedure TForm1.Button1Click(Sender: TObject);
  35. begin
  36. close
  37. end;
  38. procedure TForm1.Button2Click(Sender: TObject);
  39. var
  40. dx,dy,fstep,f,x1,x2,y1,y2:integer;
  41. deltax,deltay,x,y:real;
  42. begin
  43. x1:=strtoint(edit1.Text);
  44. y1:=strtoint(edit2.Text);
  45. x2:=strtoint(edit3.Text);
  46. y2:=strtoint(edit4.Text);
  47. dx:=(x2-x1);
  48. dy:=(y2-y1);
  49. if (abs(dx)>abs(dy)) then fstep:=abs(dx)
  50. else fstep:=abs(dy);
  51. deltax:= dx/fstep;
  52. deltay:= dy/fstep;
  53. x:=x1;y:=y1;
  54. canvas.Pixels[trunc(x),trunc(y)]:=clblue;
  55. for f :=0 to fstep-1 do
  56. begin
  57. x:=x+deltax;
  58. y:=y+deltay;
  59. canvas.Pixels[trunc(x),trunc(y)]:=clblue;
  60. end;
  61. end;
  62. end.
  63. {Algoritma bresenham}
  64. procedure TForm1.Button1Click(Sender: TObject);
  65. var
  66. p,dx,dy,xend,f,x,y,xa,xb,ya,yb:Integer;
  67. begin
  68. xa:=strtoint(edit1.Text);
  69. xb:=strtoint(edit2.Text);
  70. ya:=strtoint(edit3.Text);
  71. yb:=strtoint(edit4.Text);
  72.   dx:=Abs(xa-xb);
  73.   dy:=Abs(ya-yb);
  74.     p:=(2*dy)-dx;
  75.     if(xa>xb)then
  76.     begin
  77.       x:=xb;
  78.               y:=yb;
  79.               xend:=xa;
  80.       end
  81.       else
  82.       begin
  83.       x:=xa;
  84.               y:=ya;
  85.               xend:=xb;
  86.       end;
  87.               Canvas.Pixels[x,y]:=clRed;
  88.               for f:=to xend do
  89.                 begin
  90.                   x:=x+1;
  91.                   if(p<0)then p:=p+(2*dy)
  92.                   else
  93.                         begin y:=y+1;
  94.                           p:= p+(2*(dy-dx));
  95.     end;
  96.                               Canvas.Pixels[x,y]:=clRed;
  97. end;
  98. end;
  99. end.
  100. {Algoritma Lingkaran}
  101. procedure TForm1.Button1Click(Sender: TObject);
  102. var x,y,p,xc,yc,radius:integer;
  103. begin
  104.    x:=0;xc:=100;yc:=200;radius:=45;
  105.    y:=radius;
  106.    p:=1-radius;
  107.                   while(x<y)do
  108.                     begin
  109.                       canvas.pixels[xc+x,yc+y]:=clred;
  110.                       canvas.pixels[xc+x,yc-y]:=clred;
  111.                       canvas.pixels[xc-x,yc+y]:=clred;
  112.                       canvas.pixels[xc-x,yc-y]:=clred;
  113.                       canvas.pixels[xc+y,yc+x]:=clred;
  114.                       canvas.pixels[xc+y,yc-x]:=clred;
  115.                       canvas.pixels[xc-y,yc+x]:=clred;
  116.                       canvas.pixels[xc-y,yc-x]:=clred;
  117.                       if(p<0) then x:=x+1
  118.                             else
  119.           begin
  120.                                   x:=x+1;
  121.                                   y:=y-1;
  122.                                   end;
  123.           if(p<0)then p:=p+2*x+1
  124.                       else   p:=p+2*(x-y)+1;
  125.                     end;
  126. end;
  127. end.


Adapun tugasnya dalam pertemuan 2 ini adalah :
1. Buat sebuah garis yang menghubungkan dari titik (20,10) sampai dengan titik (30,18) dengan menggunakan algoritma DDA.
2. Buat sebuah garis yang menghubungkan dari titik (20,10) sampai dengan titik (30,18) dengan menggunakan algoritma Bressenham.
Listing program ditulis/dicetak.
Semoga bermanfaat.

Pengikut

Welcome to My Blog

Popular Post

- Copyright © Gudang Ilmu dan Pemikiran -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -