скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Структура данных программного комплекса "Q-дерево"

·     Локальные переменные

-     NewBounds – границы нового узла, передаваемые в качестве параметра в рекурсивном вызове функции (тип TRect);

-     i – счетчик цикла (тип integer).

·     Словесный алгоритм

В начале своей работы функция проверяет, не является ли пустым параметр-указатель; если да – выход из подпрограммы. Если часть площади узла находится в заданной области, осуществляются рекурсивные вызовы подпрограммы для каждого из его дочерних узлов. Для достигнутых таким образом листьев происходит проверка точек на принадлежность заданной области.

2.1.4.5 Процедура SetProperties

·     Процедура предназначена для выделения памяти и установки начальных характеристик для нового узла

·     Параметры

-     выходной параметр – указатель на узел дерева (тип PNode);

·     Словесный алгоритм

Для нового узла, переданного в качестве параметра, выделяется память, устанавливаются начальные характеристики: тип узла (лист) и количество точек в нем (0).

·     Подпрограмма используется функцией вставки точек в дерево при разделении листа на 4 новых.

2.1.4.6 Процедура CopyPoints

·     Процедура предназначена для копирования точек из листа в дополнительный массив

·     Параметры

-     входной параметр – указатель на узел дерева, из которого происходит копирование (тип PNode);

-     выходной параметр – дополнительный массив, необходимый при делении листа на новые узлы (тип TArrayOfPoints);

-     выходной параметр – счетчик элементов в дополнительном массиве (тип integer).

·     Локальные переменные

-     j – счетчик цикла (тип integer).

·     Словесный алгоритм

Подпрограмма копирует значения точек из данного листа в дополнительный массив, одновременно увеличивая число его элементов, передаваемое в качестве параметра.

·     Подпрограмма используется функцией удаления точек из дерева при объединении 4-х листов в один.

2.2 Модуль UnitMainForm

2.2.1 Назначение

В данном модуле описаны методы работы с Q-деревом точек

2.2.2 Функциональные требования, реализуемые модулем

·           Подсчет количества элементов в дереве

·           Отображение элементов дерева в виде точек на карте

·           Возможность выбора области карты для просмотра содержащихся в ней точек

·           Отображение точек заданной области карты в отдельном окне просмотра

·           Отображение координат выбранных точек

2.2.3 Используемые компоненты

Имя

компонента

Класс

Настраиваемые

свойства

Значения Обработанные события
1 MainForm TMainForm BorderStyle bsSingle

OnCreate;

OnKeyDown

Caption Q-дерево
KeyPreview True
2 MaxImage TImage

OnCreate;

OnMouseMove

3 MinImage TImage
4 ShapeView TShape Brush Style bsClear

OnMouseDown;

OnMouseMove;

OnMouseUp

Pen Color clRed

Имя

компонента

Класс

Настраиваемые

свойства

Значения Обработанные события
5 SBtnCursor TSpeedButton Down True
GroupIndex 1
6 SBtnPoints TSpeedButton GroupIndex 1
7 ButtonDelete TBitBtn Caption Удалить точку OnClick
Enabled False
ShowHint True
Hint Удалить выбранную точку
8 ButtonClear TBitBtn Caption Удалить все OnClick
ShowHint True
Hint Удалить все точки дерева
9 StatusBar TStatusBar

2.2.4 Глобальные переменные и константы модуля

Константы

·           Xmax = 1024 – ширина всего квадрата, отведенного под Q-дерево;

-        тип – целый;

-        область видимости – внутри и вне модуля;

-        используется в операциях вставки и удаления элементов для задания границ главного квадранта

·           K = 10.56 – отношение длины стороны окна выделения к длине стороны окна просмотра;

-     тип вещественный;

-     область видимости – внутри модуля;

-     используется при выводе на карту изображений точек

·           R = 3 –  радиус точки, изображенной на карте;

-     тип – целый;

-     область видимости – внутри модуля;

-     используется при выводе изображений точек

·           LightColor = clYellow –  цвет подсветки точек;

-          тип –  TColor;

-          область видимости – внутри модуля;

-          используется при выводе изображений точек

·           SelectColor = clRed –  цвет выделенной точки;

-     тип – TColor;

-     область видимости – внутри модуля;

-     используется при выводе изображений точек

·           BackColor = clBtnFace –  цвет фона карты;

-     тип – TColor;

-     область видимости – внутри модуля;

-     используется при выводе изображений точек.

Переменные

·           Tree –  указатель на корневой узел дерева;

-     тип – PNode;

-     область видимости – внутри модуля;

-     используется в подпрограммах, работающих с деревом.

·           X0, Y0 начальные координаты указателя мыши при перемещении окна выделения;

-        тип – целый;

-        область видимости – внутри модуля;

-        используются при определении координат просматриваемой    области карты

·           drag = false –  индикатор перетаскивания окна выделения;

-        тип – логический;

-        область видимости – внутри модуля;

-        используется при определении координат просматриваемой области карты

·           PointCount = 0 –  количество точек в дереве;

-        тип –  целый;

-        область видимости – внутри модуля;

-        используется для определения числа точек в дереве

·           mainBounds, Query – координаты соответственно главного квадранта и выделенной области;

-        тип – TRect;

-        область видимости – внутри модуля;

-        используются при поиске и выводе изображений точек   просматриваемой области

·           LightPoint, SelectedPoint –  соответственно текущая и выделенная точки;

-        тип – TPoint;

-        область видимости – внутри модуля;

-        используются для выбора и удаления точек.

2.2.5 Подпрограммы модуля

2.2.5.1 Процедура DrawPoint

·              Процедура предназначена для вывода изображений точек на карту

·              Процедура является методом класса TMainForm

·              Параметры

-              параметр-константа точка (тип TPoint);

-              входной параметр – цвет изображенной точки (тип TColor);

·              Локальные переменные

-                    dopX, dopY – координаты точки относительно окна просмотра (тип integer).

·              Словесный алгоритм

Процедура вычисляет координаты отображаемой точки для каждой из карт (большой и малой) и рисует точку в виде эллипса радиусом R.

2.2.5.2 Процедура ClearBackground

·        Процедура стирает предыдущее изображение на карте

·        Процедура является методом класса TMainForm

·        Параметры

-        входной параметр – компонент-карта (тип TImage);

·        Словесный алгоритм

Процедура закрашивает поверхность карты цветом фона BackColor.

2.2.5.3 Процедура DrawRegion

·              Процедура предназначена для поиска и вывода изображений точек дерева в заданной области карты

·              Процедура является методом класса TMainForm

·              Параметры

-              параметр-константа указатель на узел дерева (тип PNode);

-              параметр-константа границы заданной области (тип     TRect);

·              Локальные переменные

-           FindedPoints – список найденных точек (тип TList);

-           dopPoint – точка из списка (тип TPoint);

-           i – счетчик цикла (тип integer).

·              Словесный алгоритм

Процедура создает пустой список, копирует туда точки дерева, найденные в заданной области, и выводит их изображения на карты.

2.2.5.4 Процедура FormCreate

·     Процедура предназначена для задания начальных координат областей и точек

·     Процедура является методом класса TMainForm

·     Параметры

-     входной параметр – объект, сгенерировавший событие (тип TObject)

·              Словесный алгоритм

Процедура устанавливает границы главного квадранта и выделенной области, начальные координаты для текущей и выбранной точек.

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.