Scene space processing method, device and equipment
By automatically detecting object position conflicts and calibrating in the scene space, the high labor cost problem caused by manual calibration by designers is solved, and automated position adjustment is achieved.
Patent Information
- Application Number
- CN202010916776.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-03
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2040-09-03
AI Technical Summary
In scene space design, the object location specified by the designer is not accurate enough, resulting in the newly placed object conflicting with the existing object locations, which require manual determination and manual calibration, resulting in high labor costs.
By determining the space range occupied by the object in the scene space, range conflicts are automatically detected and the calibration location is determined using a preset conflict resolution strategy.
Automatic detection and calibration of object position conflicts is realized, reducing manual processing workload and saving labor costs.
Smart Images

Figure CN114139241B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method, device and equipment for processing scene space. Background Art
[0002] Typically, during the scene space design process, designers can place pre-designed objects into the scene space. When placing an object into the scene space, the designer can specify the object's position within the scene space to ensure that the object is placed at the specified location. However, the positions specified by the designer are often imprecise, and there may be situations where the newly placed object conflicts with existing objects in the scene space. Therefore, the designer must manually determine whether there is a position conflict with the newly placed object. If there is a position conflict, the designer must also manually calibrate the position of the newly placed object within the scene space.
[0003] However, the above method has the problem of high labor cost. Summary of the Invention
[0004] The embodiments of the present application provide a method, device, and equipment for processing scene space to solve the problem of high labor costs in the prior art.
[0005] In a first aspect, an embodiment of the present application provides a method for processing a scene space, comprising:
[0006] In a case where a first object needs to be placed into a scene space, determining a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0007] Based on the spatial range, determining whether there is an object in the scene space that conflicts with the first object range;
[0008] If yes, a preset conflict resolution strategy is adopted to determine the calibration position of the first object.
[0009] In a second aspect, an embodiment of the present application provides a method for processing a scene space, including:
[0010] In a case where a first object needs to be placed into a scene space, determining a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0011] Based on the spatial range, determining whether there is an object in the scene space that conflicts with the first object range;
[0012] If so, a prompt is given.
[0013] In a third aspect, an embodiment of the present application provides a method for processing a scene space, including:
[0014] Acquire data of a scene space, wherein the position of an object placed in the scene space is determined using the method described in the first or second aspect;
[0015] Based on the data, the scene space is displayed.
[0016] In a fourth aspect, an embodiment of the present application provides a scene space processing device, including:
[0017] A first determining module is configured to determine, when a first object needs to be placed into a scene space, a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0018] a second determining module, configured to determine, based on the spatial range, whether there is an object in the scene space that conflicts with the first object range;
[0019] The conflict resolution module is configured to, if yes, adopt a preset conflict resolution strategy to determine the calibration position of the first object.
[0020] In a fifth aspect, an embodiment of the present application provides a scene space processing device, including:
[0021] A first determining module is configured to determine, when a first object needs to be placed into a scene space, a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0022] a second determining module, configured to determine, based on the spatial range, whether there is an object in the scene space that conflicts with the first object range;
[0023] The prompt module is used for giving a prompt if yes.
[0024] In a sixth aspect, an embodiment of the present application provides a scene space processing device, including:
[0025] An acquisition module, configured to acquire data of a scene space, wherein the position of an object placed in the scene space is determined using the method described in the first or second aspect;
[0026] A display module is used to display the scene space based on the data.
[0027] In the seventh aspect, an embodiment of the present application provides a terminal, comprising: a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the method as described in any one of the first aspects.
[0028] In an eighth aspect, an embodiment of the present application provides a terminal comprising: a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the method described in the second aspect.
[0029] In the ninth aspect, an embodiment of the present application provides a terminal comprising: a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions, when executed by the processor, implement the method described in the third aspect.
[0030] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. The computer program includes at least one section of code, and the at least one section of code can be executed by a computer to control the computer to execute the method as described in any one of the first aspects.
[0031] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. The computer program includes at least one section of code, and the at least one section of code can be executed by a computer to control the computer to execute the method as described in any one of the second aspects.
[0032] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. The computer program includes at least one section of code, and the at least one section of code can be executed by a computer to control the computer to execute the method as described in any one of the third aspects.
[0033] An embodiment of the present application further provides a computer program, which, when executed by a computer, is used to implement the method as described in any one of the first aspects.
[0034] An embodiment of the present application further provides a computer program, which, when executed by a computer, is used to implement the method as described in any one of the second aspects.
[0035] An embodiment of the present application further provides a computer program, which, when executed by a computer, is used to implement the method as described in any one of the third aspects.
[0036] The scene space processing method, device and equipment provided in the embodiments of the present application automatically determine whether there is a position conflict for the first object that needs to be placed in the scene space, and automatically determine the calibration position of the first object when there is a position conflict. Compared with the situation where designers need to manually determine whether there is a position conflict and manually calibrate when there is a position conflict, the workload of manual processing is reduced and labor costs are saved. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0038] Figure 1 A schematic diagram of an application scenario of an embodiment of the present application;
[0039] Figure 2 A schematic flow chart of a method for processing a scene space provided in one embodiment of the present application;
[0040] Figure 3 A schematic diagram of a model in a world coordinate system provided in one embodiment of the present application;
[0041] Figure 4A A schematic diagram showing a case where there is no range conflict provided in an embodiment of the present application;
[0042] Figure 4B A schematic diagram of a scope conflict provided in an embodiment of the present application;
[0043] Figures 5A-5C A schematic diagram showing the relationship between the adjusted spatial range and existing objects in the scene space provided in one embodiment of the present application;
[0044] Figure 6 A schematic flow chart of a scene space processing method provided in another embodiment of the present application;
[0045] Figure 7 A schematic flow chart of a method for processing scene space provided in yet another embodiment of the present application;
[0046] Figure 8A schematic diagram of the structure of a scene space processing device provided in one embodiment of the present application;
[0047] Figure 9 A schematic diagram of the structure of a terminal provided in one embodiment of the present application;
[0048] Figure 10 A schematic structural diagram of a scene space processing device provided in another embodiment of the present application;
[0049] Figure 11 A schematic diagram of the structure of a terminal provided in another embodiment of the present application;
[0050] Figure 12 A schematic structural diagram of a scene space processing device provided in yet another embodiment of the present application;
[0051] Figure 13 A schematic diagram of the structure of a terminal provided in yet another embodiment of the present application. DETAILED DESCRIPTION
[0052] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0053] The terms used in the examples of this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms "a," "the," and "the" used in the examples of this application and the appended claims are also intended to include plural forms, and unless the context clearly indicates otherwise, "a plurality" generally includes at least two, but does not exclude the inclusion of at least one.
[0054] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.
[0055] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to the determination" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)," depending on the context.
[0056] It should also be noted that the terms "include," "comprises," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a product or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such product or system. In the absence of further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the product or system comprising the element.
[0057] In addition, the step sequence in the following method embodiments is only an example and not a strict limitation.
[0058] In order to facilitate those skilled in the art to understand the technical solution provided by the embodiments of the present application, the technical environment in which the technical solution is implemented is described below.
[0059] In related art, when placing objects in a scene space, the positions specified by the designer are often imprecise. This can lead to conflicts between the newly placed objects and existing objects in the scene space. This requires the designer to manually determine whether there is a positional conflict. If there is a positional conflict, the designer must also manually calibrate the position of the newly placed object in the scene space, which is labor-intensive. Therefore, a labor-saving method for processing scene space is urgently needed in the related art.
[0060] Based on actual technical requirements similar to those described above, the scene space processing method provided in this application can use technical means to simplify manual operations.
[0061] The following describes in detail the scene space processing methods provided by various embodiments of the present application through an exemplary application scenario.
[0062] Figure 1 Schematic diagram of an application scenario of the scene space processing method provided in the embodiment of the present application, such as Figure 1As shown, the application scenario may include a terminal 11 used by a designer. Terminal 11 may be, for example, a desktop computer, a laptop computer, a tablet computer, or any other device capable of being used by a designer for design. Terminal 11 may employ the scene space processing method provided in an embodiment of the present application to automatically determine whether an object to be placed in the scene space (hereinafter referred to as a first object) has a position conflict, and may also automatically determine a calibration position for the first object if a position conflict exists.
[0063] Among them, the scene space may include multiple objects, and the types of objects may vary depending on the specific scene. In one embodiment, the scene space may specifically be an urban building space, wherein the types of objects may include buildings, road networks, green spaces, water systems, etc. It should be noted that, for the sake of ease of explanation, the embodiments of this application mainly use the scene space as an example of an urban building space for illustration. The scene space processing method provided in the embodiments of this application can be applied to various specific scenarios where designers need to layout object positions, such as architectural planning and design, garden design, interior decoration design, etc.
[0064] like Figure 1 As shown, the application scenario may also include a server 12, which is connected to the terminal 11 in communication. The server 12 may be a data storage server in any form, such as a cloud server or a distributed server. After the designer completes the design of the scene space using the terminal 11, Figure 1 As shown, the terminal 11 can send the data of the scene space to the server 12 for storage, so that other devices can obtain the data of the scene space from the server 12.
[0065] The application scenario may also include a terminal 13, which is in communication with the server 12. The terminal 13 may be, for example, a desktop computer, laptop computer, tablet computer, smartphone, data display, or other device capable of displaying the scene space. After the terminal 11 sends the scene space data to the server 12 for storage, the terminal 13 may obtain the scene space data from the server 12 and display the scene space based on the data.
[0066] It should be noted that Figure 1 In the example in which the terminal 13 obtains the scene space data from the server 12 , it is understandable that in other scenarios, the terminal 13 can also obtain the scene space data from other devices, for example, the terminal 13 can also obtain it from the terminal 11 .
[0067] The scene space processing method provided in the embodiment of the present application determines the spatial range occupied by the first object in the scene space based on the initial position of the first object in the scene space when it is necessary to place the first object in the scene space, determines whether there is an object in the scene space that conflicts with the range of the first object based on the spatial range, and if so, adopts a preset conflict resolution strategy to determine the calibration position of the first object. This automatically determines whether there is a position conflict for the first object that needs to be placed in the scene space, and automatically determines the calibration position of the first object when there is a position conflict. Compared with the need for designers to manually determine whether there is a position conflict and the need for designers to manually calibrate when there is a position conflict, the workload of manual processing is reduced and labor costs are saved.
[0068] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features therein may be combined with each other.
[0069] Figure 2 This is a flow chart of a method for processing scene space provided in an embodiment of the present application. The execution subject of this embodiment may be Figure 1 Terminal 11 in the Figure 2 As shown, the method of this embodiment may include:
[0070] Step 21: When a first object needs to be placed into a scene space, determine a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0071] Step 22: Based on the spatial range, determine whether there is an object in the scene space that conflicts with the first object range;
[0072] Step 23: If yes, a preset conflict resolution strategy is adopted to determine the calibration position of the first object.
[0073] Exemplarily, the scene space may be a two-dimensional scene space or a three-dimensional scene space. It is understandable that the attributes of the first object to be placed in the scene space may be consistent with the scene space, for example, if the scene space is a three-dimensional scene space, the first object is a three-dimensional object.
[0074] The designer can further modify the scene space by adding a first object to the scene space based on the scene space. In one embodiment, the need to add the first object to the scene space can be determined by obtaining an object operation input by the designer. The object operation can, for example, be used to set an identifier for the object to be added to the scene space. Of course, in other embodiments, the need to add the first object to the scene space can also be determined by other methods, and this application is not limited to this.
[0075] When it is determined that a first object needs to be added to the scene space, an initial position of the first object in the scene space can be obtained. The initial position can be the position of the first object in the scene space in a target coordinate system. The target coordinate system can be a coordinate system used to display the scene space, such as a geodetic coordinate system, which can be a standard ellipsoid coordinate system. Assuming that the scene space is a three-dimensional scene space and the target coordinate system is a geodetic coordinate system, the initial position can be a position represented by geodetic coordinates.
[0076] Optionally, the initial position may be obtained in the following manner: acquiring position setting information, where the position setting information is used to indicate the initial position of the first object in the scene space, that is, the initial position may be set by a designer.
[0077] Alternatively, the initial position can be obtained by: obtaining position setting information, the position setting information is used to indicate the position of the first object in the scene space, and obtaining the initial position by performing a coordinate system conversion on the position, that is, the initial position can be obtained by setting by the designer + coordinate system conversion.
[0078] Taking into account that geodetic coordinates are rarely used in daily life and designers are less familiar with them, in order to facilitate designers to specify the position of the first object, when the target coordinate system is the geodetic coordinate system, the initial position can be obtained in the following way: obtaining position setting information, the position setting information is used to set the longitude and latitude information of the first object in the scene space; and, performing a coordinate system conversion on the longitude and latitude information to obtain the initial position of the first object in the scene space under the target coordinate system.
[0079] In the embodiment of the present application, after obtaining the initial position of the first object, the spatial range occupied by the first object in the scene space can be determined based on the initial position of the first object.
[0080] In one embodiment, determining the spatial range occupied by the first object in the scene space based on the initial position of the first object may specifically include: determining the first spatial range occupied by the first object in the scene space in the world coordinate system based on the initial position. The first spatial range is used to determine whether there is an object that conflicts with the range of the first object. It is understandable that when determining the first spatial range, in addition to being based on the initial position, the shape, size, orientation, etc. of the first object may also be referred to.
[0081] The schematic diagram of a single object in the world coordinate system can be as follows Figure 3As shown in the figure, "o" represents the origin of the coordinate system, "x" represents the x-axis, "y" represents the y-axis, and "z" represents the z-axis. The arrow pointing to the x-axis indicates the positive x-axis direction, and the arrow pointing to the y-axis indicates the positive y-axis direction, while the arrow pointing to the z-axis indicates the positive z-axis direction.
[0082] In another embodiment, when the scene space is a three-dimensional scene space, determining the spatial range occupied by the first object in the scene space based on the initial position of the first object may specifically include: determining the first spatial range occupied by the first object in the scene space in the world coordinate system based on the initial position; and performing a coordinate system conversion on the first spatial range to obtain a second spatial range occupied by the first object in the scene space in the target coordinate system; the second spatial range is used to determine whether there is an object that conflicts with the range of the first object.
[0083] Since the world coordinate system is usually required in design software, and the coordinate system used to display the scene space is a target coordinate system outside the world coordinate system, the spatial range occupied by the target coordinate system (i.e., the second spatial range) is determined through coordinate system conversion, so that the range conflict situation can be determined based on the spatial range. This can avoid display distortion problems caused by the coordinate system used to determine the overlap situation being different from the coordinate system used to display the scene space, which is beneficial to ensuring the display effect of the scene space.
[0084] In the case where the scene space is a three-dimensional scene space, in order to simplify the implementation, optionally, determining the first spatial range occupied by the first object in the scene space in the world coordinate system based on the initial position may specifically include: determining the first spatial range occupied by the orthographic projection of the first object in the scene space in the world coordinate system based on the initial position and a preset projection direction.
[0085] The preset projection direction can be obtained based on the coordinate axis direction that is allowed to be ignored by the range determination. In one embodiment, assuming that the overlap range determination allows ignoring the y-axis direction of the world coordinate system, the preset projection direction may include the negative y-axis direction in the world coordinate system. By including the negative y-axis direction in the preset projection direction, the first spatial range under the top view of the object can be obtained. Figure 2 The single object shown is taken as the first object as an example, and the first spatial range can be specifically Figure 3 The extent of the shown object in the xoz plane.
[0086] In an embodiment of the present application, after determining the spatial range occupied by the first object in the scene space based on the initial position of the first object in the scene space, it is possible to determine whether there is an object in the scene space that conflicts with the range of the first object based on the spatial range. Among them, the specific definition of range conflict can be flexibly implemented according to needs. Assuming that the overlap of ranges is considered a conflict, it can be determined whether there is an object in the scene space that overlaps with the range of the first object. For the sake of convenience, the embodiment of the present application mainly takes range overlap as an example for illustration.
[0087] In one embodiment, based on the spatial range, it can be determined whether there are any types of objects in the scene space that conflict with the first object range. That is, any type of object is an object that needs to be considered for conflict when the first object is placed in the scene space.
[0088] In another embodiment, based on the spatial range, a determination is made as to whether there are objects in the scene space that conflict with the first object range and whose types belong to a preset type set. The preset type set is a set of object types for which conflict considerations are required. The preset type set can be flexibly implemented based on specific needs. In one embodiment, the preset type set can include buildings and road networks.
[0089] The spatial range occupied by the first object in the scene space can be, for example, Figure 4A shown. Figure 4A In the figure, the range encircled by the dotted circle can represent the spatial range of the first object in the scene space determined based on the initial position of the first object, and the gray filled range can represent the spatial range of existing objects in the scene space. Among them, the light gray filled part can represent a road network type object, and the dark gray filled part can represent a building type object. Figure 4A Since the spatial range selected by the dotted circle does not overlap with the gray-filled range, this indicates that no objects in the scene space conflict with the first object's range. If no objects in the scene space conflict with the first object's range, this indicates that, based on the first object's initial position, the first object will not conflict with existing objects in the scene space after being placed in the scene space. Therefore, calibration of the first object's initial position is not required.
[0090] The spatial range occupied by the first object in the scene space can also be, for example, Figure 4B shown. Figure 4A In the figure, the range encircled by the dotted circle can represent the spatial range of the first object in the scene space determined based on the initial position of the first object, and the gray filled range can represent the spatial range of existing objects in the scene space. Among them, the light gray filled part can represent a road network type object, and the dark gray filled part can represent a building type object. Figure 4B Because the spatial range selected by the dotted circle overlaps with the gray-filled range, this indicates that an object in the scene space conflicts with the first object's range. This indicates that placing the first object in the scene space based on its initial position will conflict with existing objects, necessitating calibration of the first object's initial position.
[0091] It is understandable that the method for determining the spatial range of the existing object in the scene space may be consistent with the method for determining the spatial range of the first object.
[0092] It should be noted that Figure 4A and Figure 4B The shape of the spatial range occupied by the first object in the scene range shown in the figure is only an example. In other embodiments, the shape of the spatial range can also be other shapes, such as regular shapes such as rectangle, square, diamond, or irregular shapes.
[0093] It should be noted that Figure 4A and Figure 4B The center point of the dotted circle is the initial position of the first object. Figure 4A and Figure 4B Here, the spatial range determined in step 21 is taken as an example to be a plane spatial range.
[0094] In an embodiment of the present application, after determining that an object exists in the scene space that conflicts with the range of the first object, a preset conflict resolution strategy may be employed to determine a calibration position for the first object. It should be noted that the coordinate system used in determining the calibration position based on the position and spatial range using the preset conflict resolution strategy may be consistent with the coordinate system used in determining whether a range conflict exists in step 22.
[0095] In one embodiment, the use of a preset conflict resolution strategy to determine the calibration position of the first object may specifically include: using a certain strategy to continuously adjust the initial position of the first object until a position is found where there is no range conflict between the first object and existing objects in the scene space, and using this position as the calibration position of the first object.
[0096] In another embodiment, the use of a preset conflict resolution strategy to determine the calibration position of the first object may specifically include: adjusting the initial position of the first object to obtain multiple adjusted spatial ranges of the first object; determining the degree of conflict between the first object and existing objects in the scene space based on each adjusted spatial range; and obtaining the calibration position of the first object based on the conflict degrees corresponding to the multiple adjusted spatial ranges.
[0097] It is understood that adjusting the initial position of the first object can correspondingly adjust the spatial range occupied by the first object in the scene space, thereby obtaining an adjusted spatial range. The specific method of adjusting the initial position can be flexibly implemented according to needs. For example, the middle grid of the nine-square grid can represent the initial position of the first object, and the other grids of the nine-square grid can represent multiple adjusted positions, and the multiple adjusted positions correspond to the multiple adjusted spatial ranges.
[0098] Assume that at the initial position, the space occupied by the first object in the scene space is as follows Figure 4A As shown, the multiple adjusted spatial ranges obtained by adjusting the initial position of the first object can be, for example, Figure 5A 、 5B As shown in 5C. Taking the scope conflict as an example, based on the scope overlap Figure 5A and Figure 5B After the adjusted spatial range is shown, it can be determined that there is an object in the scene space that conflicts with the first object range; based on Figure 5C The adjusted position space shown can determine that there is an object in the scene space that conflicts with the first object range.
[0099] Optionally, determining the degree of conflict between the first object and existing objects in the scene space based on each adjusted spatial range may specifically include: based on an adjusted spatial range, if there is an object in the scene space that conflicts with the first object range, the corresponding degree of conflict may be 1; if there is no object in the scene space that conflicts with the first object range, the corresponding degree of conflict may be 0.
[0100] Alternatively, optionally, determining the degree of conflict between the first object and existing objects in the scene space based on each adjusted spatial range may specifically include: determining, for each adjusted spatial range, a second object in the scene space that conflicts with the first object range; and determining the corresponding degree of conflict using a preset determination strategy based on the second object corresponding to each adjusted spatial range. By determining the degree of conflict based on the second object, the accuracy of the determined degree of conflict can be improved, thereby making the determined calibration position more reasonable.
[0101] For example, if the second object includes a scene space containing area data, the preset determination strategy may include a strategy where the overlapping area is positively correlated with the degree of conflict, i.e., a greater the overlapping area, a greater the degree of conflict, and a smaller the overlapping area, a smaller the degree of conflict. It will be understood that the overlapping area refers to the overlapping area between the spatial extent of the second object in the scene space and the adjusted spatial extent.
[0102] Among them, the scene space with area data can, for example, include the scene space of water type objects, the scene space of building type objects, the scene space of green space type objects, etc. Of course, in other embodiments, the scene space with area data can also be a scene space including other types of objects, and this application does not limit this.
[0103] For example, when the second object includes a scene space for which no area data exists, the preset determination strategy may include a strategy in which the distance between center points is negatively correlated with the degree of conflict, i.e., the longer the distance between center points, the greater the degree of conflict, and the shorter the distance between center points, the lower the degree of conflict. It will be understood that the distance between center points refers to the distance between the center point position of the second object in the scene space and the center point position of the adjusted spatial range.
[0104] Among them, the scene space where there is no area data may include, for example, a road network type object. Of course, in other embodiments, the scene space where there is no area data may also be a scene space including other types of objects, and this application does not limit this.
[0105] It should be noted that the coordinate system used based on the position and spatial range in the process of determining the calibration position is consistent with the coordinate system used in the above-mentioned step 22 to determine whether there is a range conflict.
[0106] Optionally, the preset determination strategy may also include a weighting strategy, wherein the weight of each second object is related to the type of each second object. Considering that the objects to be placed in the scene space may have different distance requirements from different types of objects in the scene space, for example, the spatial range of the newly placed building type object has a lower distance requirement from the spatial range of the existing green space object type in the scene space (i.e., it can be closer), while the distance requirement from the spatial range of the existing building type object in the scene space is higher (i.e., it needs to be farther away). By including a weighting strategy in the preset determination strategy, the distance requirements between different types of objects can be considered when determining the degree of conflict, which is conducive to improving the rationality of the determined degree of conflict. It can be understood that the weight can be positively correlated with the distance requirement, that is, the higher the distance requirement, the greater the weight can be, and the lower the distance requirement, the smaller the weight can be.
[0107] Optionally, the calibration position of the first object is obtained based on the conflict levels respectively corresponding to the multiple adjusted spatial ranges, which may specifically include: taking the center position of the target adjusted spatial range among the multiple adjusted spatial ranges as the calibration position of the first object, and the target adjusted spatial range is the adjusted spatial range with the smallest conflict level among the multiple adjusted spatial ranges. It can be understood that the center position of the adjusted spatial range is the adjusted position corresponding to the aforementioned adjusted spatial range. Figures 5A-5C For example, the spatial range of the target after adjustment can be Figure 5C The area enclosed by the dotted circle.
[0108] Or, optionally, in order to ensure that there is no range conflict in the determined calibration position, the calibration position of the first object is obtained based on the conflict degrees corresponding to the multiple adjusted spatial ranges, which may specifically include: based on the target adjusted spatial range among the multiple adjusted spatial ranges, determining whether there is an object in the scene space that conflicts with the first object range; the target adjusted spatial range is the adjusted spatial range with the smallest conflict degree among the multiple adjusted spatial ranges; and, if so, taking the center position of the target adjusted spatial range as the calibration position of the first object.
[0109] Further optionally, if, based on the adjusted target spatial range, it is determined that there is an object in the scene space that conflicts with the range of the first object, the first object can be reduced in size, and the process returns to the step of adjusting the initial position of the first object until a target adjusted spatial range is found that eliminates range conflicts in the scene space, and the center position of the target adjusted spatial range is used as the calibration position of the first object. This ensures that a calibration position that does not conflict with the range can be determined for each first object.
[0110] The scene space processing method provided in the embodiment of the present application determines the spatial range occupied by the first object in the scene space based on the initial position of the first object in the scene space when a first object needs to be placed in the scene space, determines whether there is an object in the scene space that conflicts with the range of the first object based on the spatial range, and if so, determines the calibration position of the first object using a preset conflict resolution strategy.
[0111] It automatically determines whether the first object that needs to be placed in the scene space has a position conflict, and automatically determines the calibration position of the first object when a position conflict exists. Compared with requiring designers to manually determine whether there is a position conflict and manually calibrate when a position conflict exists, it reduces the workload of manual processing and saves labor costs.
[0112] Figure 6 This is a flow chart of a method for processing scene space provided by another embodiment of the present application. The execution subject of this embodiment may be Figure 1 Terminal 11 in the Figure 6 As shown, the method of this embodiment may include:
[0113] Step 61: When a first object needs to be placed into a scene space, determine a spatial range occupied by the first object in the scene space based on an initial position of the first object.
[0114] Step 62: Based on the spatial range, determine whether there is an object in the scene space that conflicts with the first object range;
[0115] Step 63: If yes, prompt.
[0116] It should be noted that step 61-step 62 are similar to step 21-step 22 and will not be repeated here.
[0117] Among them, when it is determined that there is an object in the scene space that conflicts with the first object range, the specific method of prompting can be flexibly implemented according to needs. Exemplarily, the prompt can be given in the form of a pop-up window, for example, a prompt text of "spatial range conflict" can be displayed in the window, so that the designer can be informed of the existence of the conflict through the prompt text. Exemplarily, the prompt can be given in the form of voice, for example, a prompt voice of "spatial range conflict" can be played, so that the designer can be informed of the existence of the conflict through the prompt voice.
[0118] Optionally, the method provided in the embodiment of the present application may further include: if there is an object in the scene space that conflicts with the range of the first object, using a preset conflict resolution strategy to determine the calibration position of the first object.
[0119] It should be noted that, for the specific method of determining the calibration position of the first object, please refer to the aforementioned Figure 2 The embodiments shown are not described in detail here.
[0120] The scene space processing method provided in the embodiment of the present application determines the spatial range occupied by the first object in the scene space based on the initial position of the first object in the scene space when it is necessary to place the first object in the scene space, and determines whether there is an object in the scene space that conflicts with the range of the first object based on the spatial range. If so, a prompt is given, thereby automatically determining whether there is a position conflict for the first object that needs to be placed in the scene space. Compared with requiring designers to manually determine whether there is a position conflict, the workload of manual processing is reduced and labor costs are saved.
[0121] Figure 7This is a flow chart of a method for processing scene space provided in another embodiment of the present application. The execution subject of this embodiment may be Figure 1 Terminal 13 in. Figure 7 As shown, the method of this embodiment may include:
[0122] Step 71, obtain the data of the scene space, the position of the object placed in the scene space is the same as the above Figure 2 or Figure 6 The method shown is obtained;
[0123] Step 72: Display the scene space based on the data.
[0124] It should be noted that for details on determining the calibration position of objects placed in the scene space, please refer to Figure 2 The detailed description of the illustrated embodiment will not be repeated here.
[0125] The scene space processing method provided in the embodiment of the present application obtains the data of the scene space and displays the scene space based on the data. Since the position of the object placed in the scene space is determined by the aforementioned Figure 2 or Figure 6 The method of the embodiment shown is determined, so that labor costs can be saved.
[0126] Figure 8 This is a schematic diagram of the structure of the scene space processing device provided in one embodiment of the present application; Figure 8 As shown, this embodiment provides a scene space processing device, which can execute the above-mentioned scene space processing method. Specifically, the device may include:
[0127] A first determining module 81 is configured to determine, when a first object needs to be placed into a scene space, a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0128] A second determining module 82 is configured to determine, based on the spatial range, whether there is an object in the scene space that conflicts with the first object range;
[0129] The conflict resolution module 83 is configured to, if yes, adopt a preset conflict resolution strategy to determine the calibration position of the first object.
[0130] Optionally, the first determination module 81 is specifically used to determine, based on the initial position, a first spatial range occupied by the first object in the scene space in the world coordinate system; and to perform a coordinate system conversion on the first spatial range to obtain a second spatial range occupied by the first object in the scene space in the target coordinate system; the target coordinate system is a coordinate system used to display the scene space, and the second spatial range is used to determine whether there is an object that conflicts with the first object range.
[0131] Optionally, the first determining module 81 is specifically configured to determine a first spatial range occupied by the orthographic projection of the first object in the scene space in the world coordinate system based on the initial position and a preset projection direction.
[0132] Optionally, the preset projection direction includes the negative direction of the y-axis in the world coordinate system.
[0133] Optionally, the target coordinate system includes a geodetic coordinate system.
[0134] Optionally, the device also includes a setting module for obtaining position setting information, where the position setting information is used to indicate the longitude and latitude information of the first object in the scene space; and performing coordinate system conversion on the longitude and latitude information to obtain the initial position of the first object in the scene space in the geodetic coordinate system.
[0135] Optionally, the second determining module 82 is specifically configured to determine, based on the spatial range, whether there is an object in the scene space that conflicts with the first object range and whose type belongs to a preset type set.
[0136] Optionally, the second determination module 82 is specifically used to adjust the initial position of the first object to obtain multiple adjusted spatial ranges of the first object; determine the degree of conflict between the first object and existing objects in the scene space based on each adjusted spatial range; and obtain the calibrated position of the first object based on the conflict degrees corresponding to the multiple adjusted spatial ranges.
[0137] Optionally, the second determination module 82 is used to determine the degree of conflict between the first object and existing objects in the scene space based on each adjusted spatial range, specifically including: determining, for each adjusted spatial range, a second object in the scene space that conflicts with the first object range; and, based on the second object corresponding to each adjusted spatial range, using a preset determination strategy to determine the corresponding degree of conflict.
[0138] Optionally, the second object includes a scene space having area data; and the preset determination strategy includes a strategy in which the overlapping area is positively correlated with the degree of conflict.
[0139] Optionally, the second object includes a scene space for which area data does not exist; and the preset determination strategy includes a strategy in which the distance between center point positions is negatively correlated with the degree of conflict.
[0140] Optionally, the preset determination strategy includes a weighted strategy, wherein the weight of each second object is related to the type of each second object.
[0141] Optionally, the second determination module 82 is used to obtain the calibration position of the first object based on the conflict degrees corresponding to the multiple adjusted spatial ranges, specifically including: determining whether there is an object in the scene space that conflicts with the first object range based on the target adjusted spatial range among the multiple adjusted spatial ranges; the target adjusted spatial range is the adjusted spatial range with the smallest conflict degree among the multiple adjusted spatial ranges; if so, taking the center position of the target adjusted spatial range as the calibration position of the first object.
[0142] Optionally, the second determination module 82 is also used to, if not, reduce the first object and return to the step of adjusting the initial position of the first object until the target adjusted spatial range is found so that there is no range conflict in the scene space, and the center position of the target adjusted spatial range is used as the calibration position of the first object.
[0143] Figure 8 The device shown can perform Figure 2 For the method of the embodiment shown in FIG. 1 , reference may be made to the description of the part not described in detail in the embodiment. Figure 2 The implementation process and technical effects of this technical solution can be found in Figure 2 The description in the illustrated embodiment will not be repeated here.
[0144] In one possible implementation, Figure 8 The structure of the control device of the scene space shown can be realized as a terminal. Figure 9 As shown, the terminal may include: a processor 91 and a memory 92. The memory 92 is used to store the data that supports the terminal to execute the above Figure 2 The program of the scene space control method provided in the illustrated embodiment, the processor 91 is configured to execute the program stored in the memory 92.
[0145] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 91, the following steps can be implemented:
[0146] In a case where a first object needs to be placed into a scene space, determining a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0147] Based on the spatial range, determining whether there is an object in the scene space that conflicts with the first object range;
[0148] If yes, a preset conflict resolution strategy is adopted to determine the calibration position of the first object.
[0149] Optionally, the processor 91 is further configured to execute the aforementioned Figure 2 All or part of the steps in the illustrated embodiments.
[0150] The terminal structure may further include a communication interface 93 for the terminal to communicate with other devices or a communication network.
[0151] Figure 10 This is a schematic diagram of the structure of a scene space processing device provided in another embodiment of the present application; Figure 10 As shown, this embodiment provides a scene space processing device, which can perform the above Figure 6 The method for processing the scene space shown in the figure may include:
[0152] A first determining module 101 is configured to determine, when a first object needs to be placed into a scene space, a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0153] A second determining module 102 is configured to determine, based on the spatial range, whether there is an object in the scene space that conflicts with the first object range;
[0154] The prompt module 103 is configured to provide a prompt if yes.
[0155] Figure 10 The device shown can perform Figure 6 For the method of the embodiment shown in FIG. 1 , reference may be made to the description of the part not described in detail in the embodiment. Figure 6 The implementation process and technical effects of this technical solution can be found in Figure 6 The description in the illustrated embodiment will not be repeated here.
[0156] In one possible implementation, Figure 10 The structure of the control device of the scene space shown can be realized as a terminal. Figure 11 As shown, the terminal may include: a processor 111 and a memory 112. The memory 112 is used to store the data that supports the terminal to execute the above Figure 6The program of the scene space control method provided in the illustrated embodiment, the processor 111 is configured to execute the program stored in the memory 112.
[0157] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 111, the following steps can be implemented:
[0158] In a case where a first object needs to be placed into a scene space, determining a spatial range occupied by the first object in the scene space based on an initial position of the first object;
[0159] Based on the spatial range, determining whether there is an object in the scene space that conflicts with the first object range;
[0160] If so, a prompt is given.
[0161] Optionally, the processor 111 is further configured to execute the aforementioned Figure 6 All or part of the steps in the illustrated embodiments.
[0162] The terminal structure may further include a communication interface 113 for the terminal to communicate with other devices or a communication network.
[0163] Figure 12 A schematic diagram of the structure of a scene space processing device provided in another embodiment of the present application; Figure 12 As shown, this embodiment provides a scene space processing device, which can execute the above-mentioned scene space processing method. Specifically, the device may include:
[0164] The acquisition module 121 is used to acquire the data of the scene space. The position of the object in the scene space is the same as the above Figure 2 or Figure 6 The method shown is obtained;
[0165] The display module 122 is configured to display the scene space based on the data.
[0166] Figure 12 The device shown can perform Figure 7 For the method of the embodiment shown in FIG. 1 , reference may be made to the description of the part not described in detail in the embodiment. Figure 7 The implementation process and technical effects of this technical solution can be found in Figure 7 The description in the illustrated embodiment will not be repeated here.
[0167] In one possible implementation, Figure 12 The structure of the control device of the scene space shown can be realized as a terminal. Figure 13As shown, the terminal may include: a processor 131 and a memory 132. The memory 132 is used to store the data that supports the terminal to execute the above Figure 7 The program of the scene space control method provided in the illustrated embodiment, the processor 131 is configured to execute the program stored in the memory 132.
[0168] The program includes one or more computer instructions, wherein when the one or more computer instructions are executed by the processor 131, the following steps can be implemented:
[0169] Get the data of the scene space, the position of the object in the scene space is the same as the above Figure 2 or Figure 6 The method shown is obtained;
[0170] Based on the data, the scene space is displayed.
[0171] Optionally, the processor 131 is further configured to execute the aforementioned Figure 7 All or part of the steps in the illustrated embodiments.
[0172] The terminal structure may further include a communication interface 133 for the terminal to communicate with other devices or a communication network.
[0173] In addition, the embodiment of the present application provides a computer storage medium for storing computer software instructions used by the terminal, which includes instructions for executing the above Figure 2 The procedures involved in the illustrated method embodiment.
[0174] The present invention provides a computer storage medium for storing computer software instructions used by the terminal, which includes instructions for executing the above Figure 6 The procedures involved in the illustrated method embodiment.
[0175] The present invention provides a computer storage medium for storing computer software instructions used by the terminal, which includes instructions for executing the above Figure 7 The procedures involved in the illustrated method embodiment.
[0176] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0177] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by adding the necessary general hardware platform, and of course can also be implemented by combining hardware and software. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a computer product. This application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0178] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable device to produce a machine, so that the instructions executed by the processor of the computer or other programmable device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0179] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0180] These computer program instructions can also be loaded onto a computer or other programmable device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0181] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0182] Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0183] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can be implemented using any method or technology to store information. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change RAM (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.
[0184] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for processing urban building space, characterized in that: include: In a case where a first object needs to be placed in an urban building space, determining a first spatial range occupied by the first object in the urban building space in a world coordinate system based on an initial position of the first object; Performing a coordinate system conversion on the first spatial range to obtain a second spatial range occupied by the first object in the urban building space in a target coordinate system, where the target coordinate system is a coordinate system used to display the urban building space; Based on the second spatial range, determining whether there is an object in the urban building space that conflicts with the first object range and whose type belongs to a preset type set, the preset type set including buildings and road networks; If yes, adjusting the initial position of the first object to obtain multiple adjusted spatial ranges of the first object; For each adjusted spatial range, determining a second object in the urban building space that conflicts with the first object range, and determining a corresponding degree of conflict based on the second object corresponding to each adjusted spatial range and a weight corresponding to a type of the second object, where the type of the second object includes at least one of a building, a road network, a green space, or a water system; A calibrated position of the first object is obtained based on the conflict degrees respectively corresponding to the multiple adjusted spatial ranges.
2. The method according to claim 1, characterized in that The determining, based on the initial position, a first spatial range occupied by the first object in the urban building space in a world coordinate system includes: Based on the initial position and the preset projection direction, a first spatial range occupied by the orthographic projection of the first object in the urban building space in the world coordinate system is determined.
3. The method according to claim 2, characterized in that The preset projection direction includes the negative direction of the y-axis in the world coordinate system.
4. The method according to claim 1, wherein The target coordinate system includes a geodetic coordinate system.
5. The method according to claim 4, characterized in that The method further comprises: Acquire location setting information, where the location setting information is used to indicate the latitude and longitude information of the first object in the urban building space; A coordinate system conversion is performed on the longitude and latitude information to obtain the initial position of the first object in the urban building space in the geodetic coordinate system.
6. The method according to claim 1, characterized in that The second object includes urban building space with area data; The determining of the corresponding degree of conflict based on the weight corresponding to the second object and the type of the second object corresponding to each adjusted spatial range includes: determining the corresponding degree of conflict based on the weight corresponding to the second object and the type of the second object corresponding to each adjusted spatial range, adopting a strategy in which the overlapping area is positively correlated with the degree of conflict.
7. The method according to claim 1, characterized in that The second object includes an urban building space for which no area data exists; The determining of the corresponding degree of conflict based on the weight corresponding to the second object and the type of the second object corresponding to each adjusted spatial range includes: determining the corresponding degree of conflict based on the weight corresponding to the second object and the type of the second object corresponding to each adjusted spatial range, adopting a strategy in which the distance between the center point positions is negatively correlated with the degree of conflict.
8. The method according to claim 1, characterized in that Obtaining the calibration position of the first object based on the conflict degrees respectively corresponding to the multiple adjusted spatial ranges includes: determining whether there is an object in the urban building space that conflicts with the first object range based on a target adjusted spatial range among the multiple adjusted spatial ranges; the target adjusted spatial range being the adjusted spatial range with the least degree of conflict among the multiple adjusted spatial ranges; If yes, the center position of the adjusted spatial range of the target is used as the calibration position of the first object.
9. The method according to claim 8, characterized in that The obtaining of the calibrated position of the first object based on the conflict degrees respectively corresponding to the plurality of adjusted spatial ranges further includes: If not, reduce the size of the first object and return to the step of adjusting the initial position of the first object until a target adjusted spatial range is found that eliminates range conflicts in the urban building space, and the center position of the target adjusted spatial range is used as the calibration position of the first object.
10. A method for processing urban building space, characterized in that: include: Acquiring data of an urban building space, wherein the position of an object in the urban building space is determined using the method according to any one of claims 1 to 9; Based on the data, the urban building space is displayed.
11. A device for processing urban building space, characterized in that: include: a first determining module configured to determine, when it is necessary to place the first object into the urban building space, a first spatial range occupied by the first object in the urban building space in a world coordinate system based on an initial position of the first object; Performing a coordinate system conversion on the first spatial range to obtain a second spatial range occupied by the first object in the urban building space in a target coordinate system, where the target coordinate system is a coordinate system used to display the urban building space; a second determining module, configured to determine, based on the second spatial range, whether there is an object in the urban building space that conflicts with the first object range and whose type belongs to a preset type set, the preset type set including buildings and road networks; a conflict resolution module, configured to, if yes, adjust the initial position of the first object to obtain a plurality of adjusted spatial ranges of the first object; For each adjusted spatial range, determining a second object in the urban building space that conflicts with the first object range, and determining a corresponding degree of conflict based on the second object corresponding to each adjusted spatial range and a weight corresponding to a type of the second object, where the type of the second object includes at least one of a building, a road network, a green space, and a water system; A calibrated position of the first object is obtained based on the conflict degrees respectively corresponding to the multiple adjusted spatial ranges.
12. A device for processing urban building space, characterized in that: include: an acquisition module for acquiring data of an urban building space, wherein the position of an object placed in the urban building space is determined using the method according to any one of claims 1 to 9; A display module is used to display the urban building space based on the data.
13. A terminal, characterized in that: include: A memory, a processor; wherein the memory is used to store one or more computer instructions, wherein when the one or more computer instructions are executed by the processor, the method according to any one of claims 1 to 9 is implemented.
14. A terminal, characterized in that: include: A memory, a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions implement the method according to claim 10 when executed by the processor.
Citation Information
Patent Citations
Geospatial distribution feature-driven character cloud position configuration method
CN108491452A
Intelligent following shooting method and system for camera in virtual scene and storage medium
CN118138889A