Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PROCESSING AND RENDERING 3D DATA
Document Type and Number:
WIPO Patent Application WO/2023/224517
Kind Code:
A2
Inventors:
VINTER ARTEM (RU)
PELEVIN DMITRII (RU)
ZHILIN SERGEI (RU)
Application Number:
PCT/RU2023/050116
Publication Date:
November 23, 2023
Filing Date:
May 16, 2023
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
LLC PAZL KHOUM (RU)
International Classes:
G06T15/08; G06F30/13; G06T17/30
Attorney, Agent or Firm:
ABRAMENKO, Oleg (RU)
Download PDF:
Claims:
ФОРМУЛА

1. Способ рендеринга и обработки данных, выполняемый при помощи компьютера, включает по крайней мере следующие шаги:

- получают 3D модель объекта;

- разделяют полученную 3D модель на изменяемые и неизменяемые блоки, каждому изменяемому блоку устанавливается тип, размеры и соответствующие данному типу дополнительные параметры, объект соответствующего типа по умолчанию;

- формируют по крайней мере один обработчик, использующий параметры изменяемых и неизменяемых объектов;

- отображают 3D модель;

- получают от пользователя запрос на изменение изменяемого блока;

- в ответ на запрос изменение объекта, связанного с изменяемым блоком, получают список возможных конкретных объектов с их характеристиками;

- в ответ на изменение характеристик объекта, связанного с изменяемым блоком, осуществляют фильтрацию объектов, соответствующих заданным пользователем характеристикам;

- обновляют выбранный пользователем объект;

- запускают сформированные обработчики.

Description:
СПОСОБ ОБРАБОТКИ И РЕНДЕРИНГА ЗД ДАННЫХ

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

Из уровня техники известна система проектирования объектов в среде виртуальной реальности в реальном времени (RU2656584, опубл. 05.06.2018), содержащая: по меньшей мере одно устройство отображения, выполненное с возможностью: отображения в реальном времени по меньшей мере одного трехмерного изображения объекта, отслеживания движения маркера, получения данных от вычислительного устройства, получения данных от устройства позиционирования; по меньшей мере одно устройство позиционирования, выполненное с возможностью: измерения положения и ориентации по меньшей мере одной конечности пользователя, обновления положения объекта в среде виртуальной реальности и его отображения на устройстве отображения, получения данных от вычислительного устройства; по меньшей мере одно устройство считывания данных, выполненное с возможностью: обнаружения прикосновения к виртуальному объекту и измерения силы воздействия на него, обеспечения реалистичной тактильной обратной связи; по меньшей мере одно вычислительное устройство, выполненное с возможностью: проектирования объекта в среде виртуальной реальности, сопоставления и верификации данных с датчиков, автоматической калибровкой датчиков системы в координатах реального мира, удаления статистических выбросов в координатах точек объектов, фильтрации данных с датчиков, формирования общего облака точек, однозначно отображающего положения объектов, управления устройствами считывания, устройствами позиционирования, устройствами отображения, причем вышеуказанное вычислительное устройство: формирует экземпляр виртуального пространства; получает по меньшей мере один виртуальный объект, который отображается на устройстве отображения, причем виртуальный объект может быть получен из виртуального каталога или графической библиотеки или сформирован пользователем из примитивов на устройстве отображения в среде виртуальной реальности, причем созданному объекту на этапе проектирования присваиваются атрибуты; принимает управляющие команды пользователя для по меньшей мере одного полученного виртуального объекта от вышеуказанного устройства позиционирования, причем управляющие команды генерируются путем восприятия выражения лица пользователя и/или движения тела пользователя и представляют собой одну или комбинацию следующих команд: сжатие объекта, удаление фрагмента, уменьшение или увеличение объекта, при этом у объекта или его фрагмента выбирается предварительно область, где находится объект, производится его блокировка от изменения другими пользователями, а затем пользователь выбирает инструмент или действие, которое может быть совершено с редактируемой областью; выполняет принятые управляющие команды над виртуальным объектом для по меньшей мере одного виртуального объекта; синхронизирует данные с датчиков системы; обновляет данные в режиме реального времени, а старые данные записывает в буфер данных, в случае если координаты точек объекта изменяются после внесения изменений при выполнении команды; проверяет характеристики виртуального объекта на соответствие характеристикам, утвержденным в нормативной документации для данного виртуального объекта; выводит на устройство отображения сообщение о результате проверки.

