Find Trees in Names: A Collective Generative Art Installation
Home

Find Trees in Names: A Collective Generative Art Installation

May 21, 2025WebsiteGitHub

Find Trees in Names is a collective experience where participants in ITP Spring Show 2025 were invited to find trees in their names. Participants typed their name, watched their tree grow, added it to the forest, printed it out and put it on the wall. The whole experience includes:

This project allowed me to explore my own and others’ digital identities, as well as the nature dimension of code, by combining generative art with data visualization.

Tree 1Bairui's TreeTree SwarmTree SwarmLandscape{Mountains, Trees, Names}*Landscape RisoLandscape in ITP Winter Show 2025

Name2Tree

The core of this project is Name2Tree, a system that procedurally converts a name into a tree. Users type their name, and a tree will be generated with a Chinese name stamp based on APack. The following video shows how it works.

These are the trees generated in the video. Notice that the input is not limited to names; any text can be converted into a tree, including Chinese poems and numbers!

Tree 1Tree 2Tree 3Tree 4Tree 5Tree 6

The conversion can be briefly described as three steps: convert the name into ASCII code digits, draw the tree based on the digits and finally add a Chinese name stamp based on APack. One important thing is that given a name, the tree is unique and deterministic. Here is an illustration of the process:

StepsConversion Process

ITP Spring Show 2025

I presented this project at ITP Spring Show 2025. Participants could experience Name2Tree and APack at the same time. Here is a demo video of how it works. Thanks Jack B. Du!

Here are some photos of interactions between participants, me and the system.

Shadow
VivaCrowddandan treeray treeguest

In addition to just getting trees digitally, participants could also print out the tree and put it on the wall. Huge thanks to Daniel Shiffman for giving me this idea, people really enjoyed it. Here are some photos of the wall:

Wall 4Wall 3Wall 1Wall 2

Here is also a video for the wall:

Visualizations

As a person with a data visualization background, it's natural to explore the visualizations of the trees.

Tree Grid and Tree Cloud

Right in and after the show, I created two simple visualizations: Tree Grid and Tree Cloud, which is for better exploration of the trees. Tree Grid simply lists all the trees in a grid, so it's easy to get a whole picture of the trees. I modified the Word Cloud algorithm to place each tree in a spiral curve, making it more natural like a real forest.

Tree GridTree GridTree CloudTree Cloud

Family Tree and Tree Swarm

Then I traveled to Venice. At the Doge's Palace, I was inspired by a painting of the Doge Foscar family tree — so I decided to create something similar. I based on Beeswarm algorithm by Observable Plot to create a Tree Swarm, which is for exploring the trees temporally. Here is the Family Tree and the result.

Family TreeFamily TreeTree SwarmTree Swarm

Tree Harmony

I also generated sound for each tree as one of my explorations in my Chart Music Lab, wondering what a tree sounds like using Markov chain. In order to make the relationship between the trees and the sound more clear, I visualized the trees in a more traditional way called Tidy Tree.

Tree MusicTree Harmony

Landscape

This Thanksgiving, I planted all the trees into a procedurally generated landscape as a collective data visualization, inspired by Lingdong Huang's {Shan, Shui}* and Chinese painting A Thousand Li of Rivers and Mountains by Wang Ximeng.

Landscape{Mountains, Trees, Names}*

In ITP Winter Show 2025, Chloe and I printed out this landscape using Riso and put it on the wall, making the trees tangible.

LandscapeLandscape in ITP Winter Show 2025

Inspiration

Chinese characters often carry semantic cues beyond their phonetic value. For example, there's a tree in my Chinese name. The first character of my last name "柏" is a cypress tree. My parents gave me this name because they wanted me to be healthy and upright like a cypress tree. So I decided to explore the trees in other names to share this blessing with others.

Cypress TreeCypress Tree

Also, I considered this project as a way to explore my own and others’ digital identities, as well as the nature dimension of code, by combining generative art with data visualization.

Process

I first figured out the connection between the names and the trees, which is that they can both be represented by digits. For names, it's the ASCII code or Unicode of the characters. For trees, it's the number of children for each node. Then I implemented the algorithm to convert names to digits and draw the tree based on the digits. To make it more beautiful, I merged some branches to draw mathematical roses. I also used APack to add a stamp as a mark of authorship.

Bairui v0Proof of ConceptBairui v1Optimize OverlapBairui v2Add Mathematical RosesBairui v3Optimize Visual Style

Challenges

Although fractal tree algorithm is very easy to implement, there are still some challenges to consider.

Balanced Trees

The first challenge was to make the trees balanced. In other words, how to compute the angle of each branch to make it look natural? My first attempt was just equally distributing the branches, but it was unbalanced with a lot of overlap. I solved this by computing each branch's angle proportionally to its leaf count, so branches with more leaves span a larger angle. Then the tree looks much more balanced without obvious overlap.

Bairui UnbalancedBefore BalancingBairui BalancedAfter Balancing

Beautiful Trees

Trees only with branches are boring. So I added some circles as fruits. It was better but still not perfect. At that time, I had just learned about mathematical roses, so I decided to merge some branches to draw them. This also solved the problem that some nodes have too many branches.

Bairui FruitsBefore Adding Mathematical RosesBairui RosesAfter Adding Mathematical Roses

Edge Cases

Another challenge was to handle edge cases. Some names produce trees with only one branch when the ASCII code starts with a non-zero digit followed by zero (e.g., "e" = 101). Others create very tall trees when the ASCII code starts with a series of 1s (e.g., "r" = 114).

EgoEdge Case: EgoRachelEdge Case: rachel

To handle these edge cases, I split the ASCII digits into two parts: the first part consists of digits containing 1s and 0s, and the second part is the remainder. I used the first part to draw flowers, and the second part to draw the tree.

Ego OptimizedEdge Case: Ego OptimizedRachel OptimizedEdge Case: rachel Optimized

People were very surprised when they saw the flowers, which made them feel special and unique.

Feedback

People liked the concise design of the trees, and were curious about the rules of the generation. Some of them thought it would be cooler if the tree had growth animation. Someone also suggested converting the names not based on ASCII code but based on the meaning of the name. In this way, apple and orange would be similar trees because they both are fruits.

Here are some Instagram stories posted by participants:

Story 1Story 2Story 3Story 1Story 2Story 3Story 1Story 2Story 3Story 1Story 2Story 3

Future Work

I want to use generative AI to create a book called "Name Trees" based on Shanhai Jing, inspired by Rick Rubin's The Way of Code based on Lao Tzu. This is for finding more meanings in trees.

Inspired by Jack's papercut project, I'd like to use AxiDraw to plot them out and frame them as gifts for my friends.

Jack

Reflection

People like this project not only because the trees are neat and tidy, but also because there is a personal connection between the trees and the participants. This made me realize that engaging projects can emerge from basic algorithms when we connect them to users, and inviting participation enhances the experience.

Most importantly, they could get a physical printed sticker of the tree. This made them more engaged with their trees because they can actually touch it and feel it. A takeaway from this observation is that generative art starts from the screen, but should not stop there. Crafting them into physical objects is a way to make them more tangible and engaging.