В nanoCAD Plus 7, который вышел 18 мая 2015 года, появился ряд функций, существенно расширяющих область применения и позиционирование платформы nanoCAD. Мы предлагаем вниманию наших читателей ряд технических статей, в которых подробнее погружаемся в эти функции, рассматриваем, какими возможностями они обладают и как их можно применить на практике. Эта статья посвящена комплексу функций, объединенных общим названием Облако точек.

Введение

Облака точек получаются в результате 3D-сканирования объектов Облака точек получаются в результате 3D-сканирования объектов

Что такое «облако точек»? Это множество точек в трехмерном пространстве, полученных в результате 3D-сканирования объекта реального мира и представляющих поверхность этого объекта. 3D-сканирование реализуется специализированными устройствами — 3D-сканерами, которые в автоматическом режиме замеряют большое количество точек на поверхности сканируемого объекта и создают на выходе облако точек (рис. 1) 1. Выходные данные 3D-сканера содержат координаты XYZ и метаданные, зависящие от типа 3D-сканера. Под метаданными понимаются специфические данные, являющиеся побочным продуктом процесса измерения координат точек. К примеру, для активных бесконтактных сканеров таковыми будут интенсивность отраженного сигнала, количество отражений, время фиксации точки, цвет поверхности и т.п. Объем и качество данных зависят от применяемого 3D-сканера. Хранение и обработка облаков точек привносят дополнительные, пользовательские метаданные (атрибуты): класс (код) точки, нелокальные геометрические характеристики (псевдонормаль, топологические показатели) и т.п.

Качество облака напрямую зависит от качества 3D-сканера, его разрешающей способности, точности и скорости сканирования. Понятно, что серьезные задачи требуют серьезных устройств, но на сегодня источником облака может служить даже популярный сенсор Kinect игровой приставки Microsoft XBOX, который у многих обитает под домашним телевизором и посредством пары незамысловатых датчиков формирует трехмерное изображение. Технологии становятся доступнее с каждым днем — именно этим и объясняется интерес к облакам точек.

Зачем они нужны? В первую очередь облака точек обеспечивают быструю визуализацию интересующего вас объекта реального мира. Но, конечно, только этой областью они не ограничиваются — облака точек успешно используют для изменений и контроля, 3D-печати, виртуализации труднодоступных мест или больших протяженных объектов, создания трехмерных и математических моделей, распознавания образов, а также при автоматизированном анализе, реконструкциях и эксплуатации. Без сомнения, облака точек привносят много полезного и в системы автоматизированного проектирования: о некоторых направлениях мы поговорим в этой статье, а что-то, может быть, вы придумаете сами — нам кажется, что потенциал трехмерных облаков точек еще до конца не раскрыт и эта технология может стать отличным инструментом для решения ваших задач.

Облака точек в nanoCAD Plus

Итак, начиная с версии 7.0, поддержка облаков точек появилась и в отечественной САПР-платформе nanoCAD Plus. В частности, программный продукт получил дополнительный раздел меню, который объединяет функции импорта и отображения облаков точек (рис. 2). Первым пунктом идет функция импорта.

Набор команд, который появился в nanoCAD Plus 7.0 для работы с облаками точек Набор команд, который появился в nanoCAD Plus 7.0 для работы с облаками точек

Поддерживаемые форматы

Для начала давайте разберемся с тем, какие форматы поддерживает nanoCAD Plus 7.0. Команда Импорт предоставляет возможность загружать облака точек пяти популярных форматов: BIN (TerraSolid), LAS (ASPRS), PTX (Leica), PTS (Leica) и PCD (Point Cloud Library). Собственный модуль прямого импорта позволяет сохранить максимум информации из исходного файла.

Такой поход не просто делает работу более удобной — в процессе импорта пользователь может получать общую информацию об облаке точек, фильтровать импортируемые метаданные и проводить предварительную классификацию точек: по классу (коду), по отражению и т.д. Таким образом, данные уже приходят в САПР более упорядоченно (рис. 3).

Прямая поддержка популярных форматов, с которыми работают 3D-сканеры, позволяет контролировать параметры импорта облака точек в САПР Прямая поддержка популярных форматов, с которыми работают 3D-сканеры, позволяет контролировать параметры импорта облака точек в САПР

Информация о привязке и настройке отображения облака точек сохраняется в *.dwg-файле.

В перспективе пользователи смогут сохранять облако внутри *.dwg-файла, как это было сделано в предыдущей версии nanoCAD Plus для растровых изображений. Такая возможность снижает риск потерять данные при передаче проекта сторонним исполнителям и заказчику.

Объем данных 3D-сканирования, поддерживаемых nanoCAD Plus

Количество точек в облаке зависит от разрешающей способности 3D-сканера. Вполне обычными считаются облака на 3−4 миллиона точек. Сверхбольшие облака содержат миллиард точек и больше — для обработки такого объема данных необходимы достаточно мощные компьютеры и специализированные алгоритмы.

В nanoCAD Plus 7.0 не предусмотрено никаких технических ограничений на объем облаков точек, а сами алгоритмы оптимизированы для обработки сверхбольших массивов — см. рис. 4, на котором приведены примеры работы с крупными облаками точек (файл-пример цеха (129 миллионов точек) получен с помощью сканеров компании Leica и предоставлен представителями этой компании).

nanoCAD Plus 7.0 позволяет работать со сверхбольшими облаками размерностью 1 миллиард точек и больше nanoCAD Plus 7.0 позволяет работать со сверхбольшими облаками размерностью 1 миллиард точек и больше

Отображение облаков точек