Из уровня техники также известен способ построения трехмерной модели поверхности корпуса судна (RU2648524, опубл. 26.03.2018), заключающийся в том, что средствами компьютерной программы сначала вертикально и параллельно друг другу размещают вспомогательные поперечные плоскости и наносят на них характерные точки соответствующих поперечных сечений поверхности корпуса судна, затем на каждой вспомогательной поперечной плоскости по этим точкам с помощью сплайнов рисуют линии поперечных профилей необходимой формы, далее все поперечные профили, расположенные на различных вспомогательных поперечных плоскостях, плавно соединяют в одну поверхность корпуса судна, отличающийся тем, что перед указанным нанесением характерных точек дополнительно размещают вспомогательные продольные плоскости, которые перпендикулярны вспомогательным поперечным плоскостям, а после нанесения характерных точек на каждой вспомогательной продольной плоскости по лежащим на ней точкам с помощью сплайнов рисуют линии продольных профилей необходимой формы, а плавное соединение поперечных профилей в одну поверхность производят по частям, которые ограничены соседними продольными профилями.

Недостатками указанных решения являются меньшая эффективность, гибкость рендеринга и обработки данных ЗД объектов.

СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯ Технический результат заключается в повышении эффективности рендеринга, обработки данных ЗД объектов, повышении эффективности использования ресурсов компьютера.

Согласно одному из вариантов реализации, предлагается способ рендеринга и обработки данных, выполняемый при помощи компьютера, включает по крайней мере следующие шаги:

- получают 3D модель объекта (сцену);

- разделяют полученную 3D модель на изменяемые и неизменяемые блоки, каждому изменяемому блоку устанавливается тип, размеры и соответствующие данному типу дополнительные параметры, объект соответствующего типа по умолчанию;

- формируют по крайней мере один обработчик, использующий параметры изменяемых и неизменяемых объектов;

- отображают 3D модель;

- получают от пользователя запрос на изменение изменяемого блока;

- в ответ на запрос изменение объекта, связанного с изменяемым блоком, получают список возможных конкретных объектов с их характеристиками;

- в ответ на изменение характеристик объекта, связанного с изменяемым блоком, осуществляют фильтрацию объектов, соответствующих заданным пользователем характеристикам ;

- обновляют выбранный пользователем объект;

- запускают сформированные обработчики.

Так, например, в качестве 3D модели может выступать дом, автомобиль, корабль, самолет или иной объект.

В некоторых вариантах реализации в качестве 3D модели может использоваться предварительно обработанная или преобразованная BIM-модель объекта.

В некоторых вариантах реализации в качестве 3D модели может использоваться предварительно обработанная или преобразованная модель из 3D-MAX. Некоторые варианты обработки или преобразования описаны далее по тексту.

В некоторых вариантах реализации в BIM или 3D-MAX модели может производиться корректировка геометрии.

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

В случае если пользователь решает изменить, например, характеристики объекта, связанного с изменяемым блоком (например, диаметр или тип диска), осуществляют фильтрацию объектов, соответствующих заданным пользователем характеристикам и их отображение. При этом пользователь через пользовательский интерфейс или иным образом осуществляет выбор объекта, соответствующего характеристикам. В качестве примера характеристик для автомобильных дисков могут, например, диаметр: 19", масса диска < 12 кг, ширина диска: 8.0", вылет (ЕТ): 28 мм, сверловка (PCD): 112.00x5, тип: литой, диаметр ЦО (DIA): 66,6 мм.

После того как пользователь осуществил изменение объекта или его характеристик, происходит обновление объекта.

В некоторых вариантах реализации техническое решение использует информационное моделирование здания, при котором предполагает сбор и комплексная обработка в процессе проектирования всей архитектурно-конструкторской, технологической, экономической и иной информации о здании со всеми её взаимосвязями и зависимостями, когда здание и всё, что имеет к нему отношение, рассматриваются как единый объект.

В некоторых вариантах реализации трёхмерная модель здания, либо другого объекта, связывают с базой данных, в которой каждому элементу модели присваиваются необходимые атрибуты.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ ФИГ. 1 иллюстрирует примерный вариант осуществления настоящего технического решения;

ФИГ. 2 иллюстрирует примерный вариант системы, реализующей настоящее техническое решение, согласно одному из вариантов осуществления;

ФИГ. 3 иллюстрирует примерный вариант схемы базы (каталога) составных частей, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 4 иллюстрирует примерный вариант сцены со сформированным на месте изменяемого блока прозрачного параллелепипеда, в зависимости от формы объекта, с заданными параметрами, для одного изменяемого блока, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 5 иллюстрирует примерный вариант сформированного на месте изменяемого блока прозрачного параллелепипеда, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 6 иллюстрирует примерный вариант сцены до добавления в нее блоков, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 7 иллюстрирует примерные варианты блоков, которые могут быть добавлены на сцену, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 8 иллюстрирует примерный вариант сцены после добавления в нее блоков, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 9 иллюстрирует примерные варианты блоков, которые могут быть добавлены на сцену, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 10 иллюстрирует примерный вариант сцены после добавления в нее одного из вариантов блоков, показанных на ФИГ. 9, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 11 иллюстрирует примерный вариант сцены после добавления в нее другого варианта блоков, показанных на ФИГ. 9, согласно одному из вариантов осуществления настоящего технического решения;

