For advertisement here, contact at:

Symmetrical DDA !

Symmetrical DDA (digital differential analyzer) generates lines from their differential equations. It is important to note that DDAs can also be used to generate arcs and other curves.

We know that the differential equation of a straight line is Dxf(x)=c or dy/dx=c if a variable y represents f(x). If we replace dy/dx by deltay/deltax (change in y over the change in x) the relation still holds true. The quotient of the increments must be equal to the line's slope (or its derivative). So for example if we have f(x)=3x+5, then Dxf(x)=3, which we know to be the slope of the line also. With this in mind, the DDA works on the principle that given a starting point (x,y), x and y are incremented by small steps proportional to deltax and deltay until we get to the end point in which case the DDA terminates. So in general, given a start point and end point we can generate a line by proceeding as follows:

1).Calculate the derivative
2).Chose incremental values for deltax and deltay
3).Plot the first point (start point)
4).Increment x by deltax
5).Increment y by deltay
6).Do some kind of rounding since the coordinates might not be integral
7).Plot this pixel

Basically we proceed in this fashion. In general we have:

1).Xn+1 = Xn + deltax
2).Yn+1 = Yn + deltay

Notice that the exact points are the nonrounded points but due to the noninfinite nature of the display, we plot the rounded (integral) points. In the case of an infinite precision display, we could generate a line by incrementing x by some e(deltax) and y by some e(deltay) where e is epsilon and is some small quantity. Visually, we have the following:

Back to

MCA Cource
KU's MCA Course


Survey of Computer Graphics Applications Interactive & Passive Graphics Introduction to GKS Primitives Display Processors

Graphic Devices

Display Systems-Refresh CRTs Raster Scan Monitors Random Scan Monitors Grey shades Interlacing Beam Penetration & Shadow Mask Monitors Look Up Tables Plasma Panel Flat-Panel Displays LED LCD VGA SVGA Hard Copy Devices Printers Plotters Interactive Input Devices Keyboard Mouse Digitizing Tablet Light Pen Touch Panels Image Scanners Voice systems Joy Stick Track Ball

Drawing Geometry

Coordinate System Resolution Homogeneous Coordinate System scan conversion DDA Symmetrical DDA Simple DDA Bresenhams Line Algorithm Circle Drawing Algorithm Polar Coordinates Bresenhams Circle Algorithm Ellipse

2-D Transformations

Transformations Translation Rotation Scaling Mirror Reflection Shearing Zooming Panning Postioning Pointing Rubber Band Methods Dragging Tweening

Graphic Operations

Clipping Points Clipping Line Clipping Sutherland-Cohen Algorithm Midpoint Sub-Division Algorithm Polygon Clipping Sutherland Hodgman Algorithm Window & Viewport Windowing Transformation Stack Based Fill Algorithm Scan-Line Seed Fill Algorithm

3-D Graphics

3D Modelling of Objects 3D display Techniques Coordinate System 3D Transformation Matrices For Translation, Scaling & Rotation Parallel Projection Perspective Projection Hidden Surface Removal Z-Buffer Back Face Scan-Line Depth-Sorting Area Subdivision Shading-Modelling Light Intensities Gouraud Shading Phong Shading


Hypertext or Hypermedia Multimedia Applications Authoring Hardware Components Windows paint brush

Post Your Answer

Post your answer at: