{"id":45,"date":"2022-02-07T19:31:31","date_gmt":"2022-02-07T19:31:31","guid":{"rendered":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/?p=45"},"modified":"2022-03-30T13:28:55","modified_gmt":"2022-03-30T13:28:55","slug":"bresenhams-line-drawing-algorithm","status":"publish","type":"post","link":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/2022\/02\/07\/bresenhams-line-drawing-algorithm\/","title":{"rendered":"Bresenham&#8217;s Line Drawing Algorithm"},"content":{"rendered":"\n<p>The next objective of this project was to implement a module that functioned as a Bresenham&#8217;s Line Drawing State Machine. Given any two input coordinates, the module would output discrete coordinates for each point along the line to be inserted into the frame buffer, with high efficiency. Due to our single clock domain system, we reached a near-perfect efficiency of 1 pixel write per clock cycle, wasting only a single cycle at the beginning of each line drawn. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The next objective of this project was to implement a module that functioned as a Bresenham&#8217;s Line Drawing State Machine. Given any two input coordinates, the module would output discrete coordinates for each point along the line to be inserted into the frame buffer, with high efficiency. Due to our single clock domain system, we &hellip; <a href=\"https:\/\/engprojects.tcnj.edu\/3d-fpga\/2022\/02\/07\/bresenhams-line-drawing-algorithm\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Bresenham&#8217;s Line Drawing Algorithm<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":373,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-projectupdates"],"_links":{"self":[{"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/users\/373"}],"replies":[{"embeddable":true,"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/comments?post=45"}],"version-history":[{"count":0,"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/posts\/45\/revisions"}],"wp:attachment":[{"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/media?parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/categories?post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engprojects.tcnj.edu\/3d-fpga\/wp-json\/wp\/v2\/tags?post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}