My machine is a simple but relatively fast implementation of the Bresenham line drawing algorithm (brief explanation of algorithm in video), attached to a screen. Using this algorithm ensures accurate lines that are representative of the underlying pixel distances. My implementation uses vertical computational redstone, mainly adders (also for subtraction), and swapping logic.
Features:
- 4 bit (16x16 display) line drawing capability
- Accurate and standardized algorithm implementation (Bresenham)
- Any line, any orientation, auto swapping ensures machine can handle any combination of values
- Fast and constant 1.4 seconds per point
Disclaimer: All logic, construction, and planning of the machine and sub components was designed/executed by myself alone, EXCEPT: The CCA (Carry Cancel Adder) design I use was used from somewhere online (can't remember the source).
In order to use the creation, please see the video link for more details, but a brief overview is:
- Navigate to the control panel area, located at the coordinates in this post (opposite side from where the screen is).
- Input start/end points, NOTE: lever towers are y0, y1 and x0, x1, not like some would expect y0, x0, x1, y1. This is to make the redstone cleaner and faster, just pay attention to the signs.
- Clear the screen if you so wish using the button on the right (or don't, if you want multiple lines at the same time)
- Click "Initialize", give it 1-2 seconds, and then you can click "Draw full speed!" whenever you'd like, and watch it rip!
Thank you for your consideration of my application, please let me know if you would like me to change anything.
Comments
Postponed until fixed
Temporary denied, until the drawer is fixed.
There is (at least) one line that won't be drawn properly: 14|4 → 0|13 (x|y).