Главная страница
Навигация по странице:

  • The Param Viewer

  • Tree Statistics

  • Метод


    Скачать 6.45 Mb.
    НазваниеМетод
    Дата10.01.2020
    Размер6.45 Mb.
    Формат файлаdocx
    Имя файлаekz.docx
    ТипДокументы
    #103389
    страница15 из 21
    1   ...   11   12   13   14   15   16   17   18   ...   21

    1.5. ПРОЕКТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ДЕРЕВЬЕВ ДАННЫХ

    При увеличении сложности ваших определений, объем данных также увеличивается. Чтобы эффективно использовать Grasshopper, важно понимать, как хранятся большие объемы данных, как к ним можно получить доступ и как с ними обращаться.



    1.5.2. Что такое Дерево Данных?

    Дерево данных - это иерархическая структура для хранения данных, состоящая из списков. Деревья данных создаются, когда компонент grasshopper структурируется, чтобы принять набор данных и вывести множественные наборы данных. Grasshopper работает с этими новыми данными, размещая их в под-списки. Эти под-списки работают таким же образом, как и структуры папок на вашем компьютере, а именно, чтобы получить доступ к индексированным элементам требуется пройти по путям, которые проинформированы своим поколением родительских списков и их собственными под-индексами.

    Это становится возможным иметь множественные списки данных внутри одного параметра. Как только становятся доступны множественные списки, возникает необходимость в способе распознавания каждого отдельного списка. Дерево данных, по сути, список списков или, иногда, список списков списков (и т.д.).



    В изображении выше, вы видите одну главную ветку (можете называть ее стволом, но так как тут возможно наличие множества главных веток, то этот термин может быть неточным) пути {0}. Этот путь не содержит данных, но имеет 6 под-веток. Каждая из этих под-веток наследует индекс родительской ветки {0} и добавляет свой собственный под-индекс (0, 1, 2, 3, 4 и 5, соответственно). Будет неправильно называть это число "индекс", потому что это подразумевает только одно число. Возможно, лучше называть это "путь", так как он похож на структуру папок на диске. У каждой из этих под-веток мы встречаем какие-либо данные. Каждый элемент данных, таким образом, часть одной (и только одной) ветки в дереве, каждый элемент имеет индекс, который указывает его расположение внутри ветки. У каждой ветки есть свой путь, который указывает ее расположение внутри дерева.

    Изображение ниже иллюстрирует разницу между списком и деревом данных. Слева, массив из четырех колонок по 6 точек каждая - это все, что содержится в одном списке. Первая колонка пронумерована 0-5, вторая 6-11 и т.д. Справа расположен тот же самый массив точек, содержащихся в дереве данных. Дерево данных - это список из четырех колонок, где каждая колонка - это список из шести точек. Индекс каждой точки это (номер колонки, номер ряда). Это намного более полезный способ организации этих данных, потому что вы можете легко получить доступ и работать со всеми точками в данном ряду или колонке, удалить каждый второй ряд точек, соединить чередующиеся точки и прочее.


    1.5.2.1. ВИЗУАЛИЗАЦИЯ ДЕРЕВА ДАННЫХ


    Из-за их комплексности понять, как работают деревья данных, может быть затруднительно. У Grasshopper есть несколько инструментов для визуализации и понимания данных, хранящихся в дереве.

    The Param Viewer Param Viewer (Params/Util/Param Viewer) позволяет визуализировать данные в текстовом формате и в виде дерева.



    1. Путь каждого списка

    2. Число элементов в каждом списке

    3. Выберите "Draw Tree" для отображения дерева данных

    Tree Statistics Компонент Tree Statistics (Sets/Tree/Tree Statistics) выдает обратно некоторую статистику Дерева Данных, включая:

    • P - все пути дерева

    • L - длина каждой ветки дерева

    • C - число путей и веток у дерева



    Оба компонента Param Viewer и Tree Statistics полезны для визуализации изменений в структуре Дерева данных. В следующем разделе, мы рассмотрим некоторые операции, которые могут быть выполнены, чтобы изменить эту структуру.
    1   ...   11   12   13   14   15   16   17   18   ...   21


    написать администратору сайта