Now Thousands of Connections
Progress on the project I started in graduate school, ”the shape of art”, a unique look at the relationship between fine artists
In 2023, I shared a prototype of about 1,000 pollinating white dots on a gray background.1 It was meant to graph the related artists and their related artists of René Magritte as prescribed by a k-means clustering algorithm brought to us by Artsy’s Art Genome Project. The Art Genome Project was a fascinating, albeit dated by today’s standards, way to model relations between artists. It categorizes thousands of different characteristics of an artist in their catalog. It then clusters them or organizes them based on the occurrence of overlapping characteristics. A couple of months ago, Artsy unfortunately discontinued public access to the Art Genome Project. So, I spent time scraping the now defunct API to get the totality of their artists’ relationships. Today, I would like to share the progress visualizing this.

What Changed?
First, the dataset is much larger than the previous one from 2023. Instead of a thousand artists the amount is closer to a hundred thousand. The script I wrote to get this data processed for three days. It pulled all the artists from the Artsy API and then also got their related artists. From these two raw datasets, I created a new single set of data that is compatible with the way I am visualizing the relationships. This new dataset follows the d3 format for force directed graphs, a common industry format for assigning relationships to be displayed in a graph.2 While it is based on this convention, d3 is not able to handle this many points. This is where the next major change is between the previous visualization and the current one. I developed a three-dimensional version of a force directed graph. Basically a way to calculate positions, velocities, and forces of related points on the graphics card. This enables thousands more points to be drawn and connected in real-time over any other publicly available method. The library, called Force Directed Graph3, allows anyone to render 3D graphs by simply supplying the formatted data.

The Results So Far
Visually it is much more celestial and less like pollen on a flower. There are clear clusters of different artists who all relate to each other. But, there is also a lot more noise. The previous interface, which allowed you to move the camera by dragging your mouse or finger, is now more cumbersome, slow, and inaccurate. Also, the performance on smartphones needs work. While it renders all the points, there is noticeable lag and even hang that spills over to the operating system. This is a big no-no for usability.
You can try the prototype by hitting the button below. In addition to being able to move the camera by dragging your mouse or finger across the screen, there is a panel you can open in the top right-hand corner. Upon clicking, you can change the parameters of the physics simulation. To me, this is where the power lies: to plot this many points and then change aspects of the entire system is certainly satisfying. It is also where I think the utility, story, and purpose of this prototype will ultimately lead.
If you find this version interesting, I also made another version that lays out the clusters in a different way (link). It is more performant for mobile devices, but there is even more noise in the distribution. This is because the forces are modified and ultimately reduced by a large factor. In the first prototype every point has three forces: attraction to its related points, repulsion against every point, and a general gravity to the origin of the simulation. With the right settings this motivates the system to resolve its orientation where these competing forces create an equilibrium. It also creates compound associations, which really burn computation for devices. In the second prototype, I make the attraction to each link only go one way. This improves the performance and also creates constant movement. Like a game of tag, there is one point running towards its relatives. But the relatives are still running away!
I still do not know exactly where this will lead, but am bolstered by the progress nonetheless. The shape of art it continues to be something I think about,
—Jono
https://d3js.org/d3-force. By the d3 Team and hosted on Observable.
http://jonobr1.com/force-directed-graph/. By Jono Brandel distributed freely under the MIT License.


