Media Player

Google Search

Google

Tiga Posting Terpopuler

Tuesday, March 29, 2011

Pemrograman grafis adalah sebuah pemrograman yang menggunakan titik, titik yang terhubung satu sama lain.
Salah satu hasil paling sederhana dalam penghubungan titik-titik tersebut adalah Garis.
Garis adalah hasil dari dua buah titik yang terhubung. Pembentukan sebuah garis pada koordinat kartesius dapat dirumuskan dengan persamaan : y=m.x+b

jika dimisalkan pada dua titik(x0,y0 dan x1,y1) akan dibuat sebuah garis lurus, kita dapat menentukan nilai “m' dan “b” dengan persamaan berikut:

m=(y1-y0)/(x1-x0)
b=y1-m.x1

algoritma untuk menggambar garis pada komputer didasarkan pada dua persamaan di atas. dimana m adalah gradien atau kemiringan garis tersebut.

Pembentukan dengan Algoritma digital differential analyzer(DDA),

Prinsip algoritma ini adalah mengambil nilai integer terdekat dengan jalur garis berdasarkan atas sebuah titik yang telah ditentukan sebelumnya(titik awal garis).
Algoritma pembentukan garis DDA:

1.Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.

2.Tentukan salah satu titik sebagai awal(x0,y0) dan titik akhir(x1,y1).

3.Hitung dx=x1x0, dan dy= y1y0.

4.Tentukan langkah, yaitu dengan cara jarak maksimum jumlah penambahan nilai x maupun nilai y, dengan cara:

Bila nilai absolut dari dx lebih besar dari absolut dy, maka langkah= absolut dari dx.
Bila tidak maka langkah= absolutdari dy

5.Hitung penambahan koordinat pixel yaitu x_increment=dx/langkah, dan y_increment=dy/langkah

6.Koordinat selanjutnya (x+x_increment, y+y_increment)

7.Posisi pixel pada layar ditentukan dengan pembulatan nilai koordinat tersebut.

8.Ulangi nomor 6 dan 7 untuk menentukan posisi pixel selanjutnya,sampai x=x1 dan y=y1.


Contoh Prosedur DDA dalam pascal:

uses graph,crt;
procedure drawLine(xstart,ystart,xend,yend:integer);
var
step,k:integer;
dx,dy:real;
x_inc,y_inc,x,y:real;
begin
dx:=xend-xstart;
dy:=yend-ystart;
x:=xstart;
y:=ystart;
if abs(dx) > abs(dy) then
step:=round(abs(dx))
else
step:=round(abs(dy));
x_inc:=dx/step;
y_inc:=dy/step;
putPixel(round(x),round(y),30);
for k:=1 to step do
begin
x:=x+x_inc;
y:=y+y_inc;
putPixel(round(x),round(y),30);
end;
end;
begin
init;
{menggambar garis dari titik 10,10 ke 500,10}
drawLine(10,10,500,10);
readkey;
destroy;
end.

Jika diaplikasikan pada pemrograman delphi, maka bisa didapatkan hasil sebagai berikut :



Diolah dari berbagai sumber.

Friday, March 18, 2011

Another Sketch


I think my sketch will get more viewer if i post it in the net... ^_^
Please leave your comment if you like my setch ^_^\


----------------------------------------------
Title : MySelf
By Achied90
14 March 2011

----------------------------------------------
Title : ShiShimaru the Sword's-man
by achied90
14 february 2011

----------------------------------------------
Title : Virgo the Maid from Fairy Tail
By Achied90
24 January 2011



----------------------------------------------

Title : Shigure From Strongest Desciple Kenichi
By Achied90
8 February 2011

----------------------------------------------

Title : Lonelies
By Achied90
20 February 2011

----------------------------------------------

Title : Dua Sahabat
By Achied90
24 January 2011

----------------------------------------------


 

blogger templates | Make Money Online