Naming centers of triangles within triangles to nth level, and how to find center by it's name later : Intro:

I have a recursive function that finds centers of given three points.
I start with vertices a, b, and c.
The center is labeled (abc).
The center splits triangle abc into three triangles: (abc)ab, (abc)ac, and (abc)bc, with centers: ((abc)ab), ((abc)ac), and ((abc)bc).  And so on.
My function sorts the vertices' names - parentheses character codes are smaller than letters, that's why ((abc)ab) and not, for example, (ab(abc)).
I've noticed that each point has a unique count of a's, b's, and c's (as well as parentheses, which can be ignored).

Looking for:

A way to visually (I can, and do, draw the triangles: each vertex to the other two and to the center) get to a point given it's name, but it can get very long, so, perhaps, use letter-count.  For example: point (((abc)ab)((abc)a((abc)ab))((abc)((abc)ab)((abc)a((abc)ab)))) has a, b, and c letter-count of 13, 11, and 7, and to get to it, assuming a is top vertex, b is below a and to the right, and c is below a and to the left (just for example.  they can be in any order/direction), we (1) go to the center, (2) then right-up-right, (3) then left-up-left, (4) then down-right-down, and, finally, (5) right-up-right - all along drawn lines.

How to get these directions from the point's name/letter-count?!? Instead of painfully dissecting the point's name and using pencil and paper...

