Patel, Devin (School: Arkansas School for Mathematics, Sciences and the Arts)
The goal of this project was to create a program that would encode a robust watermark into a three-dimensional file type. Working with ASCII STL files, the program encoded the information by minutely adjusting the individual coordinates of the triangles, then read for the embedded pattern and decoded the watermark. The encoding process began with organizing the STL file into triangles and converting the message to be encoded into binary. The x, y, and z-coordinates of the second and third vertices were subtracted from each other, and the difference was divided by the distance between vertices one and two. This value was perturbed based on the binary watermark, and the operations were undone. The decoding program applied the same operations and read for the manipulation. The program was able to successfully encode and decode the watermark, and the watermark is resistant to scale and translation transformations. However, the watermark can be altered or distorted upon a rotation manipulation or performing a re-meshing operation. Future development of the algorithm would focus on making the encoding process resistant to more manipulations, such as re-meshing or changes in rotation.