ФИГ. 12 иллюстрирует примерный вариант создания материалов из уровня техники.

ФИГ. 13 иллюстрирует примерный вариант создания материалов, согласно одному из вариантов настоящего изобретения;

На ФИГ. 14 показан пример компьютерной системы общего назначения.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ Объекты и признаки настоящего технического решения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее техническое решение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, обеспеченными для помощи специалисту в области техники в исчерпывающем понимании технического решения, и настоящее техническое решение определяется только в объеме приложенной формулы.

Используемые в настоящем описании настоящего технического решения термины «модуль», «компонент», «элемент» и подобные используются для обозначения компьютерных сущностей, которые могут являться аппаратным обеспечением/оборудованием (например, устройством, инструментом, аппаратом, аппаратурой, составной частью устройства, например, процессором, микропроцессором, интегральной схемой, печатной платой, в том числе электронной печатной платой, макетной платой, материнской платой и т.д., микрокомпьютером и так далее), программным обеспечением (например, исполняемым программным кодом, скомпилированным приложением, программным модулем, частью программного обеспечения или программного кода и так далее) и/или микропрограммой (в частности, прошивкой). Так, например, компонент может быть процессом, выполняющемся на процессоре (процессором), объектом, исполняемым кодом, программным кодом, файлом, программой/приложением, функцией, методом, (программной) библиотекой, подпрограммой, сопрограммой и/или вычислительным устройством (например, микрокомпьютером или компьютером) или комбинацией программных или аппаратных компонентов.

На ФИГ. 1 показан примерный вариант осуществления настоящего технического решения.

На шаге 101 осуществляется получение, по меньшей мере, одной трехмерной (3D) модели объекта (в частности, сцену), причем 3D модель (модель, ЗО-модель) может состоять из блоков (в частном случае, включать блоки, в том числе изменяемые и/или неизменяемые).

Так, например, 3D модель может быть получена модулем обработки 3D модели (202, ФИГ. 2) системы, реализующей настоящее техническое решение. 3D модель (сцена) может быть получена (в частности, передана в модуль) из, по меньшей мере, одного файла (например, содержащего данные 3D модели), базы данных или с удаленного сервера, например, в ответ на запрос, сформированный модулем обработки 3D модели (202, ФИГ. 2), например, клиентской частью системы, реализующей настоящее техническое решение, программой, частью программы и т.д.

В некоторых вариантах реализации 3D модель может дополнительно содержать информацию о том, какие типы блоков относятся к изменяемым, а какие к неизменяемым.

На шаге 111 осуществляется разделение полученной 3D модели на изменяемые и неизменяемые блоки с формированием промаркированных блоков (в частном случае прозрачных, как описано далее), причем каждому изменяемому блоку устанавливается, по меньшей мере, размеры, тип и соответствующие данному типу дополнительные параметры, объект соответствующего типа по умолчанию. Блоки (изменяемые и неизменяемые) могут меняться (средствами системы, реализующей настоящее техническое решение, в том числе пользователем с использованием средств системы, реализующей настоящее техническое решение, с использованием средств ввода данных вычислительного устройства пользователя (201, ФИГ. 2), таких, как клавиатура, манипулятор типа «мышь», сенсорного экрана и т.д. в том числе посредством взаимодействия с элементами интерфейса пользователя, в том числе графического и/или текстового интерфейса пользователя) при изменении этажа (например, исчезать, т.е. в частном случае не отображаться, скрываться и т.д.), переключаться при отображении фундамента, становиться полупрозрачными при отображении проводки и т.д.

В некоторых вариантах реализации разделение на изменяемые и/или неизменяемые блоки осуществляется пользователем с использованием средств системы, реализующей настоящее техническое решение (например, модулем обработки 3D модели (202, ФИГ. 2) или модулем разделения 3D модели (212, ФИГ. 2), который может являться частью модуля обработки 3D модели (202, ФИГ. 2) и т.д.), или средствами системы, реализующей настоящее техническое решение (например, модулем обработки 3D модели (202, ФИГ. 2) или модулем разделения 3D модели (212, ФИГ. 2), который может являться подмодулем модуля обработки 3D модели (202, ФИГ. 2) и т.д.), автоматически, например, на основании данных (с использованием данных) о типе объекта. Так, например, для некоторых типов объектов, может быть задано, что они всегда являются изменяемым, а другие - наоборот, неизменяемыми (например, на основе правил сопоставления). В некоторых вариантах реализации для отнесения блока к изменяемому или неизменяемому может быть использован рендеринг (от англ, rendering - «визуализация») 3D модели и анализ ее с использованием средств системы, реализующей настоящее техническое решение, например, средств компьютерного зрения, в том числе автоматического распознавания объектов и сопоставление распознанных объектов с правилами (выявление типа объекта, его границ, определение размера и т.д.). Так, например, для объекта окно (оконная рама) может быть задано, что это изменяемый объект.

