Grafika Komputer : Implementasi Algoritma DDA

Artikel kali ini kita akan mencoba mengimplementasikan algoritma DDA dalam mata kuliah grafika komputer menjadi suatu program c++. Tanpa berlama-lama kita langsung masuk ke pembahasannya.

Yang pertama yang kita buat adalah mempersiapkan setiap langkah-langkah kunci, dengan tujuan memudahkan pada saat pengkodean.

Kunjungi Juga : ocumps.tech

Dimana langkah-langkah pembentukan garis berdasarkan algoritma DDA sebagai berikut :

1. Tentukan 2 titik yang akan dihubungkan dalam pembentukan garis

2. Tentukan salah satunya sebagai titik awal (x1, y1), dan yang lain sebagai titik akhir (x2, y2)

3. Hitung : dx = (x2-x1) dan  dy = (y2-y1)

4. Tentukan step dengan ketentuan berikut : 

     – bila |dx| > |dy| maka step = |dx|

     – bila tidak maka step = |dy|

5. Hitung penambahan koordinat pixel dengan persamaan :  x_inc = dx/step  dan  y_inc = dy/step

6. Koordinat selanjutnya  : x = x + x_inc  dan  y = y + y_inc

7. Lakukan pembulatan u = round(x), v = round(y), kemudian plot pixel (u, v) pada layar

8. Ulangi point 6 dan 7 untuk menentukan posisi pixel berikutnya sampai (x = x2) dan (y = y2)

Baca Juga : Grafika Komputer : Implementasi Clipping Polygon

Maka kode yang dihasilkan akan seperti ini :

#include <iostream>

#include <cmath>

#include <fstream>

using namespace std;

int main(){

   //inisialisasi dan deklarasi variabel

   int x1, y1, x2, y2, step;

   float x, y, dx, dy, x_inc, y_inc;

   //menentukan titik awal dan akhir

   cout << “Masukan nilai x awal (x1) :”; cin >> x1;

   cout << “Masukan nilai y awal (y1) :”; cin >> y1;

   cout << “Masukan nilai x akhir (x2) :”; cin >> x2;

   cout << “Masukan nilai y akhir (y2) :”; cin >> y2;

   //proses hitung dx dan dy

   dx = x2 – x1;

   dy = y2 – y1;

   //perkondisian penentuan step

   if (dx > dy){

         step = dx;

   }else{

         step = dy;

   }

   //deklarasi variabel penampung x dan y sementara

   float u[step+1], v[step+1];

   //proses hitung x_inc dan y_inc

   x_inc = dx/step;

   y_inc = dy/step;

   //loop penentuan titik-titik

   for(int i=0; i<=step; i++){

         if(i == 0){

               x = x1;

               y = y1;

               u[i] = x;

               v[i] = y;

         }else{

               x = x + x_inc;

               y = y + y_inc;

               u[i] = round(x);

               v[i] = round(y);               

         }      

   }

//tulis data ke file format dat

   ofstream file_out;

   file_out.open(“dataset.dat”);

   // perkondisian file bisa dibuka atau tidak

   if(!file_out){

         cout << “File error tidak bisa dibuka, Program dihentikan paksa”;

         exit(-1);

   }else{

         file_out <<“#  X  Y\n”;

         for(int i=0; i <= step; i++){

               file_out <<”  “<< u[i] << ”  ” << v[i] <<“\n”;

         }

   }

   // tutup data file

   file_out.close();

   cout << “Dataset siap, Plot menggunakan gnuplot. Enter untuk keluar!” << endl;

   return 0;  

}

Selanjutnya setelah dirunning akan menghasilkan seperti berikut

Tampilan running program untuk memasukan x1,y1, x2 dan y2

setelah selesai menentukan titik awal dan akhir maka dihasilkan file dengan nama dataset.dat

Tampilan isi file dataset.dat

setelah dataset disiapkan, kita tinggal memplotnya. Dalam hal ini saya menggunakan gnuplot. untuk cara instalasi akan ditulis dilain artikel, tapi berikut documentasi dari website resminya gnuplot.info

Selanjutnya untuk cara plotnya kita masuk ke cmd lalu :

-arahkan ke directory tempat dataset.dat tersimpan

-jalankan perintah “gnuplot”

dalam uji coba ini karena nilai x terendah 2 dan tertinggi 8, dan nilai y terendah 1 dan tertinggi 5 , sehingga set range dengan berikut

-jalankan “set xrange [0:8]”

-jalankan “set yrange [0:5]”

nilai tersebut bisa disesuaikan dengan nilai tertinggi dan terendah x dan y yang anda hasilkan. Yang terakhir jalankan 

-jalankan  ‘plot “dataset.dat”

sehingga output yang dihasilkan sebagai berikut, Tampilan dataplot

Sekian artikel singkat kali ini, Semoga bermanfaat, menambah wawasan dan membantu teman-teman ketika ingin mencoba algoritma DDA. Terima kasih telah berkunjung.

Baca Juga : Cara Instalasi Laravel Dengan Mudah – Laravel Tutorial

Ocumps Writer

Related Posts

Membalikan Kata Dengan Bahasa Pemograman C++

Artikel kali ini kita akan mencoba menyelesaikan suatu persoalan dibawah ini menggunakan bahasa pemograman c++. Kunjungi Juga : ocumps.tech     “Buatlah sebuah program untuk membalikan sebuah array of string…

Continue reading
Mencari Nilai Acak Dengan Bahasa Pemograman C++

Artikel kali ini kita akan mencoba menyelesaikan studi kasus mencari nilai acak menggunakan bahasa pemograman c++.Tanpa berlama-lama kita langsung masuk ke materi nya Yang pertama yang harus kita lakukan adalah…

Continue reading

One thought on “Grafika Komputer : Implementasi Algoritma DDA

Leave a Reply

Your email address will not be published. Required fields are marked *

You Missed

Tutorial Menambahkan Outline Stroke Pada Teks Di Adobe Photoshop

Tutorial Menambahkan Outline Stroke Pada Teks Di Adobe Photoshop

Cek Windows kamu, Apakah Basis Sistem 32 atau 64 bit

Cek Windows kamu, Apakah Basis Sistem 32 atau 64 bit

Pengertian, Fungsi dan Manfaat Microsoft Word

Pengertian, Fungsi dan Manfaat Microsoft Word

Interkoneksi Antar Komponen

Interkoneksi Antar Komponen

Manjaro Linux : Sejarah, Kelebihan Dan Kekurangannya

Manjaro Linux : Sejarah, Kelebihan Dan Kekurangannya

Manajemen Perangkat I/O : Fungsi, Teknik Dan Komponennya

Manajemen Perangkat I/O : Fungsi, Teknik Dan Komponennya