nanoCAD Plus позволяет настроить отображение импортированного облака точек — за это отвечает команда Режим отображения. Здесь можно настроить тип раскраски облака и размер точки — очень эффектно отображаются облака точек, раскрашенные по цвету сканирования (рис. 5). Фактически получаются трехмерные фотографии отсканированных объектов, по которым можно прогуляться, встроить их в существующую 3D-модель и даже использовать привязки к точкам облака при любых построениях. Стоит отметить, что этот функционал открыт для вертикальных приложений, загружаемых в nanoCAD Plus. А разработчики таких приложений могут использовать обширный программный интерфейс для доступа к информации о точках облака и их параметрах.

Облака можно раскрасить в соответствии с метаданными точек: по цвету сканирования, высоте, интенсивности, углу сканирования и т.д. Облака можно раскрасить в соответствии с метаданными точек: по цвету сканирования, высоте, интенсивности, углу сканирования и т.д.

Если у вас установлен nanoCAD Plus 7.0, вы можете сами побродить в облаке точек — папка примеров содержит в формате *.dwg несложную модель с фильтрационным оборудованием. Попробуйте поменять у нее цвет, толщину точек, походить по модели в режиме перспективной навигации. В этой же папке вы найдете и другие примеры трехмерных точечных проектов.

Операции над облаками точек

Что можно делать с облаками точек, кроме визуализации? Если теоретизировать, то число полезных функций окажется просто огромным: можно сравнивать модели, определяя коллизии, вычленять объекты по определенным признакам (например, по метаданным), классифицировать группы точек по различным признакам, сшивать-разрезать облака точек по этим или дополнительным признакам, распознавать поверхности и объекты…

Но все эти задачи — функционал узкоспециализированных решений, специфичных для конкретной предметной области. В nanoCAD Plus 7.0 набор инструментов для работы с облаками точек несколько скромнее и рассчитан на массовое применение. В частности, платформа позволяет выполнять:

  • обрезку облаков точек по прямоугольникам либо по полигону. Это позволяет сократить размер облака, с которым пользователь работает в данный момент, и вычленить из облака точек нужную для работы модель;
  • построение вертикального или горизонтального сечения по облаку точек. Например, с помощью этой функции можно получить сечение здания либо поверхность земли (рис. 6);
  • привязку к ближайшим точкам сечения и геометрические построения по сечению облака точек.
Сечение, построенное по облаку точек в nanoCAD Plus 7.0 Сечение, построенное по облаку точек в nanoCAD Plus 7.0

Какое же практическое применение имеют эти инструменты? Одним из приемов работы с функционалом сечений и клипов является сегментирование облака точек для того чтобы организовать удобную работу с целевым участком пространства, убрав влияние других частей облака. В дополнение к этому функционал привязок к облаку точек позволяет эффективно опираться на точки для проведения измерений, трассировки трехмерных объектов и даже трехмерного моделирования. Привязываясь к точкам облака, можно использовать возможности всех штатных команд nanoCAD для измерения расстояний и длин, периметров и площадей.

Для трассировки проекций трехмерных объектов в сечениях облаков точек применим широкий набор имеющихся чертежных средств nanoCAD, ну, а для трехмерных построений с использованием геометрии облаков точек к вашим услугам весь функционал нового модуля 3D-моделирования.

Примеры работ с облаками точек

Применяя к данным, полученным из облаков точек, дополнительные алгоритмы, можно решать более интеллектуальные задачи. Скажем, в Венеции фасады зданий, оцифрованные с помощью мобильной лазерной системы сканирования RIEGL VMX-250, анализируются на результаты деформаций и последствия действий вандалов (рис. 7) 2.

Пример использования облаков точек для автоматизированного анализа фасадов зданий в Венеции Пример использования облаков точек для автоматизированного анализа фасадов зданий в Венеции

Другой пример: оцифровка Большого каньона (США) с помощью сканеров RIEGL VZ-4000 — посмотрите, как создаются трехмерные модели (рис. 8) 3.

Практическое сканирование на примере создания трехмерной модели Большого каньона Практическое сканирование на примере создания трехмерной модели Большого каньона

Трехмерное сканирование позволяет описывать модели даже таких труднодоступных объектов, как заброшенные шахты (рис. 9) 4.

Пример создания трехмерной модели заброшенной шахты Пример создания трехмерной модели заброшенной шахты

В Интернете вы найдете массу других примеров оригинального применения технологии облака точек. Решение всех этих задач стало возможным благодаря развитию программного и аппаратного обеспечения.

Заключение

Вот какая интересная технология реализована теперь в платформе nanoCAD Plus. Кто-то скажет, что пока направление 3D-сканирования носит скорее рекламный характер. Отчасти соглашусь — эту технологию можно еще развивать и совершенствовать. Собственно, именно к этому мы и призываем — давайте находить практические задачи, в которых востребованы технологии трехмерного сканирования, распознавания образов и интеллектуальной обработки данных. Мы готовы к сотрудничеству.

А уже сейчас можно загружать облака точек, строить сечения, проводить измерения, выполнять трассировку трехмерных объектов. Этот функционал доступен в nanoCAD Plus, причем опробовать его вы сможете и в демо-режиме. Таким образом, стартовый набор инструментов у вас есть. Хороших проектов!

  1. Изображение взято из статьи Н. Пелевина «Какие типы 3D-сканеров существуют?» (http://3d-daily.ru/equipment/3dscan-type.html). 
  2. www.youtube.com/watch?v=l7UUBtI4b1w 
  3. www.youtube.com/watch?v=1DJEynlnRu8 
  4. www.youtube.com/watch?v=8HdgliagAds 
Денис Ожигин
ЗАО «Нанософт»
Тел.: (495) 645−8626
E-mail: denis@nanocad.ru