Selasa, 05 April 2011

Algoritma Pembentukan Elips

Elips merupakan modifikasi dari bentuk lingkaran, dengan memasukkan mayor dan minor axis pada prosedur lingkaran. Elips ditentukan oleh satu set titik dengan memperhitungkan jumlah jarak dari kedua posisi(foci). Bila jarak ke kedua foci dari sembarang titik p(x,y) pada elips diberi label d1 dan d2, maka persamaan elips menjadi :
d1+d2=konstan
Untuk menggambarkan jarak d1 dan d2 dengan ketentuan koordinat masing masing F1(1(x1,1,y1) 1) 1) dan F2(2(X2,2,Y2)
Ö((xx1)2+(yy1)2)2+Ö((xx2)2+(yy2)2=konstan
Dimana mayor dan minor axis elips dalam posisi pararel dengan sumbu x dan sumbu y pada contoh ini, parameter rx disebut semi major axis dan ry disebut semi minor axis, sehingga persamaan elips dengan parameter rx dan ry menjadi :
((xrc)/rx)2 + ((yyc)/ry)2=1
Algoritma elips Midpoint
Untuk algoritma pembentukan elips, pendekatan yang dilakukan sama dengan penggunaan pada saat menampilkan lingkaran. Dengan parameter untuk elips pada posisi standar, yaitu rx, ry, dan(xc,yc). Bila elips ditampilkan pada posisi standar, maka dapat dilakukan dengan memutar elips tersebut menurun koordinat titik pusat, dan mendapatkan kembali mayor dan minor axis.

Metode midpoint untuk elips dijalankan pada kuadran pertama dalam dua bagian. Bagian pertama menrut kemiringan elips rx<ry. Penambahan dengan unit step pada arah sumbu x dilakukan bila slope lebih kecil dari 1, dan dengan unit step menurut sumbu y bila kemiringan lebih besar dari 1.

Bagian 1 dan 2 dapat digunakan untuk bermacam macam cara. Pertama dimulai dari posisi (0,ry) dan step searah jarum jam sepanjang jalur elips pada kuadran pertama. Pergeseran dengan unit step dalam x pada saat slope lebih besar dari 1.

Alternatif lain, dimulai dari (rx,0) dan seleksi titik dalam arah berlawanan dengan arah jarum jam. Penggeseran unit step y ke unit step x pada saat kemiringan lebih besar dari 1. dengan prosesor pararel, posisi pixel dapat dihitung dalam dua bagian sekaligus.

Pembentukan elips menurut algoritma Circle midpoint sebagai berikut:
1.Tentukan rx,ry dan pusat elips (xc,yc) kemudian diperoleh (xo,yo)=(0,ry)
2.Hitung nilai parameter P10=ry2rx2 ry+1/4 rx2
3.Tentukan nilai awal k=0, untuk setiap posisi xk k berlaku sebagai berikut :
  • Bila p1k< 0 maka titik selanjutnya adalah (xk+1, yk) 
p1k+1k+1k+1=p1k+2ry2xk+1k+1k+1+ry2
  • Bila tidak, maka titik selanjutnya adalah (xk+!,yk1) dan
p1k+1k+1k+1=p1k+2ry2xk+1k+1k+12rx yk+1k+1k+1+ry2
dengan
2ry2xk+1k+1k+1=2ry2xk k +2ry2
Dan
2rx yk+1k+1k+1=2rx2 yk k +2rx2
Teruskan sampai 2ry2x >= 2rx2 y
4.Tentukan nilai parameter pada bagian kedua menggunakan titik terakhir (x0,y0) yang telah dihitung pada bagian pertama, sebagai berikut
P2k+1=k+1=k+1=k+1=2ry2 2 (xo+1/2)2+2rx2 2 (yo1)2rx2 ry2
5.Setiap posisi yk k pada bagian kedua, dimulai dengan k=0
  • Bila p2k> 0 maka titik selanjutnya adalah (xk, yk1)
p2k+1k+1k+1=p2k+2rx2yk+1k+1k+1+rx2
  • Bila tidak, maka titik selanjutnya adalah (xk+1,yk1) dan
p2k+1k+1k+1=pk+2ry2xk+1k+1k+12rx yk+1k+1k+1+ry2
6.Tentukan titik simetris pada ketiga kuadran lainnya
7.Gerakkan setiap posisi(x,y) pada garis melingkar dari elisp dengan titik pusat(xc,yc) dan tentukan nilai koordinat
x=x+xc y=y+yc
8.Ulangi langkah untuk bagian pertama di atas, sehingga 2ry2x >= 2rx2 y
Contoh algoritma elips Midpoint
Untuk menggambarkan algoritma midpoint dalam pembentukan elips dengan titik pusat(0,0) dan mayor axis rx=6, serta minor axis ry=8, perhitungan berdasarkan pada kuadran pertama sebagai berikut:, nilai parameter dapat ditentukan
        2ry2x=0
        2ry2x=2rx2 ry
        p1o= ry2 2 2 + rx2 ry y 1/4 rx2
              =-215

Koordinat titik awal (x,r) =(0,8)

Prosedur algoritma elips MidpointProsedur berikut menampilkan posisi pixel pada monitor dengan algorima Midpoint. Input yang digunakan adalah koordinat titik pusat mayor axis, dan minor axis. Posisi pixel ditentukan dengan rutin setPixel.
uses graph,crt;
   {tambahkan pada bagian ini prosedur penginisialisasian device, lihat pada bab 1}
     procedure elipsPlotPoints(xCenter,yCenter,x,y:integer);
begin
       putPixel(xCenter+x, yCenter+y,30);
       putPixel(xCenter-x, yCenter+y,30);
       putPixel(xCenter+x, yCenter-y,30);
       putPixel(xCenter-x, yCenter-y,30);
end;
procedure elipsMidPoint(xCenter,yCenter,Rx, Ry:integer);
var
      Rx2,Ry2,x,y,twoRx2,twoRy2,py,px,p:integer;
begin
      Rx2:=Rx*Rx;
      Ry2:=Ry*Ry;
      x:=0;
      y:=Ry;
      twoRx2:=2*Rx2;
      twoRy2:=2*Ry2;
      px:=0;
      py:=twoRx2*y;
      elipsPlotPoints(xCenter,yCenter,x,y);
        //bagian1
        p:=round(Ry2-(Rx2*Ry)+(0.25*Rx2));
        while px<py do
        begin
               x:=x+1;
               px:=px+twoRy2;
               if p<0 then
                    p:= p+(Ry2+px)
              else
              begin
                    y:=y-1;
                    py:=py-twoRx2;
                    p:=p+(Ry2+px-py);
              end;
       elipsPlotPoints(xCenter,yCenter,x,y);
       end
    //bagian 2
    p:=round(Ry2*(x+0.5) *(x+0.5)+Rx2*(y-1) *(y-1)-Rx2*Ry2);
    while y>0 do
    begin
           y:=y-1;
           py:=py-twoRx2;
           if p>0 then
                   p:=p+(Rx2-py)
                  else
                  begin
                           x:=x+1;
                           px:=px+twoRy2;
                           p:=p+Ry2+px-py;
                  end;
           elipsPlotPoints(xCenter,yCenter,x,y);
    end;
end;
begin
        init;
        elipsMidPoint(130,120,120,190);
        readkey;
       destroy;
end.

* Sumber : Modul Praktikum Grafika Komputer 2D oleh Muhammad Fuad DR, Fakultas MIPA
                 Universitas  Gajah Mada Yogyakarta

(edited by : erni mahdalena)

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;
       {tambahkan pada bagian ini prosedur penginisialisasian device, lihat pada bab 1}
        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.

* Sumber : Modul Praktikum Grafika Komputer 2D oleh Muhammad Fuad DR, Fakultas MIPA
                 Universitas  Gajah Mada Yogyakarta

(edited by : erni mahdalena)

Cara Berbelanja Barang di Amazon.com

Di zaman teknologi sekarang ini, semuanya sudah serba praktis, mau belanja tapi nggak perlu keluar rumah dan datang ke pusat-pusat perbelanjaan juga bisa.Yups....salah satu caranya adalah berbelanja dengan menggunakan fasilitas online yang sudah disediakan oleh perusahan-perusahan E-commerce. Salah satu contohnya ialah Amazon.com

Berikut ini adalah langkah-langkah berbelanja di Amazon.com :

Langkah pertama yang kita harus lakukan adalah login di Amazon.com (bisa login lewat sini)dan kemudian dapat membuka salah satu subpage/sub halamannya seperti pada gambar di bawah ini
Gambar 1
Kemudian pilihlah produk sesuai keinginan anda, misalkan saya disini memilih produk Cell Phone Samsung Star GT-S5230 Unlocked Phone with Full Touchscreen. Selanjutnya akan muncul halaman seperti gambar dibawah ini :
 
Klik Add to Card atau jika hanya membeli satu produk maka klik sign in. Untuk selanjutnya akan muncul halaman seperti berikt :
Masukan alamat email anda pilih I am a new costumer, jika anda baru pertama kali berbelanja di amazon.com. Lalu klik Sign in using our secure server untuk beralih ke halaman selanjutnya. jika sudah memiliki account di amazon.com seperti saya maka halaman yang akan muncul selanjutnya ialah :
Masukan alamat pengiriman dan isilah sesuai data yang sebenarnya. Jika ada kesalahan maka resikonya ialah barang yang sudah kita beli tidak akan sampai. Kemudian klik button Continue.

Selanjutnya akan muncul halaman di mana kita disuruh untuk memasukkan pilihan pengiriman (Shipping Option). Jika tidak memerlukan barang tersebut untuk kebutuhan mendesak maka pilihlah option Standar Shipping, namun jika untuk kebutuhan yang mendesak maka pilih option yang kedua. untuk option yang kedua akan ada biaya tambahan.
Klik tombol continue untuk masuk kehalaman Payment Option.

Jika Anda ingin berbelanja di Amazon.com menggunakan kartu kredit, tekan tombol Add New a Card.Masukkan data kartu kredit, nama di kartu kredit, masa expired kartu dan tipe Kartu kredit yang dipakai. Jika Anda ingin berbelanja beberapa produk, Untuk menambah barang / produk lainnya yang akan dibeli, silahkan klik button add to chart yang di bawah produk lainnya. Kemudian klik buttin Proced to Checkout  atau Sign In (to turn on 1-Click ordering).Dan langkah selanjutnya tidak jauh berbeda dengan cara pembelian untuk satu produk saja saja.


Setelah semua proses dilalui, kita harus menunggu berberapa waktu untuk barang tersebut tiba.

Selamat Mencoba..........
(by : Erni Mahdalena)