Использование квадродерева продемонстрировано на классической задаче разбора бинарной матрицы N на M. Для примера в программе используется матрица 8 на 8, которая заполняется случайным образом. Сначала выводится матрица, потом выводятся данные по ходу формирования дерева, затем выводится само дерево.
Квадрант помечается цифрой 2, если он содержит и нули и единицы; при этом продолжается дальнейшее разбиение этого квадранта.
Квадрант помечается цифрой 1 или цифрой 0, если он содержит только единицы или только нули соответственно.
Пометки обозначают:
Root - корень,
NW - северо-запад, NE - северо-восток,
SW - юго-запад, SE - юго-восток. TQTree – класс TMatrix, TRect и TQScan - это обычные типы, которые описывают другие вспомогательные структуры
При выводе дерево как бы "лежит" на левом боку и выводится слева-направо, т.к. иначе визуализировать его в консоли затруднительно.
Литература
1. Кошкарев А.В., Тикунов В.С.
a. Геоинформатика. Москва, Картгеоцентр-Геоиздат, 1993. С. 55-57.
2. Tobler, W., Zi-tan Chen. (1986)
a. A quadtree for global Information Storage. - "Geographical Analysis", 1986, October, Vol. 18, No. 4. Существует перевод: Тоблер В., Зи-тан Чен. Квадротомическое дерево для глобального хранения информации. // Картография. Вып. 4. Геоинформационные системы: Сб. перев. статей/Сост., ред и предисл. А.М. Берлянт и В.С. Тикунов. - М.: Картгеоцентр - Геоиздат, 1994. C. 89-101.
3. Mark D.M. (1986)
a. Construction of Quadtrees and Octtrees from Reaster Data. A new algorithm Based on Run-Encoding. - "The Australian Computer Journal", 1986, August, Vol. 18, No. 3, p 115-119. Существует перевод: Марк Д.М. Построение квадротомических и октотомических деревьев на базе растровых данных: новый алгоритм быстрого кодирования. // Картография. Вып. 4. Геоинформационные системы: Сб. перев. статей/Сост., ред и предисл. А.М. Берлянт и В.С. Тикунов. - М.: Картгеоцентр - Геоиздат, 1994. C. 102-109.
4. Bell, S.B., B.M. Diaz, and F.C. Holroyd.(1988)
a. Digital Image Processing in Remote Sensing. Capturing Image Syntax using Tesseral addressing and arithmetic. Taylor & Francis Ltd: USA.
5. Hunter G.M. and Stiglitz K.(1979)
a. IEEE Transactions on Pattern Analysis and Machine Intelligence. Operations on Images Using Quad Trees. April: 145-153.
6. Samet,H. (1990)
a. The Design and Analysis of Spatial Data Structures. Addison-Wesley Publishing Company, Inc : Reading.
7. Samet H.(1981)
a. Computer Graphics and Image processing. Neighbor Finding Techniques for Imagees Represented Quadtrees. Academic Press 18: 35-57.
8. Samet H. and M. Tamminen.(1985)
a. IEEE Transaction on Patter Analysis and Machine Intelligence. Computing Geometric Properties of Images Represented by Linear Quadtrees. March: 229-240.
9. Burroughs,P.A. (1986)
a. Principles of Geographical Information Systems for Land Resources Assessment. Clarendon Press : Oxford.
10. Foley J.D. and A. Van Dam(1982)
a. Fundamentals of Interactive Computer Graphics. Addison Wesley.
11. Carlbom I., I. Chakravarty and D. Vanderschel (1985)
a. A Hierarchical Data Structure for Representing the Spatial Decomposition of 3D Objects. In: Frontiers in Computer Graphics (T.L. Kunii ed.), pp. 2-12. Springer-Verlag: New York.
12. Burger, P. and D. Gillies (1989)
a. Interactive Computer Graphics: Functional, Procedural and Device-level Methods. Addison-Wesley Publishing Company: Sydney.