I manually marked points at each intersection of color and line of two paintings, Delaunay triangulated them with Jonathan Shewchuk's Triangle program, and colored each triangle with the color at the centroid in the original painting.
- Which version has more depth of field?
- What is the effect of reducing the amount of colors in the work? What might be a better colormapping strategy?
- Delaunay triangulations avoid narrow triangles. Where does this property distort the work the most?
- Notice the various ways curves are triangulated depending on the number of points placed by the triangulator (in La tour Eiffel, the tower's lower arches vs. the green circle below the rectangle underneath the tower). Which is more true to the form? Which do you prefer?
Future work could include triangulating other artwork, 3D triangulating cubist sculpture, using the average of all enclosed colors rather than the centroid for assigning colors to polygons, and experimenting with constrained Delaunay triangulations with constraints marking the boundary of certain objects in the painting.
Process and Source Code
First, use the trailokya annotator to manually place points on an image of your choosing. Color field and cubist works are good choices to start with. You'll end up with something like
Then, copy the list of points and save it in a file "points.json". For this next part, you will need Jupyter Python Notebook, numpy, matplotlib, and Pillow installed. You will also need to download and make Triangle, a Delaunay triangulator.
Download the trailokya.ipynb notebook and place it in the same directory as points.json and image.jpg from before. Run through the cells, making adjustments as desired, and executing the Triangle program when prompted. The last cell will write a file "image-triangulated.png" in the same directory.
You can also preview the notebook first. Below is the scatterplot of the points for La tour Eiffel.