При разделении для каждого объекта указываются, по меньшей мере, его координаты (абсолютные и/или относительные).

По меньшей мере для одного изменяемого блока формируют на месте по меньшей мере одного изменяемого блока, по меньшей мере один прозрачный параллелепипед (или куб, в зависимости от формы объекта) с заданными параметрами.

Упомянутый параллелепипед (404, ФИГ. 4) используется, по меньшей мере для осуществления привязки ориентации и маркирования (чтобы отметить) на нем точки центра («ориджин» - от англ. Object Origin). В частном случае размеры формируемого параллелепипеда (404, ФИГ. 4) могут не совпадать с изменяемым объектом, поскольку в частных случаях может иметь место множество возможных модификаций (в частности, размеров) изменяемых элементов, в связи с чем параллелепипед (404, ФИГ. 4) может формироваться примерным (в частности, с примерными параметрами, такие, как, например, размеры).

Упомянутые параметры являются координатами параллелепипеда (404, ФИГ. 4), названием линейки (323, ФИГ.З), от которой к нему осуществляется связывание модели (от которой к нему будут крепиться модели), а также имя (название) модели (или их перечень) с перечнем модификаций (343, ФИГ.З), набор которых в частном случае является бесконечным множеством (353, ФИГ.З). Для параллелепипеда (404, ФИГ. 4) в линейке (323, ФИГ.З) указывается, какая у него модель и набор параметров модификации (343, ФИГ.З), например, цвет и т.д.

После разделения 3D модель состоит из прозрачных промаркированных блоков, т.е. формируется набор прозрачных промаркированных блоков, где каждый блок является либо изменяемым, либо неизменяемым.

В некоторых вариантах реализации изменяемый блок может содержать изменяемую составную часть (303, ФИГ. 3). Каждая модификация (343, ФИГ.З) составной части (303, ФИГ. 3) помещается в отдельный прозрачный блок (т.е., в частном случае, разделяют изменяемый блок на составные части (303, ФИГ. 3), в частном случае, блоки, причем, составная часть (303, ФИГ. 3) может быть модифицирована, в частности, являться изменяемой частью) в том числе для фиксации пространственной ориентации (в частности, позиция и повороты) внутри содержащего его блока. Каждому блоку присваивается идентификатор, кодовое имя или маркер и т.д. Так, например, изменяемый элемент «Окно ПВХ» может содержать в себе другие изменяемые элементы, в частности, составные части (303, ФИГ. 3), например, стекла (камеры), фурнитуру, клапан микропроветривания, москитную сетку и т.д.

На шаге 121 осуществляется формирование, по меньшей мере, одного обработчика, использующего параметры изменяемых и неизменяемых объектов.

В некоторых вариантах реализации обработчик формируется (в том числе задается) на языке программирования, в том числе визуальном языке программирования, например, на скриптовом языке и обрабатывается средствами описываемой системы, например, модулем обработки и обновления программы (222, ФИГ. 2) , в том числе скрипта и т.д., причем в процессе отображения объектов (3D моделей и т.д.), при выполнении заданных (соответствующих и т.д.) условий. В некоторых вариантах реализации обработчик задается на какое-либо существующее (в том числе заранее заданное) событие (в том числе стандартное, специальное и т.д.), которое может быть обработано средствами системы, реализующей настоящее техническое решение, например, веб-браузером (например, событие нажатия кнопки мыши, обновление страницы и др.). В некоторых вариантах реализации обработчик может формировать конечную стоимость объекта, считать технические параметры проекта и т.д. Обработчики могут формироваться с учетом возможностей по обработке параметров объектов, доступа к параметрам объекта. Так, например, может быть задан обработчик, который проверяет (обходит) все объекты модели (сцены) и суммирует признаки массы для каждого найденного объекта с целью вычисления массы всего объекта.

На шаге 131 осуществляется отображение 3D модели средствами системы, реализующей настоящее техническое решение, например модулем визуализации (232, ФИГ. 2), модулем отображения 3D модели, сцены, элементов, связанных с 3D моделью, сценой и т.д.

В частном случае отображение 3D модели осуществляется, например, в веб-браузере с использованием параметров отображения 3D модели (сцены), в частности, с учетом текущих настроек.

