(define (geodesic g n) (if (= n 0) g (geodesic (dual (semi-truncate g)) (- n 1)))) (geodesic icosahedron 4)Here is an example of what my geometry and topology software does.
(product cell1 cell2 coordinate-combiner) forms the product of two cells. The procedure coordinate-combiner is used to combine the coordinates of each vertex of cell1 with the coordinates of each vertex of cell2.
For example,
(product (dilate tetra .1) (dilate cube .8) h+)forms the product of a small tetrahedron with a large cube, combining coordinates using h+ (vector sum of homogeneous coordinates):