Saturday, October 30, 2010

Tugas Garis

1. Titik dan Garis !

“Semua bentuk gambar berawal dari satu titik yang membuat suatu gerakan, titik itu bergerak dan terbentuklah suatu garis dikenal sebagai dimensi-pertama. Bila garis itu bergerak membentuk sebuah bidang, maka kita dapat menentukan sebuah unsur dua-dimensi. Selama perkembangannya dari bidang menjadi ruang, pertemuan bidang-bidang tadi melahirkan suatu badan (tiga-dimensi) Sebuah ringkasan mengenai energi kinetic yang menggerakkan sebuah titik menjadi garis, garis menjadi bidang dan bidang menjadi dimensi ruang” (1960, Paul Klee, The Thinking Eye: The Notebooks of Paul Klee)

Pengertian garis menurut Leksikon Grafika adalah benda dua dimensi tipis memanjang. Sedangkan Lillian Gareth mendefinisikan garis sebagai sekumpulan titik yang bila dideretkan maka dimensi panjangnya akan tampak menonjol dan sosoknya disebut dengan garis.

  • Persamaan Garis

y = mx + b Persamaan garis menurut koordinat Cartesian adalah dimana m adalah slope/kemiringan garis yang dibentuk dari dua titik, yaitu (x1,y1) dan (x2,y2). Untuk penambahan x sepanjang garis yaitu dx akan mendapatkan penambahan y sebesar : dy = m . dx

  • Atribut

Atribut dasar untuk garis lurus adalah type (tipe), width (tebal) dan color (warna). Dalam beberapa paket aplikasi grafik, garis ditampilkan dengan menggunakan pilihan pen atau brush .

  • Tipe Garis

Garis mempunyai beberapa linetype (tipe garis) diantaranya solid line (garis tebal), dashed line (garis putus), dan dotted line (garis titik-titik). Algoritma pembentukan garis dilengkapi dengan pengaturan panjang dan jarak yang menampilkan bagian solid sepanjang garis.

Ø Garis putus dibuat dengan memberikan nilai jarak dengan bagian solid yang sama.

Ø Garis titik–titik dapat ditampilkan dengan memberikan jarak yang lebih besar dari bagain solid.

Kehalusan tampilan garis pada layar sangant tergantung pada resolusi. Posisi pixel dapat digambarkan sesuai nilai scan-line dan nilai kolom. Nilai scan-line dimulai dari 0 pada bagia bawah layar dan kolom pixel dimulai dari 0 pada bagian kiri layar.


1. Algoritma Pembentukan Garis !

Berikut teori-teori terkenal juga paling umum mengenai bagaimana cara membentuk sebuah garis:, ialah teori garis ALGORITMA GARIS BRESENHAM dan DDA .

A. ALGORITMA GARIS BRESENHAM

Algoritma garis Bresenham merupakan algoritma yang menentukan titik-titik dalam raster n-dimensi yang diplot untuk membentuk pendekatan dengan garis lurus antara dua titik yang diberikan. Hal ini biasanya digunakan untuk menggambar garis pada layar komputer, dengan menggunakan integer penambahan, pengurangan dan pergeseran bit, dalam arsitektur komputer standar. Algoritma Bresenham adalah salah satu algoritma paling awal dikembangkan di bidang komputer grafis. Sebuah ekstensi kecil dengan algoritma asli juga berhubungan dengan lingkaran gambar. Bressenham tidak membulatkan nilai posisi pixel setiap waktu.. Berikut ini langkah langkah untuk membentuk garis menurut algoritma Bressenham

  1. Tentukan 2 titik yang akan dihubungkan dalam pembentuk garis.
  2. Tentukan salah satu titik disebelah kiri sebagai titik awal, yaitu (X0, Y0) dan titik lainnya sebagai titik akhir (X1, Y1)
  3. hitung Dx, Dy, 2DX dan 2Dy-2Dy
  4. Hitung parameter P0= 2Dy – 2Dx
  5. Untuk setiap X1 sepanjang jalur garis, dimulai dengan k=0,

- bila pk<0,>k + 1, Yk) dan Pk+1 = Pk +2Dy

- bila tidak, maka titik selanjutnya adalah (Xk + 1, Yk +1) dan Pk+1 = Pk +2Dy – 2Dx

  1. Ulangi langkah no. 5 untuk menentukan posisi selanjutnya, sampai X=X1 dan Y=Y1


A. Digital Diferensial Analyser (DDA)

Algoritma pembentukan garis berdasarkan perhitungan dx maupun dy, menggunakan rumus dy = m . dx. Garis dibuat menggunakan dua endpoint, yaitu titik awal dan titik akhir. Setiap koordinat titik yang membentuk garis diperoleh dari perhitungan, kemudian dikonversikan menjadi nilai integer. Langkah-langkah membentuk garis menurut algoritma DDA adalah : Algoritma DDA

  1. Tentukan 2 buah titik
  2. Tentukan yang menjadi titik awal (X0, Y0) dan titik akhir (X1, Y1)
  3. Hitung Dx dan Dy

Dx = X1 – X0 dan Dy = Y1 – Y0

  1. Bandingkan absolut (Dx) dan absolut (Dy)

Jika absolute (Dx) > absolut (Dy), maka

Steps = absolute (Dx) bila tidak, steps = absolut (Dy)

  1. Hitung penambahan koordinat pixel, yaitu:

  1. Koordinat selanjutnya yaitu:

X + X_increment

Y + Y_increment

  1. Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut
  2. Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y= Y1

PROGRAM GARIS PADA PASCAL

uses crt, graph;
var driver,mode:integer;
x1,y1,x2,y2:integer;
step,k:integer;
dx,dy:real;
xm,ym,x,y:real;
procedure utama;
begin
clrscr;
driver:=detect;
InitGraph(driver,mode,'');
end;
procedure Input;
begin
writeln('Program Menggambar Garis Dengan Algoritma DDA');
writeln('<<=========================================>>');
writeln;
write('Masukkan Nilai x1: ');
readln(x1);
write('Masukkan Nilai y1: ');
readln(y1);
write('Masukkan Nilai x2: ');
readln(x2);
write('Masukkan Nilai y2: ');
readln(y2); 6


end;
procedure Garis_DDA;
begin
dx:=x2-x1;
dy:=y2-y1;
x:=x1;
y:=y1;
if abs(dx) > abs(dy) then
step:=round(abs(dx))
else
step:=round(abs(dy));
xm:=dx/step;
ym:=dy/step;
putPixel(round(x),round(y),white);
for k:=1 to step do
begin
x:=x+xm;
y:=y+ym;
putPixel(round(x),round(y),white);
end;
end;
begin
input;
utama;
Garis_DDA;
readln;
end.




No comments:

Post a Comment