На шаге 141 осуществляется получение средствами системы, реализующей настоящее техническое решение, например, модулем обработки 3D модели (202, ФИГ. 2), запроса на изменение изменяемого блока (в том числе приводящего к изменению объекта с формированием запроса на изменение объекта).

В некоторых вариантах реализации пользователь выбирает блок, который хочет изменить, например, произвести замену текущего оконного профиля на другой. Запрос на изменение формируется средствами системы, реализующей настоящее техническое решение, например, модулем формирования запросов на изменение изменяемых блоков, причем изменения осуществляются средствами системы или пользователем с использованием средств системы, например, в пользовательском интерфейсе при взаимодействии с блоками. Так, например, в некоторых вариантах реализации выбор (указателем мыши, с использованием сенсорного экрана и т.д.) блока может вызвать отображение контекстного меню (или другого меню), выбор соответствующего пункта которого запустит запрос на изменение изменяемого блока.

На шаге 151 в ответ на запрос на изменение объекта, связанного с изменяемым блоком, осуществляется получение средствами системы, реализующей настоящее техническое решение, списка возможных конкретных объектов с их характеристиками (363, ФИГ.З), например, модулем формирования списка объектов.

При получении запроса на изменение изменяемого блока, осуществляется отображение списка возможных объектов с их параметрами (характеристиками). В некоторых вариантах реализации при обработке запроса осуществляется фильтрация (отбор) доступных объектов.

На шаге 161 в ответ на изменение характеристик объекта, связанного с изменяемым блоком, осуществляется фильтрация объектов, соответствующих заданным пользователем характеристикам, средствами системы, реализующей настоящее техническое решение, например, модулем визуализации (232, ФИГ. 2), модулем обработки 3D модели (202, ФИГ. 2) или модулем фильтрации (242, ФИГ. 2).

В некоторых вариантах реализации фильтрация осуществляется с использованием базы данных, например, средствами СУБД (системы управления базами данных).

В некоторых вариантах реализации фильтруемые данные могут находиться в памяти и фильтроваться средствами, предоставляемыми браузером.

В некоторых вариантах реализации пользователь может решить изменить характеристики объектов, например, изменить цвет окна, тип кирпича, цвет кузова автомобиля или иные характеристики объекта.

На шаге 171 осуществляется обновление выбранного пользователем объекта средствами системы, реализующей настоящее техническое решение, например, модулем обработки 3D модели (202, ФИГ. 2).

После изменения объекта или его характеристик, в том числе пользователем, осуществляется обновление объекта, связанного с соответствующим изменяемым блоком.

На шаге 181 осуществляется запуск, по меньшей мере, одного сформированного обработчика средствами системы, реализующей настоящее техническое решение, например, модулем обработки и обновления программы (222, ФИГ. 2). Осуществляется обновление отображения 3D модели и, при необходимости, отображение результата, сформированного обработчиками средствами системы, реализующей настоящее техническое решение, например, модулем визуализации (232, ФИГ. 2)

Так, при выборе пользователем объекта (в частном случае, модели, 3D модели), для изменения, осуществляется запуск процесса изменения, по меньшей мере, одной модели, причем может осуществляться обновление правил.

В процессе изменения объекта осуществляется выбор модификации (343, ФИГ.З) с использованием графического интерфейса пользователя.

Далее осуществляется «чистка» текущего 3D. Так, осуществляется получение линком по имени (названию) средствами системы, реализующей настоящее техническое решение, например, модулем обработки 3D модели (202, ФИГ. 2), или модулем модификации (модулем изменения), который может являться частью модуля обработки 3D модели (202, ФИГ. 2). Упомянутая линка (от англ, link) является блоком для привязки к нему моделей из линеек (прозрачный параллелепипед, или куб, в зависимости от формы объекта) в сцене (основной основной).

Далее осуществляется получение всех типов в линейке (323, ФИГ.З). Типы в линейке (323, ФИГ.З) являются различными моделями внутри линейки, которые крепятся к разным линкам по типу. Так, например, окно может быть большим, а может быть небольшим. В частном случае все окна являются одной моделью. В частном случае большие окна имеют один тип, а небольшие - другой тип. При выборе нового цвета окна, небольшие окна прикрепляются к линкам с небольшим типом, а большие - к соответствующим линкам с большим типом.

Далее осуществляется копирование нового в каждый тип.

Осуществляется получение набора объектов.

