{"id":6,"title":"TupperWare","independent":true,"description":"This Processing-based project allows users to interact with a scrolling graph of binary representations of numbers, inspired by Tupper's Self-Referential Formula. The graph in this project is really displaying Tupper's formula and supports infinite scroll! Users can draw, select, and modify the graph using keyboard and mouse inputs. The project consists of a main file (TUPPERWARE.pde) and two additional files (GRAPH.pde and DRAW.pde) that contain functions for drawing the grid, handling user interactions, and saving/loading sketches.\r\n\r\nFeatures:\r\nDraw and modify binary representations of numbers on a grid\r\nSelect and display a row of numbers in binary format\r\nScroll through the graph vertically at varying speeds\r\nSave and load user drawings\r\nDisplay a scrolling graph based on the user's drawing\r\n\r\nFiles:\r\nTUPPERWARE.pde\r\nThe main file of the project that imports the BigInteger class from the java.math package and defines several variables and functions to manage the drawing and interaction with the graph. The file contains the setup(), draw(), keyReleased(), and mouseWheel() functions, which handle the initialization, main loop, keyboard inputs, and mouse wheel events, respectively.\r\n\r\nGRAPH.pde\r\nThis file contains two functions:\r\ngraph(): Responsible for drawing a scrolling graph based on a series of numbers represented in binary.\r\ngbox(): Responsible for displaying a \"Draw >\" button on the right side of the screen, allowing users to select a row of numbers and display it in binary format.\r\n\r\nDRAW.pde\r\nThis file contains functions for drawing the grid, handling user interactions, and saving/loading sketches:\r\ndrawing(): Handles the drawing of the grid and updates it based on user input.\r\ndbox(): Handles the generation of the graph based on the user's drawing and other user interface elements.\r\nsaves(): Handles saving and loading of user drawings.\r\nsavestring(): Saves the current sketches to a text file.\r\nHow to Use\r\nInstall Processing for your platform.\r\nDownload or clone this repository.\r\nOpen the TUPPERWARE.pde file in the Processing IDE.\r\nRun the program by clicking the \"Run\" button or pressing Ctrl + R (Cmd + R on macOS).\r\n\r\n\r\nWhen the program launches, you can draw on the grid using your mouse. Use the keyboard shortcuts to interact with the graph:\r\nSpace: Toggle between drawing mode and scrolling graph mode.\r\nC: Clear the entire grid.\r\nS: Switch between binary and decimal representations.\r\nI: Invert the current grid.\r\nB: Increase the stroke size.\r\n-: Decrease the stroke size.\r\nIn scrolling graph mode, use the mouse wheel to scroll vertically through the graph. Click the \"Draw >\" button to display the selected row of numbers in binary format.\r\n\r\nLicense\r\nThis project is released under the MIT License.","start":"2019-01-01","end":"2019-02-01","img":"https://www.youtube.com/embed/4XbW6-dShpw?mute=1&hd=1","link":"https://github.com/SevanBrodjian/TupperWare","slug":"tupperware","topic":[1,10],"association":[]}