I have read about DDA. But I just came across the term symmetric DDA. What is it ? How is it different from DDA ?
what is meant by symmetric DDA?
9.7k Views Asked by Y.E.P At
1
There are 1 best solutions below
Related Questions in ALGORITHM
- Two different numbers in an array which their sum equals to a given value
- Given two arrays of positive numbers, re-arrange them to form a resulting array, resulting array contains the elements in the same given sequence
- Time complexity of the algorithm?
- Find a MST in O(V+E) Time in a Graph
- Why k and l for LSH used for approximate nearest neighbours?
- How to count the number of ways of choosing of k equal substrings from a List L(the list of All Substrings)
- Issues with reversing the linkedlist
- Finding first non-repeating number in integer array
- Finding average of an array
- How to check for duplicates with less time in a list over 9000 elements by python
- How to pick a number based on probability?
- Insertion Sort help in javascript -- Khan Academy
- Developing a Checkers (Draughts) engine, how to begin?
- Can Bellman-Ford algorithm be used to find shorthest path on a graph with only positive edges?
- What is the function for the KMP Failure Algorithm?
Related Questions in GRAPHICS
- Removing flashiness/ shakiness from scrolling text
- Algorithm for drawing tiles on screen
- Can this kind of SVG be simplified?
- Interactive bend image
- Plot: Add legend that overlay several Frames
- I made a function that uses graphics and I wanted to call it in the main it did not work
- Creating new shape palettes in ggplot2 and other R graphics
- How to move everything in Graphics2D by x,y coordinates.
- Java Graphics Dispose Method
- How can I convert PNG to GIF keeping the transparency?
- Java repaint() not calling paintComponent
- 1080p resolution is not detected by screen.bounds and reverts to 720p
- Creating a Texture2DArray and populate it with solid values
- paintComponent method not being called by repaint
- Dealing with and printing large text files
Related Questions in LINE-DRAWING
- Java FX dragging and deleting lines
- Point / Line Detection Based on a Set of Consecutive / Semi-Consecutive Points
- Free hand line drawing in ASP.NET AJAX
- Line drawing with Cocos2D for iPhone
- how do you draw a line in a pixel array
- Understanding Bresenham's error accumulation part of the algorithm?
- Rotate line around center
- Animated glowing SVG line drawing not working across browsers
- How to calculate the similarity of two line drawing images in swift
- Wu's anti-aliasing algorithm, vertical lines
- DDA algorithm not drawings lines for some coordinates?
- Line draw svg in Anime.js long delay and line missing
- Is there an efficient Xiaolin Wu's line function with SDL (or an add on)?
- Bresenham's algorithm next pixel?
- C#: Draw a line in SharpDX (Direct3D11)
Related Questions in DDA
- Digital Diferential Analizer Dotted Line
- How to implement DDA algorythm for 3D visualisation in javascript?
- EMV choose crypto method between SDA/DDA/CDA
- Confused in DDA algorithm , need some help
- DDA algorithm not drawings lines for some coordinates?
- In DDA, why are lines sampled in unit intervals of x if gradient <= 1
- Error while running DDA Line drawing algorithm in C
- Precision problems in raycasting algorithm
- Can someone help me fix my DDA collision algorithm in processing?
- What's the basic difference between the following two implementations?
- what is meant by symmetric DDA?
- Line drawing using DDA
- draw a line with open gl mouse function using dda/bresenham algorithm
- Drawing line without using DrawLine method
- Add Custom cursor on ID3D11Texture2D texture
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The DDA (Digital Differential Analyzer) algorithm is used to find out interpolating points between any given two points, linearly (i.e. straight line). Now since this is to be done on a digital computer - speed is an important factor.
The equation of a straight line is given by m=Δx/Δy eq(i), where Δx = x(2)-x(1) & Δy = y(2)-y(1),
now using this equation we could compute successive points that lie on the line. But then this is the discrete world of raster graphics - so we require integral coordinates.
In simple DDA eq(i) is transformed to m=eΔx/eΔy where e, call it the increment factor, is a positive real number. since putting the same number in numerator and denominator does not change anything - but if suitably chosen - it can help us in generating discrete points thereby reducing the overload of having to round off the resultant points.
Basically what we need to do is: increment the coordinates by a fixed small amount, beginning from the starting point, and each time we have a new point progressing towards the end point.
In simple DDA - e is chosen as 1/max(|Δx|,|Δy|) such that one of the coordinate is integral and only the other coordinate has to be rounded. i.e. P(i+1) = P(i)+(1,Round(e*Δy)) here one coordinate is being incremented by 1 and the other by e*Δy
Specifically e is chosen as 1/2^n where 2^(n-1) <= max(|Δx|,|Δy|) < 2^n. In other words the length of the line is taken to be 2^n aligned. The increments for the two coordinates are e*Δx and e*Δy. With suitably chosen initial fraction part of the beginning coordinates: this causes the points to be generated as mixed fractions whose fractional parts are in a cyclic series, i.e. they repeat over a small length. The resultant coordinates can thus easily be rounded off based on two fixed length look-up tables, one for each coordinate.
refer http://w3.msi.vxu.se/~gsu/DAB726-Ht06/Symm-DDA.pdf for an example.
Notice the cyclic repetition in the fractional part of the resultant coordinates.