Strip trees: a hierarchical representation for curves

Dana H. Ballard
1981 Communications of the ACM  
The use of curves as a representation of two dimensional structures is an important part of many scientific fields. For example, geographers make extensive use of curves as a representation for map features such as contour lines, roads and rivers; circuit layout designers use curves to specify the wiring between circuits. Owing to the very large amount of data involved, and the need to perform operations on this data efficiently, the representation of such curves ~s a crucial issue. We describe
more » ... a hierarchical representation that consists of binary trees with a special datum at each node. This datum is called a strip and the tree that contains such data is called a strip tree. Lower levels in the tree correspond to finer resolution representations of the curve. The strip tree structure is a direct consequence of using the method for digitizing lines given by [Duda & Hart, 1973; Turner, 1974; Douglas & Peucker, 1973J and retaining all intermediate steps. This representation has several desirable properties. For features which are well-behaved, calculations such as point-membership and intersection can be resolved in" O(log n) where n is the number of feature poi nts. The curves can be effi ci ently coded and displayed at various resolutions. The representation is closed under intersection and union and these operations can be carried out at different resolutions. All these properties depend on the hierarchical tree structure which allows primitive operations to be performed at the lowest possible resolution with great computational savings. The price paid for the improved performance is an increased storage cost. This is approximately 4n, where n is the storage needed to represent the xy coordinates.
doi:10.1145/358645.358661 fatcat:go6sp5woevelrgeijkorojn52e