WO2023224517A2 - Способ обработки и рендеринга 3д данных - Google Patents

Способ обработки и рендеринга 3д данных Download PDF

Info

Publication number
WO2023224517A2
WO2023224517A2 PCT/RU2023/050116 RU2023050116W WO2023224517A2 WO 2023224517 A2 WO2023224517 A2 WO 2023224517A2 RU 2023050116 W RU2023050116 W RU 2023050116W WO 2023224517 A2 WO2023224517 A2 WO 2023224517A2
Authority
WO
WIPO (PCT)
Prior art keywords
model
technical solution
block
user
objects
Prior art date
Application number
PCT/RU2023/050116
Other languages
English (en)
French (fr)
Inventor
Артем ВИНТЕР
Дмитрий ПЕЛЕВИН
Сергей ЖИЛИН
Original Assignee
Общество с ограниченной ответственностью "Пазл.Хоум"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2022113193A external-priority patent/RU2022113193A/ru
Application filed by Общество с ограниченной ответственностью "Пазл.Хоум" filed Critical Общество с ограниченной ответственностью "Пазл.Хоум"
Publication of WO2023224517A2 publication Critical patent/WO2023224517A2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description

Definitions

  • This technical solution relates to computer technology and, in particular, to technologies for managing and editing objects in virtual reality, including means of generating, changing and presenting three-dimensional models and three-dimensional scenes in virtual space.
  • a system for designing objects in a virtual reality environment in real time is known from the prior art (RU2656584, publ. 06/05/2018), containing: at least one display device configured to: display in real time at least one three-dimensional image of an object, track marker movement, receiving data from a computing device, receiving data from a positioning device; at least one positioning device configured to: measure the position and orientation of at least one user's limb, update the position of an object in a virtual reality environment and display it on a display device, receive data from a computing device; at least one data reading device configured to: detect a touch on a virtual object and measure the force of impact on it, provide realistic tactile feedback; at least one computing device configured to: design an object in a virtual reality environment, compare and verify data from sensors, automatically calibrate system sensors in real world coordinates, remove statistical outliers in the coordinates of object points, filter data from sensors, form a common cloud points that uniquely display the positions of objects, control reading devices, positioning devices, display devices, and the above computing device: forms an instance of the virtual space
  • the technical result consists in increasing the efficiency of rendering, processing data of 3D objects, and increasing the efficiency of using computer resources.
  • a method for rendering and processing data performed by a computer includes at least the following steps:
  • each changeable block is set with a type, dimensions and additional parameters corresponding to this type, an object of the corresponding type by default;
  • a 3D model can be a house, car, ship, plane or other object.
  • a pre-processed or converted BIM model of the object may be used as a 3D model.
  • a preprocessed or converted model from 3D-MAX may be used as the 3D model. Some processing or conversion options are described below.
  • geometry adjustments can be made in the BIM or 3D-MAX model.
  • the user's request to change the object can be, for example, changing a brick to an aerated concrete block or SIP panels when forming walls. All these new objects are displayed to the user, and he can change and select them.
  • the characteristics of an object associated with the block being changed for example, the diameter or type of disk
  • objects corresponding to the user-specified characteristics are filtered and displayed.
  • the user through the user interface or otherwise, selects an object that matches the characteristics.
  • characteristics for car rims for example, diameter: 19", rim weight ⁇ 12 kg, rim width: 8.0", offset (ET): 28 mm, drilling (PCD): 112.00x5, type: cast, CO diameter (DIA): 66.6 mm.
  • the object is updated.
  • the technical solution uses building information modeling, which involves the collection and complex processing during the design process of all architectural, design, technological, economic and other information about the building with all its interrelations and dependencies, when the building and everything that relates to it relationship are considered as a single object.
  • a three-dimensional model of a building or other object is associated with a database in which the necessary attributes are assigned to each element of the model.
  • FIG. 1 illustrates an exemplary embodiment of the present technical solution
  • FIG. 2 illustrates an exemplary system implementing the present technical solution, according to one embodiment
  • FIG. 3 illustrates an exemplary version of the database (catalogue) diagram of components, according to one of the embodiments of the present technical solution
  • FIG. 4 illustrates an example version of a scene with a transparent parallelepiped formed in place of a variable block, depending on the shape of the object, with given parameters, for one variable block, according to one of the embodiments of the present technical solution;
  • FIG. 5 illustrates an exemplary embodiment of an in situ formed variable block of a transparent parallelepiped, according to one embodiment of the present technical solution
  • FIG. 6 illustrates an example version of a scene before adding blocks to it, according to one of the embodiments of the present technical solution
  • FIG. 7 illustrates exemplary blocks that may be added to a scene, according to one embodiment of the present technical solution
  • FIG. 8 illustrates an example version of a scene after adding blocks to it, according to one of the embodiments of the present technical solution
  • FIG. 9 illustrates exemplary blocks that may be added to a scene, according to one embodiment of the present technical solution.
  • FIG. 10 illustrates an example of a scene after adding one of the block options shown in FIG. 9, according to one of the embodiments of the present technical solution
  • FIG. 11 illustrates an example of a scene after adding another version of the blocks shown in FIG. 9, according to one of the embodiments of the present technical solution
  • FIG. 12 illustrates an exemplary embodiment of the creation of prior art materials.
  • FIG. 13 illustrates an exemplary embodiment of materials according to one embodiment of the present invention
  • FIG. Figure 14 shows an example of a general purpose computer system.
  • module As used in the present description of this technical solution, the terms “module”, “component”, “element” and the like are used to refer to computer entities that may be hardware/equipment (for example, a device, a tool, an apparatus, an apparatus, an integral part of a device, for example , processor, microprocessor, integrated circuit, printed circuit board, including electronic printed circuit board, development board, motherboard, etc., microcomputer and so on), software (for example, executable program code, compiled application, program module, part of software or program code, etc.) and/or firmware (in particular, firmware).
  • hardware/equipment for example, a device, a tool, an apparatus, an apparatus, an integral part of a device, for example , processor, microprocessor, integrated circuit, printed circuit board, including electronic printed circuit board, development board, motherboard, etc., microcomputer and so on
  • software for example, executable program code, compiled application, program module, part of software or program code, etc.
  • firmware in particular, firmware
  • a component may be a process running on a processor (processor), an object, executable code, program code, a file, a program/application, a function, a method, a (software) library, a subroutine, a coroutine, and/or a computing device (e.g. microcomputer or computer) or a combination of software or hardware components.
  • FIG. 1 shows an exemplary embodiment of the present technical solution.
  • At step 101 at least one three-dimensional (3D) model of an object (in particular, a scene) is obtained, and the 3D model (model, 3D model) may consist of blocks (in a particular case, include blocks, including changeable ones) and/or immutable).
  • a 3D model can be obtained by a 3D model processing module (202, FIG. 2) of a system implementing the present technical solution.
  • the 3D model (scene) can be obtained (in particular, transferred to the module) from at least one file (for example, containing 3D model data), a database or from a remote server, for example, in response to a request generated by the processing module 3D models (202, FIG. 2), for example, the client part of the system that implements this technical solution, a program, part of a program, etc.
  • the 3D model may additionally contain information about which block types are mutable and which are non-modifiable.
  • the resulting 3D model is divided into changeable and unchangeable blocks with the formation of marked blocks (in the particular case transparent, as described below), and each changeable block is set to at least the dimensions, type and additional parameters corresponding to this type, the object of the corresponding default type.
  • Blocks (changeable and unchangeable) can be changed (by means of the system that implements the present technical solution, including by the user, using the means of the system that implements the present technical solution, using the data input means of the user's computing device (201, FIG. 2), such as keyboard, mouse, touch screen, etc., including through interaction with user interface elements, including graphic and/or text user interface) when changing the floor (for example, disappearing, i.e. in private case not to be displayed, hidden, etc.), switch when displaying the foundation, become translucent when displaying wiring, etc.
  • the division into changeable and/or unchangeable blocks is carried out by the user using the tools of the system that implements the present technical solution (for example, a 3D model processing module (202, FIG. 2) or a 3D model separation module (212, FIG. 2), which may be part of a 3D model processing module (202, FIG. 2), etc.), or means of a system that implements the present technical solution (for example, a 3D model processing module (202, FIG. 2) or a 3D model separation module ( 212, FIG. 2), which may be a submodule of the 3D model processing module (202, FIG. 2), etc.), automatically, for example, based on data (using data) about the type of object.
  • a 3D model processing module 202, FIG. 2
  • a 3D model separation module 212, FIG. 2
  • At least one transparent parallelepiped (or cube, depending on the shape of the object) with specified parameters is formed in place of at least one variable block.
  • Said parallelepiped (404, FIG. 4) is used to at least implement orientation binding and marking (to mark) center points on it ("origin" - from English Object Origin).
  • orientation binding and marking to mark
  • center points on it "origin" - from English Object Origin.
  • the dimensions of the generated parallelepiped (404, FIG. 4) may not coincide with the modified object, since in particular cases there may be many possible modifications (in particular, sizes) of the changed elements, and therefore the parallelepiped (404, FIG. 4 ) can be formed approximate (in particular, with approximate parameters, such as, for example, dimensions).
  • the mentioned parameters are the coordinates of the parallelepiped (404, FIG. 4), the name of the ruler (323, FIG. 3), from which the model is connected to it (from which the models will be attached to it), as well as the name (title) of the model (or their list) with a list of modifications (343, FIG.3), the set of which in a particular case is an infinite set (353, FIG.3).
  • the line (323, FIG. 3) indicates what model it has and a set of modification parameters (343, FIG. 3), for example, color, etc.
  • the 3D model consists of transparent labeled blocks, i.e. a set of transparent labeled blocks is formed, where each block is either mutable or immutable.
  • the variable block may comprise a variable component (303, FIG. 3).
  • Each modification (343, FIG. 3) of a component (303, FIG. 3) is placed in a separate transparent block (i.e., in a particular case, the modified block is divided into component parts (303, FIG. 3), in a particular case , blocks, and the component part (303, FIG. 3) can be modified, in particular, be a variable part) including for fixing the spatial orientation (in particular, position and rotations) within the block containing it.
  • Each block is assigned an identifier, codename or marker, etc. So, for example, a variable element “PVC Window” may contain other variable elements, in particular, components (303, FIG. 3), for example, glass (chambers), fittings, micro-ventilation valve, mosquito net, etc.
  • At step 121 at least one handler is generated that uses the parameters of mutable and immutable objects.
  • the handler is generated (including specified) in a programming language, including a visual programming language, for example, in a scripting language, and is processed by means of the described system, for example, by a program processing and updating module (222, FIG. 2), in including a script, etc., and in the process of displaying objects (3D models, etc.), when specified (appropriate, etc.) conditions are met.
  • the handler is set to any existing (including predefined) event (including standard, special, etc.), which can be processed by means of the system that implements the present technical solution, for example, a web browser (for example, mouse click event, page refresh, etc.).
  • the processor can generate the final cost of an object, read technical parameters of the project, etc.
  • Handlers can be generated taking into account the capabilities for processing object parameters and access to object parameters. So, for example, a handler can be specified that checks (walks through) all objects of the model (scene) and summarizes the mass attributes for each found object in order to calculate the mass of the entire object.
  • the 3D model is displayed using the means of a system that implements the present technical solution, for example, a visualization module (232, FIG. 2), a module for displaying a 3D model, a scene, elements associated with the 3D model, a scene, etc.
  • a visualization module 232, FIG. 2
  • the 3D model is displayed, for example, in a web browser using the 3D model (scene) display parameters, in particular, taking into account the current settings.
  • the means of the system implementing the present technical solution for example, the 3D model processing module (202, FIG. 2), receive a request to change the variable block (including one leading to a change in the object with the formation of a request to change the object).
  • the user selects a block that he wants to change, for example, replacing the current window profile with another.
  • a change request is generated by means of a system that implements this technical solution, for example, a module for generating requests to change changeable blocks, wherein changes are made by means of the system or by the user using means of the system, for example, in the user interface when interacting with blocks.
  • selecting with a mouse pointer, using a touch screen, etc.
  • a block may cause a context menu (or other menu) to be displayed, the selection of which will trigger a prompt to change the block being modified.
  • a list of possible specific objects with their characteristics (363, FIG. 3), for example, by a module for generating a list of objects, is obtained by means of the system that implements the present technical solution.
  • a list of possible objects with their parameters is displayed.
  • filtering selection of available objects is performed.
  • step 161 in response to a change in the characteristics of an object associated with a variable block, filtering of objects corresponding to user-specified characteristics is carried out using the means of a system that implements the present technical solution, for example, a visualization module (232, FIG. 2), a 3D model processing module (202 , FIG. 2) or a filter module (242, FIG. 2).
  • a visualization module 232, FIG. 2
  • a 3D model processing module 202 , FIG. 2
  • filter module 242, FIG. 242
  • filtering is carried out using a database, for example, using a DBMS (database management system).
  • DBMS database management system
  • the filtered data may reside in memory and be filtered by means provided by the browser.
  • the user may decide to change the characteristics of objects, such as changing the color of a window, the type of brick, the color of a car body, or other characteristics of the object.
  • the user-selected object is updated using the system that implements the present technical solution, for example, a 3D model processing module (202, FIG. 2).
  • the object associated with the corresponding modified block is updated.
  • At step 181 at least one generated handler is launched by means of the system that implements the present technical solution, for example, by a program processing and updating module (222, FIG. 2).
  • the 3D model display is updated and, if necessary, the result generated by the processors using the means of the system that implements the present technical solution is displayed, for example, a visualization module (232, FIG. 2)
  • a modification is selected (343, FIG. 3) using a graphical user interface.
  • a link is received by name (title) by means of a system that implements this technical solution, for example, a 3D model processing module (202, FIG. 2), or a modification module (change module), which may be part of a 3D model processing module (202 , FIGURE 2).
  • the mentioned link (from English, link) is a block for linking models from rulers (a transparent parallelepiped, or cube, depending on the shape of the object) to it in the scene (the main one).
  • Types in the line are different models within the line that are attached to different links by type. So, for example, a window can be large or small. In a particular case, all windows are one model. In a particular case, large windows are of one type, and small windows are of another type. When you select a new window color, small windows are attached to links with a small type, and large windows are attached to the corresponding links with a large type.
  • a set of objects is obtained.
  • the set's children are cloned into each element of each type.
  • the parent object (“parent") is cloned.
  • the parent object is an invisible object (in particular, a link in the line (323, FIG.3), in a particular case the set of which can be an infinite set (333, FIG.3)), within which (according to the hierarchy of objects) all meshes are located ( from English, mesh) of a certain model in the line (323, FIG.Z).
  • Cloning the parent object is used to subsequently bind it to the coordinates of the link.
  • Cloning of child objects (which are meshes of models) is carried out by cloning them from a file with a ruler (323, FIG. 3) into the main scene. Linking child objects to parent objects is carried out.
  • the coordinates child objects are assigned (assigned, given) not relative to the center of the scene, but relative to the parent block (inherited from the ruler file).
  • any changes to the parent block change the 3D models added from the ruler (323, FIG. 3).
  • the parent object is moved to the link, i.e. the process of moving (moving) the parent block into place with a link with the implementation of turns and movements is carried out, which allows objects, for example, windows, to stand exactly in the frame, direct (orient, unfold) glass in the desired direction, etc.
  • the group is being updated.
  • Groups are modifiers (special modifiers) that affect the display of 3D models with floors or wiring enabled.
  • the architect develops a project with the formation of the result in digital format (and/or on paper). Further, if the result in digital format is generated in a format that cannot be used by the system implementing the present technical solution, then the generated result is converted into the system format (for example, in the format of Revit, ArchiCAD, etc.), including full compliance with physical dimensions and the overlay of basic materials that are tied to reality, in particular, down to the millimeter; otherwise, the result is digitally stored in the system data store (252, FIG. 2). If the result is generated by the architect on paper, then a 3D scene is created using the result generated by the architect on paper, including in full compliance with the physical dimensions and the imposition of basic materials that are tied to reality, in particular, down to the millimeter.
  • the system format for example, in the format of Revit, ArchiCAD, etc.
  • the 3D scene for example, a house
  • 3D visualizers by users using 3D development tools, or automatically using specified algorithms for dividing 3D objects, models, scenes, etc.
  • each of these parts is stored (in particular, packed) in its own separate container file (or grouped according to related characteristics), in particular , in the data store (252, FIG. 2) of the system.
  • these components parts are cloned, placed next to their parents, modified or new ones are created, as described within the framework of this technical solution.
  • the data storage (252, FIG. 2) can be at least one hard magnetic disk drive (HDD), a solid-state drive (solid-state drive/SSD), or a storage network (SAN). Area Network), network storage system (NAS, from the English Network Attached Storage) and/or any other device that allows you to write, read and/or store data on a device that implements data storage (252, FIG. 2) It is also worth Note that the data in said data stores (252, FIG. 2) can be stored in any known format, for example, in the form of a database (DB), for example, in the form of tables.
  • DB database
  • At least one mentioned database may be hierarchical, object, object-oriented, object-relational, relational, centralized, fragmented/partitioned, replicated, spatial, etc., and for managing, creating and using databases data, various database management systems can be used.
  • At least a portion of the constituent parts (303, FIG. 3) may be added (in particular, connected) from third-party systems (262, FIG. 2), including servers, web servers (other data sources, including data warehouses) and etc., for example, using the API (from the English Application Programming Interface), for example, types of objects, for example, a material manufacturer can add a new type of brick independently, etc.
  • FIG. 2 shows an exemplary version of a system implementing the present technical solution, according to one of the embodiments.
  • FIG. Figure 3 shows an exemplary diagram of the database (catalog) of components, according to one of the embodiments of this technical solution.
  • a component may be, for example, a foundation, frame, roofing, window, door, flooring, canopy, bossage, porch, veranda, electricity supply, heating, air conditioning, water supply, sewerage, security alarm, video surveillance, Internet/network, smart home, landscape, fence, gate, furniture, appliances, decor, etc., in particular, the set of component parts can be an infinite set (313).
  • a characteristic (363), in particular, a characteristic of an object can be a name, manufacturer, price, visual image, texture/color, dimensions, etc., in particular, a set of characteristics can be an infinite set (373).
  • a scene consists of an environment (eg trees, grass, sky, etc.) and a main model (eg house).
  • the basic model consists of transparent labeled parallelepipeds (404, FIG. 4), or cubes.
  • a component may contain another component.
  • a roof consists of slings and roofing material (an example of the formation of which is described below) and windows.
  • each parallelepiped (404, FIG. 4) contains either a variable component or a non-variable one.
  • Each component modification is placed in a separate transparent box (404, FIG. 4) to capture the spatial orientation (position and rotation) within the box (404, FIG. 4).
  • a coupling is carried out, which is a mechanism for assembling the main model from a plurality of parallelepipeds (404, FIG. 4), containing modifications of the component parts by replacing one parallelepiped (404, FIG. 4) with another (with the corresponding marker), specifically, without reloading the main scene.
  • the parallelepipeds (404, FIG. 4) are grouped according to the principle shown in FIG. 3, and are stored in a data store 252, in particular a database.
  • FIG. 4 shows an approximate version of a scene with a transparent parallelepiped (404), or cube, formed in place of a variable block (505, FIG. 5), depending on the shape of the object, with specified parameters, for one variable block (505, FIG. 5), according to one of the embodiments of this technical solution.
  • the transparent parallelepiped (404) can be framed, as shown in FIG. 4.
  • FIG. 5 shows an exemplary embodiment of an in situ formed variable block (505) of a transparent parallelepiped (404), according to one embodiment of the present technical solution.
  • FIG. 6 shows an example version of the scene before adding blocks to it, according to one of the embodiments of the present technical solution.
  • FIG. 7 shows exemplary versions of blocks that can be added to the scene, according to one of the embodiments of the present technical solution.
  • FIG. 8 shows an example version of the scene after adding blocks to it, according to one of the embodiments of the present technical solution.
  • FIG. 9 shows exemplary versions of blocks that can be added to the scene, according to one of the embodiments of the present technical solution.
  • FIG. 10 shows an example of a scene after adding one of the block options shown in FIG. 9, according to one of the embodiments of the present technical solution.
  • FIG. 11 shows an example of a scene after adding another version of the blocks shown in FIG. 9, according to one of the embodiments of the present technical solution.
  • FIG. 12 shows an example of creating materials from the prior art.
  • the current level of technology uses technologies for creating materials, within which, for example, for one hundred roofing colors, one hundred files are generated (created).
  • FIG. 13 shows an exemplary embodiment of materials according to one embodiment of the present invention.
  • WebGL Web-based Graphics Library
  • WebGL Web-based Graphics Library
  • WebGL is a cross-platform API for 3D graphics in the browser, using the GLSL shader programming language and executed as an HTML5 element, and therefore is a full-fledged part of the document object model (DOM API) of the web browser.
  • WebGL is also a HTML canvas element context that provides a default 3D graphics API without the need for plugins.
  • FIG. 14 shows an example of a general purpose computer system that includes a multi-purpose computing device in the form of a computer 20 or server or tablet or smartphone including a processor 21, system memory 22, and a system bus 23 that interfaces various system components, including system memory, to processor 21.
  • a multi-purpose computing device in the form of a computer 20 or server or tablet or smartphone including a processor 21, system memory 22, and a system bus 23 that interfaces various system components, including system memory, to processor 21.
  • the system bus 23 may be any of various types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • System memory includes a read-only memory (ROM) 24 and a random access memory (RAM) 25.
  • the ROM 24 stores the basic input/output system (BIOS) 26, which consists of basic routines that help exchange information between elements within the computer 20, e.g. at the time of launch.
  • BIOS basic input/output system
  • the computer 20 may also include a read-write hard drive or solid-state drive 27 (not shown).
  • the drive 27 is connected to the system bus 23 via a hard disk drive interface 32, respectively.
  • the storage devices and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer 20.
  • Computer 20 includes a file system 36 associated with or included in operating system 35, one or more a software application 37, other program modules 38, and program data 39.
  • the user may enter commands and information into the computer 20 using input devices such as a keyboard 40 and a pointing device 42.
  • Other input devices may include a microphone, a joystick , gamepad, satellite dish, scanner or any other.
  • serial port interface 46 which is coupled to the system bus, but may be connected through other interfaces such as a parallel port, a game port, or a universal serial bus (USB).
  • a monitor 47 or other type of visual display device is also coupled to the system bus 23 via an interface, such as a video adapter 48.
  • personal computers typically include other output peripherals (not shown), such as speakers and printers.
  • Computer 20 may operate in a networked environment through logical connections to one or more remote computers 49.
  • Remote computer(s) 49 may be another computer, server, router, network PC, peering device, or other node on a single network, and also typically includes includes most or all of the elements described above with respect to computer 20, although only storage device 50 is shown.
  • Logical connections include local area network (LAN) 51 and wide area network (WAN) 52.
  • LAN local area network
  • WAN wide area network
  • a computer 20 used in a LAN network environment is connected to a local network 51 via a network interface or adapter 53.
  • a computer 20 used in a GCS network environment typically uses a modem 54 or other means to establish communication with a global computer network (wi-fi, wi -max) 52, such as Internet.
  • Modem 54 which may be internal or external, is connected to system bus 23 via a serial port interface 46.
  • program modules or portions thereof described in connection with computer 20 may be stored on a remote storage device. Please note that the network connections shown are typical and other means may be used to establish communication links between computers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Architecture (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

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, могут храниться на удаленном устройстве хранения информации. Надо принять во внимание, что показанные сетевые соединения являются типичными, и для установления коммуникационной связи между компьютерами могут быть использованы другие средства.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего технического решения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего технического решения, согласующиеся с сущностью и объемом настоящего технического решения.

Claims

ФОРМУЛА
1. Способ рендеринга и обработки данных, выполняемый при помощи компьютера, включает по крайней мере следующие шаги:
- получают 3D модель объекта;
- разделяют полученную 3D модель на изменяемые и неизменяемые блоки, каждому изменяемому блоку устанавливается тип, размеры и соответствующие данному типу дополнительные параметры, объект соответствующего типа по умолчанию;
- формируют по крайней мере один обработчик, использующий параметры изменяемых и неизменяемых объектов;
- отображают 3D модель;
- получают от пользователя запрос на изменение изменяемого блока;
- в ответ на запрос изменение объекта, связанного с изменяемым блоком, получают список возможных конкретных объектов с их характеристиками;
- в ответ на изменение характеристик объекта, связанного с изменяемым блоком, осуществляют фильтрацию объектов, соответствующих заданным пользователем характеристикам;
- обновляют выбранный пользователем объект;
- запускают сформированные обработчики.
PCT/RU2023/050116 2022-05-17 2023-05-16 Способ обработки и рендеринга 3д данных WO2023224517A2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2022113193A RU2022113193A (ru) 2022-05-17 Способ обработки и рендеринга 3d-данных
RU2022113193 2022-05-17

Publications (1)

Publication Number Publication Date
WO2023224517A2 true WO2023224517A2 (ru) 2023-11-23

Family

ID=88836291

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2023/050116 WO2023224517A2 (ru) 2022-05-17 2023-05-16 Способ обработки и рендеринга 3д данных

Country Status (1)

Country Link
WO (1) WO2023224517A2 (ru)

Similar Documents

Publication Publication Date Title
Garagnani et al. Parametric accuracy: building information modeling process applied to the cultural heritage preservation
Döllner et al. Continuous level-of-detail modeling of buildings in 3D city models
Khalili An XML-based approach for geo-semantic data exchange from BIM to VR applications
Kensek Visual programming for building information modeling: Energy and shading analysis case studies
Demchak et al. Introducing Revit architecture 2009: BIM for beginners
CN112053130A (zh) 抽水蓄能电站综合管理方法、平台、系统、设备和介质
US20090273598A1 (en) Methods and apparatuses for automatically converting objects in CAD drawing from two-dimensions to three-dimensions
Albourae et al. Architectural heritage visualization using interactive technologies
CN112074876A (zh) 在三维环境中创作内容
US20070091119A1 (en) Integrated massing and design CAD models
CA2691881A1 (en) Methods and apparatuses for handling a conflict in a cad drawing
AU2008248192A1 (en) Methods and apparatuses for preprocessing a CAD drawing
Barazzetti et al. Historic BIM for mobile VR/AR applications
US20040236561A1 (en) Component management engine
Vandezande et al. Mastering Autodesk Revit Architecture 2014: Autodesk Official Press
Garagnani Semantic Building Information Modeling and high definition surveys for Cultural Heritage sites
Worrell Building information modeling (BIM): the untapped potential for preservation documentation and management
Willis et al. Volumetric procedural models for shape representation
WO2023224517A2 (ru) Способ обработки и рендеринга 3д данных
Schreyer Architectural design with SketchUp: component-based modeling, plugins, rendering, and scripting
Weining et al. Applications of virtual reality modeling language technology for COVID-19 pandemic
Shengyi et al. Research on integrated application of virtual reality technology based on BIM
Bakhmut et al. Using augmented reality WEB-application for providing virtual excursion tours in university campus
Brixius Google SketchUp Workshop
Joy et al. Digital 3D modeling for preconstruction real-time visualization of home interior design through virtual reality

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23807992

Country of ref document: EP

Kind code of ref document: A2