Эй, сейчас я пытаюсь извлечь информацию из трехмерного массива, где каждая запись представляет координату, чтобы что-то нарисовать из нее.Проблема в том, что массив смехотворно велик (а их несколько), что означает, что я не могу нарисовать все это.
То, что я пытаюсь сделать, это просто нарисовать представлениевнешние координаты, оболочка массива, если хотите.Этот массив не заполнен, может иметь большие пустые места с набором всего нескольких пикселей или иметь большие кластеры данных пикселей, сгруппированных вместе.Я не знаю, какую форму ожидать (это может быть простой куб или сложная вогнутая сетка), и я изо всех сил пытаюсь придумать алгоритм для эффективного извлечения границы.Этот массив эффективно хранит набор точек в трехмерном пространстве.
Я думал о создании 6 двумерных сеток (по одной на каждую сторону трехмерного массива) и получении самой мелкой точки, которую они могут найти для каждой позиции, изатем рисуя их по отдельности.Как я уже сказал, эта 3d-форма может быть вогнутой, что создает проблемы при таком подходе.Представьте себе конус с кругом сверху (указанный круг больше основания конуса).В то время как верхняя и боковые сетки будут получать правильную информацию о глубине из формы, нижняя сетка будет соединять основание с кругом через вертикальные линии, что позволит мне эффективно потерять коническую форму.массив по частям, и создание 2 меш из данных среза.Я считаю, что это должно работать для любого типа фигуры, однако я изо всех сил пытаюсь найти алгоритм, который точно дает мне информацию о границе для каждого среза.Еще раз, если вы просто попытаетесь создать карты высот из срезов, у вас возникнут проблемы, если у них есть вогнутости.Я также рассмотрел некоторый алгоритм отслеживания краев, но массив не обеспечивает непрерывных данных, и почти наверняка нет непрерывного края вдоль каждого среза.
Я попытался изучить объемный рендеринг, используемый в медицинскойвизуализация и тому подобное, поскольку она имеет дело с проблемами, аналогичными тем, что у меня есть, но я не могу найти ничего, что я мог бы использовать.
Если у кого-то есть опыт с такого рода проблемами или какой-либо ценный вклад,Не могли бы вы указать мне правильное направление.
PS Я бы предпочел получить закрытое представление оболочки, таким образом, мой более ранний подход к 2d-сетке.Тем не менее, подход, который просто дает мне точки оболочки без какой-либо связи между ними, все равно будет чрезвычайно полезен.
Спасибо, Ze