Осуществляется клонирование дочерних объектов набора в каждый элемент из каждого типа. Осуществляется клонирование родительского объекта («родителя»). Родительским объектом является это невидимый объект (в частности, линка в линейке (323, ФИГ.З), в частном случае набор которых может являться бесконечным множеством (333, ФИГ.З)), внутри которого (по иерархии объектов) находятся все меши (от англ, mesh) определенной модели в линейке (323, ФИГ.З). Клонирование родительского объекта используется для последующей привязки его к координатам линки. Осуществляется клонирование дочерних объектов (являющихся мешами моделей) посредством клонирования их из файла с линейкой (323, ФИГ.З) в основную сцену. Осуществляется связывание дочерних объектов с родительскими объектами. В частном случае, координаты дочерним объектам присваиваются (назначаются, даются) не относительно центра сцены, а относительно блока родителя (наследуются из файла линейки). Тем самым, любые изменения блока родителя изменяют 3D модели, добавленные из линейки (323, ФИГ.З). Осуществляется перемещение родительского объекта в линку, т.е. осуществляется процесс перемещения (передвижения) блока родителя на место с линкой с осуществлением поворотов и перемещения, что позволяет объектам, например, окнам, встать в раму ровно, в нужную сторону направить (ориентировать, развернуть) стекла и т.д. Осуществляется обновление группы. Группы являются модификаторами (особыми модификаторами), которые влияют на отображение 3D моделей с включенными этажами или проводкой. После обновления 3D из линейки (323, ФИГ.З) все должно быть приведено к тому же виду, что было до. Например, при скрытом втором этаже обновляются окна во всем доме. Если группы не будут обновлены, то скрытые ранее окна второго этажа будут снова видны (поскольку они только что были добавлены в сцену). Таким образом, средствами описываемой системы осуществляется анализ того, что должно быть скрыто, а что должно отображаться (что оставить).

В частном случае архитектором осуществляется разработка проекта с формированием результата в цифровом формате (и/или на бумажном носителе). Далее, если результат в цифровом формате сформирован в формате, который не может быть использован системой, реализующей настоящее техническое решение, то осуществляется преобразование сформированного результата в формат системы (например, в формате Revit, ArchiCAD и т.д.), в том числе в полном соответствии с физическими размерами и наложением базовых материалов, имеющих привязку к реальности, в частности, вплоть до миллиметра; в противном случае результат в цифровом формате сохраняется в хранилище данных (252, ФИГ. 2) системы. Если результат сформирован архитектором на бумажном носителе, то осуществляется создание 3D сцены с использованием результата, сформированного архитектором на бумажном носителе, в том числе в полном соответствии с физическими размерами и наложением базовых материалов, имеющих привязку к реальности, в частности, вплоть до миллиметра.

Далее, 3D сцена, например, дом, разрезается ЗО-визуализаторами (пользователями с использованиями средств ЗО-разработки, либо автоматически с использованием заданных алгоритмов разделения 3D объектов, моделей, сцены и т.д.) на несколько составных частей (303, ФИГ. 3), которые будут меняться, отключаться и т.д., как описано в рамках настоящего технического решения, и каждая из этих частей сохраняется (в частности, запаковывается) в свой отдельный файл-контейнер (или группируются по смежным признакам), в частности, в хранилище данных (252, ФИГ. 2) системы. Далее эти составные части (303, ФИГ. 3) клонируются, помещаются рядом с родительскими, модифицируются или создаются новые, как описано в рамках настоящего технического решения.

Хранилищем данных (252, ФИГ. 2) может являться, по крайней мере, один накопитель на жестких магнитных дисках (НЖМД), твердотельным накопителем (от англ, solid-state drive/SSD), сетью хранения данных (SAN, от англ. Storage Area Network), сетевой системой хранения данных (NAS, от англ. Network Attached Storage) и/или любым другим устройством, позволяющим осуществлять запись, чтение и/или хранение данных на устройстве, реализующим хранилище данных (252, ФИГ. 2) Стоит также отметить, что данные в упомянутых хранилищах данных (252, ФИГ. 2) могут храниться в любом известном формате, например, в виде базы данных (БД), например, в виде таблиц. Также, по крайней мере, одна упомянутая база данных может являться иерархической, объектной, объектно-ориентированной, объектно-реляционной, реляционной, централизованной, фрагментированной/секционирова ной, тиражированной, пространственной, и т.д., причем для управления, создания и использования баз данных могут использоваться различные системы управления базами данных.

Далее, им присваиваются соответствующие «точки сборки» и осуществляется привязка к спецификации проекта. Далее на сцене осуществляется указание местоположения таких точек сборки.

По меньшей мере, часть составных частей (303, ФИГ. 3) могут быть добавлены (в частности, подключены) со сторонних систем (262, ФИГ. 2), в том числе серверов, вебсерверов (других источников данных, включая хранилища данных) и т.д., например, с использованием API (от англ. Application Programming Interface), например, виды объектов, например, производитель материалов может добавить новый вид кирпича самостоятельно и т.д.

