Skip to main content

Digital differential analyzer( DDA Algorithm)


                         DDA ALGORITHM


DDA Algorithm: DDA Algorithm stand for Digital Differential Analyzer Algorithm. DDA Algorithm is the simple line generation algorithm. Let’s what is DDA algorithm on simple way

Algorithm:


Step1 : Get Input of two end point A(X0 , Y0) and B(X1 , Y1)

Step2 : Calculate the Difference Between two point dx and dy
dx = X1 – X0
dy = Y1 – Y0

step 3 : if dx > dy , then you need move step in X Coordinate, otherwise in Y coordinate

if ( dx>dy)
    step=dx ;

else
    step = dy ;

step4 : Calculate the increment X and Y coordinate 

Xinc = dx / step ;
Yinc = dy / step ;

step5 : put the X coordinate and Y coordinate accordingly

for ( int v = 0 ; v< step; v++)
X= X+ Xinc ;
Y = Y + Yinc;
put Pix (Round(x), Round(y));
}

Advantage Of DDA Algorithm 


1) it is simplest algorithm
2) it does not require special skills for implementation
3) It is a faster method for calculating pixel positions

Disadvantage of DDA Algorithm

 

1) Floating point arithmetic in DDA algorithm is still time consuming. 
2) The algorithm is orientation dependent. Hence end point accuracy is poor.
3) Although DDA is fast, the accumulation of round-off error in successive additions of floating point increment, however can cause the calculation pixel position to drift away from the true line path for long line segment. 
4)Rounding-off in DDA is time consuming.

Comments

Popular posts from this blog

how to Install Numpy, Pandas and matplotlib on ubuntu 18.04 and Linux Mint

Install Python, NumPy,Matplotlib for Python 3 on Ubuntu 18.04, Linux Mint, Debian Linux. This is a short article about installing Numpy, Pandas , Matplotlib, Python3 on the latest Ubuntu 18.04 LTS, Linux Mint, Debian Linux which comes with Python 3.6.5. Let’s start by making sure we have an updated system: 1 sudo apt update 2 sudo apt upgrade Now, let’s install NumPy, Pandas,Matplotlib : sudo apt-get install python-pip sudo pip install numpy sudo pip install pandas sudo pip install matplotlib Test numpy : Open up a Terminal in Your Linux Operating System by running the following: python3 At the Terminal, type the following: >>> import numpy as np >>> np.__version__ '1.13.3'   Test Pandas : Open up a Terminal in Your Linux Operating System by running the following: python3 At the Terminal, type the following: >>> import pandas as pd >>> pd.__version__ '0.22.0'   Test Matpl...

Introduction to SQL and Database with example

            Introduction to SQL and Database What is SQL? SQL is a language used to retrieve and manipulate data in a RDMS. SQL stands for S tructured Q uery L anguage. What is a Database? A database is a place to store data. A relational database system (RDBMS) stores data in tables. Relational Database Tables A relational database stores data in tables. Each table has a number of rows and columns. The table below has 4 rows and 3 columns. SQL and Relational Databases A relational database contains tables which store data that is related in some way. SQL is the language that allows retrieval and manipulation of table data in a relational database.

Library Management System DataFlow Diagram

Library Management System DataFlow Diagram 1) Zero Level DFD 2) 1st level DFD and 2nd level DFD