Upcoming SlideShare
×

# FPGA-Sketch Board

1,513 views

Published on

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
1,513
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
5
0
Likes
0
Embeds 0
No embeds

No notes for slide

### FPGA-Sketch Board

1. 1. FEATURES OF SKETCH-BOARD<br /><ul><li>Drawing a line.
2. 2. Drawing a Square/Rectangle.
3. 3. Drawing a Circle.
4. 4. Drawing a Triangle.
5. 5. Increasing the thickness of the edges of objects.
6. 6. Clear Drawing Area.
7. 7. Fill color in the shapes.
8. 8. Moving the object in the drawing area.
9. 9. Flashing of the object name and its tool menu on VGA screen.
10. 10. Displaying the input of switches on the VGA screen.</li></li></ul><li>USING THE APPLICATION<br />
11. 11. USING THE APPLICATION<br />
12. 12. COMPARE LINE DRAWING ALGORITHMS<br /> BRESENHAM’S LINE DRAWING ALGORITHM ::<br />Fast and Incremental algorithm.<br />It involves only integer calculations in its point computing.<br />It makes use of addition, subtraction and shifting only.<br /> DIGITAL DIFFERENTIAL ANALYZER ALGORITHM ::<br />Round-off errors makes the computing pixel to drift away from the ideal line. <br />Time consuming -Floating point arithmetic & rounding off process<br /> XIAOLIN WU’S LINE ALGORITHM ::<br />Performs anti-aliasing.<br />Draw pairs of pixels on both side of the computed pixel and are coloured in a way that they look alike. <br />Slower than Bresenham’s Line Drawing algortihm.<br /> <br />
13. 13. BRESENHAM’S LINE DRAWING<br /> If(midpoint>ideal line)<br />Next_pixel_to_be_plotted = Next_Lower_pixel; (po<0)<br /> Else<br />Next_pixel_to_be_plotted = Next_Upper_pixel; (po>0)<br />po= 2*dy(LOWER PIXEL) (Next Co-ordinates will be (xk+1,yk)).<br /> <br />po= 2*dy – 2*dx (UPPER PIXEL) (Next Co-ordinates will be (xk+1,yk+1)). <br />
14. 14. CIRCLE DRAWING<br /><ul><li>Find y- by stepping in unit step along x-axis.
15. 15. x ranges from xc-r to xc+r.
16. 16.    </li></ul> <br /><ul><li>It involves multiplication, subtraction, addition, square-root,etc.
17. 17. Spacing between each point is not uniform.
18. 18. Large gaps between pixels near the vertical line.</li></li></ul><li>BRESENHAM’S CIRCLE DRAWING<br /> If po<0 then po=po+3+(2*x). (SELECT NEXT UPPER PIXEL i.e. (xk+1,yk))<br /> If po>0 then po=po+1+(2*x)-(2*y). (SELECT NEXT LOWER PIXEL i.e. (xk_1,yk-1))<br />
19. 19. RECTANGLE & TRIANGLE DRAWING ALGORITHMS<br /><ul><li>Co-ordinates of Diagonal as Input.
20. 20. Determine the co-ordinates of the vertices.
21. 21. Utilize Bresenham’s line drawing algorithm for drawing lines. i.e. horizontal and vertical lines.
22. 22. Take input as co-ordinates of the slanted line.
23. 23. Draw slanted line by brsenham’s algorithm.
24. 24. Determine the co-ordinates of other line from given input and draw remaining lines.</li></li></ul><li>MODIFIED BOUNDARY FILL ALGORITHM<br />Fill the color till boundary is reached. Don’t compare with the old pixel color or boundary pixel color.<br />INCREASING EDGE SIZE ALGORITHM <br />MOVING SHAPES ALGORITHM<br /><ul><li>Increase the pixel by factor of 2.
25. 25. Plots the pixel +2 above and -2 below.
26. 26. Key Pressed  co-ordinate changes.
27. 27. Moves to new co-ordinate but within drawing area.</li></li></ul><li>CHALLENGES<br /><ul><li>PS2 CONTROLLER INTERFACE
28. 28. VGA INTERFACING
29. 29. IMPLEMENTING HARDWARE FOR ALGORITHMS.</li></ul>IMPROVEMENTS<br /><ul><li>REMOVE PS2 LIMTATION.
30. 30. FULL FUNCTIONALITY BY PS2 MOUSE.
31. 31. USING SOPC BUILDER.
32. 32. UTILIZING MEMORY – TO STORE PREVIOUS STATE. </li></ul>LEARNINGS<br /><ul><li>PRACTICAL KNOWLEDGE OF VGA INTERFACE & PS2 MOUSE INTERFACING.
33. 33. OPPORTUNITY TO LEARN HARDWARE PROGRAMMING LANGUAGE.</li>