Distance transforms represent distances between pixel values. The implementation uses the built-in Mathematica function CellularAutomaton with a pure function to propagate differences between neighbours values during its evolution. It is claimed that arbitrary acyclic graphs can be generated this way by choosing particular neighbourhood kernels. The fixed points reached this way does not depend on the update order of the evaluations Examples for totalistic rules are discussed by showing direct visualizations of distances and the corresponding results of running the distance transform. Then selection among different kernels according to the least significant digit is shown to generate approximations of circular shapes which depend on the rules governing selection among the distance transform kernels. Then rotation symmetric kernels are used with the same rule to generate animations which shows a rich variety of interesting spiderweb and spiral patterns featuring dendrtic structures. Hexagonal and snowflake patterns are generated by particular distance transform kernels featuring alternations of neighbor positions and reflections of kernels. Some of the results look like models of diffusions or fluid dynamics. An optimized implementation runs in n*Log n which was discussed in more detail in the NKS forum.
Comments