Далее средствами системы, реализующей настоящее техническое решение, осуществляется проверка на соответствие всех составных частей (303, ФИГ. 3), например: круглое окно не может быть вставлено в квадратный оконный проём, и «примагничивает» их для сборки в единое целое. И далее система в зависимости от событий, например, в зависимости от действий пользователя, осуществляет замену одного другим, в том числе с обновлением цены конечного объекта (сцены, проекта и т.д.). Примагничивание является соединением частей друг с другом. Например, когда в сцену осуществляется клонирование изменяемых элементов (из библиотеки), как описано выше.

На ФИГ. 2 показан примерный вариант системы, реализующей настоящее техническое решение, согласно одному из вариантов осуществления. На ФИГ. 3 показан примерный вариант схемы базы (каталога) составных частей, согласно одному из вариантов осуществления настоящего технического решения.

В частном случае составной частью может являться, например, фундамент, коробка, кровля, окно, дверь, напольное покрытие, навес, боссаж, крыльцо, веранда, электроснабжение, отопление, кондиционирование, водоснабжение, канализация, охранная сигнализация, видеонаблюдение, интернет/сеть, умный дом, ландшафт, забор, ворота, мебель, техника, декор и т.д., в частности, набор составных частей может являться бесконечным множеством (313).

В частном случае характеристикой (363), в частности, характеристикой объекта, может являться наименование, производитель, цена, визуальный образ, текстура/цвет, габариты и т.д., в частности, набор характеристик может являться бесконечным множеством (373).

Как описано выше, сцена (основная сцена) состоит из окружения (например, деревья, трава, небо и т.д.) и основной модели (например, дом). Основная модель состоит из прозрачных промаркированных параллелепипедов (404, ФИГ. 4), или кубов. Составная часть может содержать в себе другую составную часть. Например, крыша состоит из строп и кровельного материала (примерный вариант формирования которых описан далее) и окон. Так, каждый параллелепипед (404, ФИГ. 4) содержит либо изменяемую составную часть, либо неизменяемую. Каждая модификация составной части помещается в отдельный прозрачный параллелепипед (404, ФИГ. 4) для фиксации пространственной ориентации (позиция и повороты) внутри параллелепипеда (404, ФИГ. 4). Каждому параллелепипеду (404, ФИГ. 4) присваивается своё кодовое имя (в частности, маркер, идентификатор). Средствами системы, реализующей настоящее техническое решение, осуществляется сцепка, являющаяся механизмом сборки основной модели из множества параллелепипедов (404, ФИГ. 4), содержащих модификации составных частей посредством замены одного параллелепипеда (404, ФИГ. 4) на другой (с соответствующим маркером), в частности, без перезагрузки основной сцены. Параллелепипеды (404, ФИГ. 4) группируются по принципу, отображенному на ФИГ. 3, и хранятся в хранилище данных 252, в частности, в базе данных.

На ФИГ. 4 показан примерный вариант сцены со сформированным на месте изменяемого блока (505, ФИГ. 5) прозрачного параллелепипеда (404), или куба, в зависимости от формы объекта, с заданными параметрами, для одного изменяемого блока (505, ФИГ. 5), согласно одному из вариантов осуществления настоящего технического решения. Для удобства взаимодействия и поиска прозрачный параллелепипед (404) может быть выделен рамкой, как показано на ФИГ. 4. На ФИГ. 5 показан примерный вариант сформированного на месте изменяемого блока (505) прозрачного параллелепипеда (404), согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 6 показан примерный вариант сцены до добавления в нее блоков, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 7 показаны примерные варианты блоков, которые могут быть добавлены на сцену, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 8 показан примерный вариант сцены после добавления в нее блоков, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 9 показаны примерные варианты блоков, которые могут быть добавлены на сцену, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 10 показан примерный вариант сцены после добавления в нее одного из вариантов блоков, показанных на ФИГ. 9, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 11 показан примерный вариант сцены после добавления в нее другого варианта блоков, показанных на ФИГ. 9, согласно одному из вариантов осуществления настоящего технического решения.

На ФИГ. 12 показан примерный вариант создания материалов из уровня техники.

В существующем уровне технички используются технологии создания материалов, в рамках которых, например, для ста цветов кровли, формируются (создаются) сто файлов.

На ФИГ. 13 показан примерный вариант создания материалов, согласно одному из вариантов настоящего изобретения.

