Other methods exists that are better at handling clusters of trees, or that are of lower order complexity. A more complicated problem is that of placing buildings in a city. In this case, the city layout almost certainly has to be made before any of the objects in it can be constructed. Also, in this situation, the exact placement of the objects is very important. For example, buildings are generally separated by a street or alley, and as such, the distance between them can not be less than the width of the street or alley.
Cities also tend to be sectioned into districts.
Office buildings aren t placed in the middle of residential sections and any algorithm that regularly put them there would not be acceptable. Some methods exist that do model the growth of cities and preserve the idea of districts. Two dimensional cellular automata can be used to essentially grow cities and model the changes that tend to occur as districts age and intermingle. Of course, these are largely modeled after the behavior observed in modern cities. If a simulation is intended to represent a different time period then it is possible that completely different methods will have to be developed.