Physical Data Encoding

As stated in the beginning of this work, one of the laws of Geometron is "EVERYTHING IS PHYSICAL". This is intended to be taken very literally. In addition to implementing all the geometric actions described here with various physical machines and classical geometric tools, Geometron includes a protocol for storing digital data physically.

The system by which binary data are encoded in a physical artifact is called Roctal, for "octal that rocks". "Rock" here is also meant to be taken literally, since it is possible and encouraged to encode data in a stone by use of various chipping or grinding tools as described elsewhere. Roctal is, like everything in Geometron, a geometric description, which is best described by actually drawing it in pixels or ink on a page.

Part of the structure of the Geometron hypercube is to have multiple cubes for various types of information, be they action, symbol, or as I'll introduce now Roctal bytes. That type of information is encoded in the bits above the first 9. For example, the action to move forward is 0330, but the symbol for that action is 01330. In any given cube in the hypercube, we thus need exactly 9 bits to describe a 3 digit base 8 address. Roctal arranges those 9 bits in a 3X3 grid, which is a subset of a 4X4 grid(16 cells). In general these cells are square, but the more important thing is that they are arranged in a square lattice, which makes it easy to create general functions for reading and writing that can work in numerous hardware implementations.

Physical Trash Printer

The basic Geometron core of this chapter is designed to be physical, and to work with the simplest possible trash printer, based on two motors with gear boxes salvaged from the tray opening mechanism of DVD or CD drives. The version of the Geometron Hypercube used here must be modified to create as direct a link as possible between the art a user builds in a web browser and the art produced by the physical printer. This means eliminating most of the basic geometry action commands and relying much more heavily on a well built shape table. It also means the output of the code should be Arduino code which can be uploaded to the circuit board which is the brain of the printer.

copy and paste the following code into the Arduino IDE and upload to the control board:

physical things

The methodology for physical printing is:
  1. x control and y control established
  2. x and y relative units established, "unit" established, added to cube code to generate control code in whatever is controlling the motors, generally either time or number of steps
  3. build up shape table of relevant shapes in local physical language of printer, starting with test and calibration structures
  4. establish basic ability to create squares that are filled and empty to transmit and store binary information
  5. use, replicate