В рамках настоящего изобретения, например, для ста цветов кровли, формируются (создаются) два файла, поскольку средствами описываемой системы осуществляется преобразование цвета из линейного цветового пространства в пространство sRGB и наоборот с наложением на текстуру с картой высот в альфа-канале. Так же используется сочетание л огических/« физических» параметров, таких, как отражение, преломление, сглаживание и т.д., результатом чего является полуцифровой материал (формируемый преимущественно математическими формулами, а не цветными пикселями с координатами), что приводит, по меньшей мере, к ускорению загрузки файлов, материалов, трехмерных моделей, сцены и т.д., а также позволяет достигать огромного (практически бесчисленного) множества цветов.

Система (или, по меньшей мере, одна ее часть), реализующая настоящее техническое решение, может использовать технологию WebGL (Web-based Graphics Library), что, в том числе обеспечивает функционирование системы в веб-браузерах (например, Chrome, FireFox, Opera, Safari, Internet Explorer и т.д.) и вычислительных устройствах (компьютер, планшет, телефон, Smart-TV и т.д.), в том числе без установки (загрузки) и использования каких-либо дополнений, в частности, плагинов (англ, plug-in). WebGL является кроссплатформенным API для ЗВ-графики в браузере, использующим язык программирования шейдеров GLSL и исполняется как элемент HTML5, в связи с чем является полноценной частью объектной модели документа (DOM API) веб-браузера. WebGL так же является контекстом элемента canvas HTML, который обеспечивает API 3D графики по умолчанию без использования плагинов.

На ФИГ. 14 показан пример компьютерной системы общего назначения, которая включает в себя многоцелевое вычислительное устройство в виде компьютера 20 или сервера или планшета или смартфона, включающего в себя процессор 21, системную память 22 и системную шину 23, которая связывает различные системные компоненты, включая системную память с процессором 21.

Системная шина 23 может быть любого из различных типов структур шин, включающих шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шин. Системная память включает постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. В ПЗУ 24 хранится базовая система ввода/вывода 26 (БИОС), состоящая из основных подпрограмм, которые помогают обмениваться информацией между элементами внутри компьютера 20, например, в момент запуска.

Компьютер 20 также может включать в себя накопитель 27 на жестком или твердотельном диске для чтения с и записи (не показан). Накопитель 27 соединен с системной шиной 23 посредством, соответственно, интерфейса 32 накопителя на жестком диске. Накопители и их соответствующие читаемые компьютером средства обеспечивают энергонезависимое хранение читаемых компьютером инструкций, структур данных, программных модулей и других данных для компьютера 20.

Хотя описанная здесь типичная конфигурация использует жесткий диск, специалист примет во внимание, что в типичной операционной среде могут также быть использованы другие типы читаемых компьютером средств, которые могут хранить данные, которые доступны с помощью компьютера, такие как магнитные кассеты, карты флеш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п.

Различные программные модули, включая операционную систему 35, могут быть сохранены на жёстком диске, ПЗУ 24 или ОЗУ 25. Компьютер 20 включает в себя файловую систему 36, связанную с операционной системой 35 или включенную в нее, одно или более программное приложение 37, другие программные модули 38 и программные данные 39. Пользователь может вводить команды и информацию в компьютер 20 при помощи устройств ввода, таких как клавиатура 40 и указательное устройство 42. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, геймпад, спутниковую антенну, сканер или любое другое.

Эти и другие устройства ввода соединены с процессором 21 часто посредством интерфейса 46 последовательного порта, который связан с системной шиной, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (УШИ). Монитор 47 или другой тип устройства визуального отображения также соединен с системной шиной 23 посредством интерфейса, например, видеоадаптера 48. В дополнение к монитору 47, персональные компьютеры обычно включают в себя другие периферийные устройства вывода (не показано), такие как динамики и принтеры.

Компьютер 20 может работать в сетевом окружении посредством логических соединений к одному или нескольким удаленным компьютерам 49. Удаленный компьютер (или компьютеры) 49 может представлять собой другой компьютер, сервер, роутер, сетевой ПК, пиринговое устройство или другой узел единой сети, а также обычно включает в себя большинство или все элементы, описанные выше, в отношении компьютера 20, хотя показано только устройство хранения информации 50. Логические соединения включают в себя локальную сеть (ЛВС) 51 и глобальную компьютерную сеть (ГКС) 52. Такие сетевые окружения обычно распространены в учреждениях, корпоративных компьютерных сетях, Интернете.

Компьютер 20, используемый в сетевом окружении ЛВС, соединяется с локальной сетью 51 посредством сетевого интерфейса или адаптера 53. Компьютер 20, используемый в сетевом окружении ГКС, обычно использует модем 54 или другие средства для установления связи с глобальной компьютерной сетью (wi-fi, wi-max) 52, такой как Интернет.

Модем 54, который может быть внутренним или внешним, соединен с системной шиной 23 посредством интерфейса 46 последовательного порта. В сетевом окружении программные модули или их части, описанные применительно к компьютеру 20, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.

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