WO2016132523A1 - Model data processing system, rendering method, and model data processing program - Google Patents
Model data processing system, rendering method, and model data processing program Download PDFInfo
- Publication number
- WO2016132523A1 WO2016132523A1 PCT/JP2015/054708 JP2015054708W WO2016132523A1 WO 2016132523 A1 WO2016132523 A1 WO 2016132523A1 JP 2015054708 W JP2015054708 W JP 2015054708W WO 2016132523 A1 WO2016132523 A1 WO 2016132523A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- divided
- list
- models
- rectangle
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Definitions
- the present invention relates to a model data processing system, a drawing method, and a model data processing program.
- the present invention relates to a model data integration device, for example.
- a terrain rendering process is performed only on a block determined to overlap the map display range among a plurality of blocks.
- the blocks are all the same size.
- VBO vertex buffer object
- part of the model may be within the map display range even if the block is outside the map display range.
- a model is not registered with VBO. As a result, a part of the terrain within the map display range is not displayed.
- An object of the present invention is to ensure that a model representing an object to be displayed can be rendered.
- a model data processing system includes: An acquisition unit for acquiring data of a plurality of models each representing an object existing in the map area; A dividing unit configured to divide the map area and set a plurality of divided areas; Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas, and a first list indicating correspondence between each of the plurality of divided areas and the distributed model is a management memory A distribution unit to be stored in Obtaining the first list from the management memory, and for a divided area corresponding to at least one model in the first list, an inclusion area including the at least one model in the map area A calculation unit that calculates and outputs a second list indicating correspondence between each of the plurality of divided regions and the calculated inclusion region as information for rendering the data of the plurality of models acquired by the acquisition unit; Is provided.
- the present invention not only the first list showing the correspondence between each of the plurality of divided regions and each of the plurality of models, but also the correspondence between each of the plurality of divided regions and the inclusion region including at least one model is shown.
- a second list is provided. For this reason, the divided area corresponding to the inclusion area at least partially overlapping the display range of the map area can be extracted as the drawing area.
- the model corresponding to the drawing area is a model representing an object to be displayed. Therefore, according to the present invention, a model representing an object to be displayed can be reliably rendered.
- FIG. 1 is a diagram illustrating a configuration of a model data processing system according to Embodiment 1.
- FIG. 1 is a block diagram showing a detailed configuration of a model data processing system according to Embodiment 1.
- FIG. 1 is a block diagram showing a processing configuration of a model data processing system according to Embodiment 1.
- FIG. 3 is a flowchart showing a preprocessing procedure of the model data processing system according to the first embodiment.
- 3 is a flowchart showing a procedure of real-time processing of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a management rectangle of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a divided rectangle of the model data processing system according to the first embodiment.
- FIG. 4 is a table showing an example of divided rectangles of the model data processing system according to the first embodiment.
- the figure which shows the example of the circumscribed rectangle and distribution reference position of the model data processing system which concerns on Embodiment 1.
- FIG. 4 is a table showing an example of a divided rectangular data list of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of an inclusion rectangle of the model data processing system according to the first embodiment.
- 4 is a table showing an example of a divided rectangular data list of the model data processing system according to the first embodiment.
- the latitude longitude plane projection figure which shows the example of a display range.
- the oblique projection figure which shows the example of a display range.
- FIG. 3 is a diagram illustrating an example of a display range of the model data processing system according to the first embodiment.
- 4 is a table showing an example of an acquired divided rectangle list of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of registration of model data in a drawing memory of the model data processing system according to the first embodiment.
- 4 is a table showing an example of an acquired divided rectangle list of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of registration of model data in a drawing memory of the model data processing system according to the first embodiment.
- 4 is a table showing an example of an acquired divided rectangle list of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of registration of model data in a drawing memory of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of a display range of the model data processing system according to the first embodiment.
- 4 is a table showing an example of an acquired divided rectangle list of the model data processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating an example of registration of model data in a drawing memory of the model data processing system according to the first embodiment. The figure which shows the structure of the model data processing system which concerns on Embodiment 2.
- FIG. FIG. 3 is a block diagram showing a detailed configuration of a model data processing system according to a second embodiment.
- FIG. 4 is a block diagram showing a detailed configuration of a model data processing system according to a third embodiment.
- FIG. 4 is a block diagram showing a processing configuration of a model data processing system according to a third embodiment.
- 10 is a flowchart showing a preprocessing procedure of the model data processing system according to the third embodiment.
- 10 is a flowchart showing a preprocessing procedure of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a diagram showing an example of division area setting of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a diagram showing an example of division area setting of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a diagram showing an example of division area setting of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a diagram showing an example of division area setting of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- FIG. 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- 10 is a diagram illustrating an example of an inclusion rectangle of the model data processing system according to the third embodiment.
- 10 is a table showing an example of a divided rectangular data list of the model data processing system according to the third embodiment.
- the figure which shows the example of the hardware constitutions of the apparatus which comprises the model data processing system which concerns on embodiment of this invention.
- Embodiment 1 FIG. The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order.
- the model data processing system 100 includes a navigation device 101.
- Navigation device 101 is mounted on a vehicle.
- the navigation device 101 includes an input device 907 and a display 908.
- the input device 907 is operated by a user such as a vehicle driver. Specifically, the input device 907 is an operation button. Note that the input device 907 may be a touch panel integrated with the display 908 or a combination of operation buttons and a touch panel.
- Display 908 displays a map.
- the map is specifically a three-dimensional map.
- the map may be another type of map such as a two-dimensional map.
- model data processing system 100 The detailed configuration of the model data processing system 100 will be described with reference to FIG.
- the navigation device 101 includes a database 111, a management memory 112, and a drawing memory 113.
- the database 111 stores data 201 of a plurality of models.
- the plurality of models respectively represent objects existing in the map area.
- An object is a map object such as terrain, road, or building.
- the model is specifically a three-dimensional model.
- the model may be another type of model such as a two-dimensional model.
- the management memory 112 is a memory for storing a first list 211 and a second list 212 described later. Specifically, the management memory 112 is a main memory.
- the drawing memory 113 is a memory for storing data 201 of a model to be drawn among a plurality of models. Specifically, the drawing memory 113 is a video memory.
- the navigation apparatus 101 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, and a rendering unit 134.
- the obtaining unit 121 obtains the data 201 of the plurality of models described above from the database 111.
- the dividing unit 122 divides the map area and sets a plurality of divided areas.
- the sorting unit 123 sorts the plurality of models into the plurality of divided regions set by the dividing unit 122 based on the positions of the plurality of models in the map region.
- the distribution unit 123 creates a first list 211 indicating the correspondence between each of the plurality of divided regions set by the division unit 122 and the distributed model.
- the distribution unit 123 stores the created first list 211 in the management memory 112.
- the position referred to by the distribution unit 123 is the position of the center of the circumscribed rectangle surrounding each of the plurality of models. Note that the position referred to by the distribution unit 123 may be the position of an arbitrary point such as the center of gravity or the northernmost end point as long as it is the position of one point determined for each model.
- the calculation unit 124 acquires the first list 211 from the management memory 112.
- the calculation unit 124 calculates, for a divided region corresponding to at least one model in the first list 211, an inclusion region including the at least one model in the map region.
- the calculating unit 124 creates a second list 212 indicating the correspondence between each of the plurality of divided areas set by the dividing unit 122 and the calculated inclusion area.
- the calculation unit 124 outputs the second list 212 as information for rendering the data 201 of the plurality of models acquired by the acquisition unit 121.
- the second list 212 output by the calculation unit 124 is stored in the management memory 112.
- the inclusion area calculated by the calculation unit 124 is a circumscribed rectangle surrounding the at least one model.
- the inclusion area calculated by the calculation unit 124 may be an arbitrary shape such as an indefinite polygon as long as it includes the model vertex.
- the determining unit 131 determines the display range of the map area.
- the extraction unit 132 acquires the second list 212 from the management memory 112. That is, the extraction unit 132 receives the input of the second list 212 created by the calculation unit 124. The extraction unit 132 extracts, from the second list 212, a divided region corresponding to an inclusion region that at least partially overlaps the display range determined by the determination unit 131 as a drawing region.
- the integration unit 133 acquires the first list 211 from the management memory 112. That is, the integration unit 133 receives the input of the first list 211 created by the distribution unit 123.
- the integration unit 133 uses the one model data 201 acquired by the acquisition unit 121 for drawing.
- the integration unit 133 stores the data 201 of the two or more models acquired by the acquisition unit 121.
- the integrated data 201 is stored in the drawing memory 113.
- the rendering unit 134 renders the data 201 stored in the drawing memory 113. As a result, a navigation map including an object within the display range is displayed on the screen of the display 908.
- the processing configuration of the model data processing system 100 will be described with reference to FIG.
- the processes executed by the model data processing system 100 mainly include a pre-process 310 that is executed in advance and a real-time process 320 that is executed when a model is displayed.
- the preprocessing 310 includes processing such as model data acquisition 311, information acquisition 312, management rectangle division 313, reference position calculation 314, model distribution 315, and inclusion rectangle calculation 316.
- the model data acquisition 311 is executed by the acquisition unit 121.
- the information acquisition 312 and the management rectangle division 313 are executed by the division unit 122.
- the reference position calculation 314 and the model distribution 315 are executed by the distribution unit 123.
- the inclusion rectangle calculation 316 is executed by the calculation unit 124.
- the model data acquisition 311 is a process for acquiring the model data 301 from the database 111.
- the model data 301 corresponds to the data 201 of a plurality of models described above.
- Information acquisition 312 is a process of acquiring a management rectangle that is a map range of all model data 301 stored in the database 111.
- the management rectangle corresponds to the map area described above.
- the management rectangle division 313 is a process of dividing the management rectangle acquired by the information acquisition 312 according to the reference division number 302 to create a divided rectangle.
- the divided rectangle corresponds to the divided area described above.
- the reference position calculation 314 is a process of calculating the sorting reference position from the model data 301 acquired by the model data acquisition 311.
- the sorting reference position corresponds to a position referred to by the sorting unit 123 described above.
- the model sorting 315 is a process of creating a divided rectangle data list 303 by assigning a model to the divided rectangle created by the management rectangle division 313 based on the sorting reference position calculated by the reference position calculation 314.
- the divided rectangle data list 303 is a list showing models distributed for each divided rectangle.
- the divided rectangle data list 303 corresponds to the first list 211 described above.
- the inclusion rectangle calculation 316 is a process of calculating an inclusion rectangle for each divided rectangle included in the divided rectangle data list 303 after the model distribution corresponding to all the model data 301 in the database 111 is completed in the model distribution 315. .
- the inclusion rectangle corresponds to the inclusion region described above.
- the divided rectangle data list 303 is changed to a list indicating not only the distributed model but also the calculated inclusion rectangle for each divided rectangle.
- the changed divided rectangle data list 303 corresponds to not only the first list 211 but also the second list 212 described above.
- the real-time processing 320 includes processing such as display range determination 321, overlap determination 322, acquired data determination 323, divided rectangle data acquisition 324, model integration 325, model rendering 326.
- the display range determination 321 is executed by the determination unit 131.
- the duplication determination 322, the acquired data determination 323, and the divided rectangle data acquisition 324 are executed by the extraction unit 132.
- the model integration 325 is executed by the integration unit 133.
- the model rendering 326 is executed by the rendering unit 134.
- the display range determination 321 is a process for determining the display range.
- the overlap determination 322 is a process for determining the overlap between all the inclusion rectangles in the divided rectangle data list 303 and the display range determined by the display range determination 321 and obtaining the overlap divided rectangle.
- the overlapping divided rectangle corresponds to the drawing area described above.
- the acquired data determination 323 is a process of adding a divided rectangle that is not stored in the acquired divided rectangle list 304 and is an overlapping divided rectangle obtained in the overlap determination 322 to the acquired divided rectangle list 304.
- the divided rectangle data acquisition 324 extracts all models corresponding to the divided rectangle added to the acquired divided rectangle list 304 in the acquired data determination 323 from the divided rectangle data list 303, and the model data 301 corresponding to the extracted model. It is a process to acquire.
- the model integration 325 is a process of integrating the model data 301 acquired by the divided rectangle data acquisition 324 for each divided rectangle and registering the integrated model data 301 in the drawing memory 113.
- the model rendering 326 is a three-dimensional rendering of the model data 301 registered by the model integration 325.
- the operation of the model data processing system 100 will be described with reference to FIGS.
- the operation of the model data processing system 100 corresponds to the drawing method according to the present embodiment.
- the operation of the model data processing system 100 corresponds to the processing procedure of the model data processing program according to the present embodiment.
- the coordinate system to be used is latitude / longitude coordinates.
- the unit is degrees.
- the management rectangle is a rectangular range in which the four sides are parallel to the graticule, the southwest end coordinate is (0, 0), and the northeast end coordinate is (16, 12).
- the database 111 includes a total of 16 models A to P.
- a to P are model IDs (identifiers).
- the reference division number 302 is “4” in the horizontal direction and “3” in the vertical direction.
- the acquired divided rectangle list 304 is empty. Note that the model is a three-dimensional solid body, but in the present embodiment, the model is treated as data projected onto a two-dimensional latitude / longitude plane.
- the size of the management rectangle, the reference division number 302, the number of models, the shape, size, position, and the like can be changed as appropriate.
- FIG. 4 shows the procedure of the pre-processing 310.
- S11 is the information acquisition 312 described above.
- the dividing unit 122 acquires information indicating that the range of the management rectangle is (0, 0) to (16, 12) from the database 111.
- S12 is the management rectangle division 313 described above.
- the dividing unit 122 divides the management rectangle according to the reference division number 302.
- the reference division number 302 is “4” in the horizontal direction and “3” in the vertical direction. Therefore, the dividing unit 122 divides the management rectangle into four parts in the horizontal direction and three parts in the vertical direction to create a divided rectangle set. In this case, as shown in the example shown in FIG. 7, a total of 12 divided rectangles of divided rectangles 0 to 11 are formed. The range of each divided rectangle is as shown in FIG.
- S13 is the model data acquisition 311 described above.
- the acquisition unit 121 acquires the model data 301 of the models A to P, which is all model data 301, from the database 111.
- S14 is the reference position calculation 314 described above.
- S15 is the model distribution 315 described above.
- S14 and S15 are executed for each model for which the model data 301 has been acquired in S13.
- the distribution unit 123 calculates a distribution reference position.
- the sorting reference position is the center position of the circumscribed rectangle of the model.
- the sorting reference position may be an arbitrary point that serves as a model reference, such as the center of gravity of the model vertex group.
- the circumscribed rectangle and distribution reference position of each model are as shown in the example shown in FIG.
- the southwestern edge of the circumscribed rectangle is (“minimum value of longitude of all vertices constituting the model”, “minimum value of latitude of all vertices constituting the model”).
- the northeastern end of the circumscribed rectangle is (“maximum longitude of all vertices constituting the model”, “maximum latitude of all vertices constituting the model”).
- the center of the circumscribed rectangle is (("Southwest edge longitude" + "Northeast edge longitude") / 2, ("Southwest edge latitude” + “Northeast edge latitude”) / 2).
- the distribution unit 123 distributes the model into divided rectangles based on the distribution reference position calculated in S14.
- the distribution unit 123 starts from the divided rectangle 0.
- the distribution unit 123 determines whether the distribution reference position is included in the divided rectangle.
- the distribution unit 123 sets the divided rectangle determined to include the distribution reference position as the distribution target divided rectangle. Whether the sorting reference position is included in the divided rectangle can be determined based on whether the sorting reference position is located on the northeastern side of the divided rectangle and on the southwest side of the divided rectangle.
- the distribution unit 123 sets the range of the divided rectangle and the model ID, and adds the set to the divided rectangle data list 303.
- the divided rectangular data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the divided rectangle 0 and the model L correspond to each other.
- the divided rectangle 1 corresponds to the models C and D.
- the divided rectangle 2 corresponds to the model O.
- the divided rectangle 3 and the model P correspond to each other.
- the divided rectangle 4 and the model K correspond to each other.
- the divided rectangle 5 corresponds to the models B and E.
- the divided rectangle 6 and the model F correspond to each other.
- the divided rectangle 7 corresponds to the models G, H, and I.
- the divided rectangle 8 corresponds to the model J.
- the divided rectangle 9 corresponds to the model A.
- the divided rectangle 10 and the model M correspond to each other.
- the divided rectangle 11 and the model N correspond to each other.
- S16 is the inclusion rectangle calculation 316 described above.
- S ⁇ b> 16 is executed for each divided rectangle in the divided rectangle data list 303.
- the calculation unit 124 calculates an inclusion rectangle.
- the inclusion rectangle is a circumscribed rectangle obtained by combining the circumscribed rectangles of all models corresponding to the divided rectangle.
- the calculation unit 124 specifies a model corresponding to the divided rectangle from the divided rectangle data list 303. That is, for the divided rectangle 1, the calculation unit 124 combines the circumscribed rectangle of the model C and the circumscribed rectangle of the model D to obtain an inclusion rectangle. On the other hand, for the divided rectangle 0, the calculation unit 124 directly uses the circumscribed rectangle of the model L as an inclusion rectangle.
- the calculation unit 124 similarly obtains an inclusion rectangle for the divided rectangles 2 to 11 as well.
- Each inclusion rectangle is as the example shown in FIG. After calculating the inclusion rectangle, the calculation unit 124 changes the range of the divided rectangle in the divided rectangle data list 303 to the range of the inclusion rectangle.
- the divided rectangle data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the inclusion of the divided rectangle 0 and ("the west end of the circumscribed rectangle L", “the south end of the circumscribed rectangle L") to ("the east end of the circumscribed rectangle L", "the north end of the circumscribed rectangle L”).
- the rectangle corresponds.
- the divided rectangle 1 corresponds to the inclusion rectangles (“west end of circumscribed rectangle C”, “south end of circumscribed rectangle D”) to (“east end of circumscribed rectangle D”, “north end of circumscribed rectangle C”).
- the division rectangle 2 corresponds to the inclusion rectangles (“West end of circumscribed rectangle O”, “South end of circumscribed rectangle O”) to (“East end of circumscribed rectangle O”, “North end of circumscribed rectangle O”).
- the division rectangle 3 corresponds to the inclusion rectangles (“west end of circumscribed rectangle P”, “south end of circumscribed rectangle P”) to (“east end of circumscribed rectangle P”, “north end of circumscribed rectangle P”).
- the division rectangle 4 corresponds to the inclusion rectangles (“west end of circumscribed rectangle K”, “south end of circumscribed rectangle K”) to (“east end of circumscribed rectangle K”, “north end of circumscribed rectangle K”).
- the division rectangle 5 corresponds to ("west end of the circumscribed rectangle B", “south end of the circumscribed rectangle B") to ("east end of the circumscribed rectangle E", "north end of the circumscribed rectangle B").
- the divided rectangles 6 correspond to the inclusion rectangles (“West end of circumscribed rectangle F”, “South end of circumscribed rectangle F”) to (“East end of circumscribed rectangle F”, “North end of circumscribed rectangle F”).
- the division rectangle 7 corresponds to the inclusion rectangles (“west end of circumscribed rectangle G”, “south end of circumscribed rectangle I”) to (“east end of circumscribed rectangle I”, “north end of circumscribed rectangle G”).
- the division rectangle 8 corresponds to the inclusion rectangles (“west end of circumscribed rectangle J”, “south end of circumscribed rectangle J”) to (“east end of circumscribed rectangle J”, “north end of circumscribed rectangle J”).
- the divided rectangles 9 correspond to the inclusion rectangles (“West end of circumscribed rectangle A”, “South end of circumscribed rectangle A”) to (“East end of circumscribed rectangle A”, “North end of circumscribed rectangle A”).
- the division rectangle 10 corresponds to the inclusion rectangles (“west end of circumscribed rectangle M”, “south end of circumscribed rectangle M”) to (“east end of circumscribed rectangle M”, “north end of circumscribed rectangle M”).
- the divided rectangles 11 correspond to ("the west end of the circumscribed rectangle N", “the southern end of the circumscribed rectangle N") to ("the east end of the circumscribed rectangle N", "the northern end of the circumscribed rectangle N").
- the circumscribed rectangles A to P are circumscribed rectangles of the models A to P.
- FIG. 5 shows the procedure of the real-time process 320.
- S21 is the display range determination 321 described above.
- the determination unit 131 determines a display range that is an area displayed on the screen of the display 908 or a window in the screen based on the display center coordinates that are moved by the user's scroll operation using the input device 907. calculate.
- the display center coordinates are the coordinates of the center of the screen or window. In the present embodiment, the display center coordinates are acquired as latitude and longitude coordinates.
- the display range is calculated by the following formula.
- P center is the position vector of the display center coordinates
- P eye is the position vector of the viewpoint position coordinates
- U is the upward vector
- ⁇ is the vertical viewing angle It is.
- the viewpoint position coordinates, the upward vector, and the vertical viewing angle are parameters that must be set when displaying the three-dimensional model. For these parameters, predetermined values are used. ⁇ , ⁇ , ⁇ , and ⁇ are calculated such that the elevation components of P RT , P RB , P LT , and P LB are zero.
- P RT , P RB , P LT , and P LB calculated by substituting the calculated values into the upper four equations are the vertex coordinates of the display range corresponding to the upper right of the screen, the lower right of the screen, the upper left of the screen, and the lower left of the screen, respectively. It is.
- the relationship between each parameter and the display range is as shown in the examples shown in FIGS.
- the display range is as shown in the example in FIG.
- S22 is the duplication determination 322 described above.
- S23 is the acquired data determination 323 described above.
- S24 is the divided rectangle data acquisition 324 described above.
- S25 is the model integration 325 described above. S22 to S25 are executed for each divided rectangle in the divided rectangle data list 303.
- the extraction unit 132 determines the overlap between the range of the inclusion rectangle in the divided rectangle data list 303 and the display range.
- the determination of overlap can be performed using a method for determining the overlap of two quadrangles. Since the method is self-explanatory, detailed description is omitted, but at least one line segment of one quadrangle intersects the line segment of the other quadrangle, or at least one vertex of one square is the other It can be determined that the two rectangles overlap each other.
- a similar method can be used even when an indefinite polygon is used as the inclusion region instead of the inclusion rectangle. That is, if at least one line segment of one polygon intersects the line segment of the other polygon, or if at least one vertex of one polygon is included in the other polygon, It can be determined that the polygons overlap.
- the extraction unit 132 determines whether or not the divided rectangles determined to have overlap in S22 exist in the acquired divided rectangle list 304.
- the acquired divided rectangle list 304 is a list indicating the divided rectangles for which the model data 301 of all corresponding models has already been acquired in S24.
- the extraction unit 132 acquires model data 301 of all models corresponding to the divided rectangles determined to have an overlap in S22.
- the extraction unit 132 registers the divided rectangle in the acquired divided rectangle list 304.
- the integration unit 133 integrates the model data 301 of all models acquired in S24, and creates model data 301 of the integrated model. However, if only the model data 301 of one model is acquired in S24, the model data 301 of the one model becomes the model data 301 of the integrated model.
- the integration unit 133 creates an integrated model VBO in the drawing memory 113.
- the integration unit 133 registers the model data 301 of the integration model in the VBO. Since model integration can be realized by a general technique called a degenerate triangle, detailed description is omitted, but it can be realized by connecting distant models with invisible triangles. An invisible triangle is a triangle whose three vertices are aligned.
- the model data 301 of the model L is acquired, and the divided rectangle 0 is registered in the acquired divided rectangle list 304.
- the acquired divided rectangle list 304 at this point is as shown in the example in FIG.
- the model data 301 of the model L is not integrated and is registered alone in the VBO of the drawing memory 113. The contents of the drawing memory 113 at this time are as shown in FIG.
- the model data 301 of models C and D is acquired, and the divided rectangle 1 is registered in the acquired divided rectangle list 304.
- the acquired divided rectangle list 304 at this time is as shown in FIG.
- the model data 301 of the models C and D are integrated, and the model data 301 of the integrated model of the models C and D is registered in the VBO of the drawing memory 113.
- the contents of the drawing memory 113 at this time are as shown in FIG.
- the model data 301 of the model O is registered in the VBO of the drawing memory 113 for the divided rectangle 2, and the model B, The model data 301 of the E integrated model is registered in the VBO of the drawing memory 113.
- the acquired divided rectangle list 304 is as shown in the example shown in FIG.
- the contents of the drawing memory 113 are as shown in the example shown in FIG.
- S26 is the model rendering 326 described above.
- the rendering unit 134 realizes a 3D model display by performing 3D rendering of the model data 301 registered in the VBO.
- the real-time processing 320 when the display range is changed as shown in the example shown in FIG. 22 will be described.
- the latitude / longitude coordinate system is used.
- other coordinate systems such as a metric coordinate system may be used as long as the coordinate system is a unique positional relationship.
- the display scale can generally be changed. Therefore, a reference division number 302 suitable for each scale may be set, and the reference division number 302 to be applied may be switched according to a change in display scale.
- each management rectangle is used, but a plurality of management rectangles may be used, and each management rectangle may be divided individually to set a plurality of division rectangles.
- a navigation map is displayed, but a map for other purposes such as a game map may be displayed. That is, the same configuration as the navigation device 101 may be applied to other types of devices such as game devices.
- the model data 301 is registered in the VBO for each divided rectangle according to the result of determining the overlap between the display range and the inclusion rectangle instead of the overlap between the display range and the divided rectangle.
- Each model may protrude from the divided rectangle but not from the containing rectangle. Therefore, according to the present embodiment, it is possible to avoid a situation in which a model within the display range is not displayed. In addition, each model can be drawn at high speed.
- Embodiment 2 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- model data processing system 100 that is a system according to the present embodiment will be described.
- the model data processing system 100 includes a DA 102 (Display / Audio), a mobile terminal 103, and a server device 104.
- DA 102 Display / Audio
- server device 104 The model data processing system 100 includes a DA 102 (Display / Audio), a mobile terminal 103, and a server device 104.
- DA102 is mounted on a vehicle.
- DA 102 includes an input device 907 and a display 908.
- the input device 907 and the display 908 are the same as those provided in the navigation device 101 in the first embodiment.
- the portable terminal 103 is used by a user such as a vehicle driver.
- the mobile terminal 103 is a smartphone.
- the mobile terminal 103 may be a tablet, a mobile phone, or another type of mobile terminal.
- the server device 104 may be installed in an arbitrary place, but in the present embodiment, it is installed in the data center.
- DA 102 and mobile terminal 103 transmit and receive data to and from each other by wired communication or wireless communication.
- the mobile terminal 103 and the server device 104 transmit and receive data to and from each other via the network 105.
- the network 105 is a mobile communication network.
- the network 105 may be a combination of a mobile communication network and a WAN (Wide / Area / Network), a combination of a mobile communication network and the Internet, or other types of networks.
- WAN Wide / Area / Network
- model data processing system 100 The detailed configuration of the model data processing system 100 will be described with reference to FIG.
- the server device 104 includes a database 111 and a management memory 112.
- the database 111 and the management memory 112 are the same as those provided in the navigation device 101 in the first embodiment.
- the server device 104 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, and a transmission unit 141.
- the acquisition unit 121, the division unit 122, the distribution unit 123, the calculation unit 124, and the determination unit 131 are the same as those included in the navigation device 101 in the first embodiment.
- the transmission unit 141 transmits the first list 211 and the second list 212 stored in the management memory 112 to the mobile terminal 103 via the network 105.
- the mobile terminal 103 includes a drawing memory 113.
- the drawing memory 113 is the same as that provided in the navigation device 101 in the first embodiment.
- the portable terminal 103 further includes a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, and a reception unit 142.
- the determination unit 131, the extraction unit 132, the integration unit 133, and the rendering unit 134 are the same as those included in the navigation device 101 in the first embodiment.
- the receiving unit 142 receives the first list 211 and the second list 212 from the server device 104 via the network 105.
- the receiving unit 142 inputs the first list 211 to the integrating unit 133.
- the receiving unit 142 inputs the second list 212 to the extracting unit 132.
- the rendering unit 134 renders the data 201 stored in the drawing memory 113. Thereby, the video data of the map for navigation including the object within the display range is created. The video data is transmitted to the DA 102 and displayed on the screen of the display 908.
- each unit of the model data processing system 100 is provided in a distributed manner in the mobile terminal 103 and the server device 104, but the distribution method of each unit can be changed as appropriate.
- Each unit can be provided only in the mobile terminal 103 or only in the server device 104. That is, the model data processing system 100 may be configured by only the DA 102 and the server device 104 or only by the DA 102 and the mobile terminal 103.
- the model data processing system 100 may include a device other than the DA 102, the portable terminal 103, and the server device 104.
- Embodiment 3 The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order. Differences from the first embodiment will be mainly described.
- a model data processing system 100 which is a system according to the present embodiment, is composed of a navigation device 101 as in the first embodiment shown in FIG.
- model data processing system 100 The detailed configuration of the model data processing system 100 will be described with reference to FIG.
- the navigation device 101 includes a database 111, a management memory 112, and a drawing memory 113.
- the database 111, the management memory 112, and the drawing memory 113 are the same as those provided in the navigation device 101 in the first embodiment.
- the navigation device 101 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, and a re-division unit. 151 and a merging unit 152.
- the acquisition unit 121, the division unit 122, the distribution unit 123, the calculation unit 124, the determination unit 131, the extraction unit 132, the integration unit 133, and the rendering unit 134 are the same as those included in the navigation device 101 in the first embodiment.
- the re-dividing unit 151 corresponds to one or more models in the first list 211, and a divided region whose index for determining the processing load for rendering the data 201 of the one or more models is higher than the reference Subdivide. Based on the position of the one or more models in the map area, the re-dividing unit 151 distributes the one or more models to the plurality of divided areas after re-division, and updates the first list 211. This update is performed before the calculation unit 124 acquires the first list 211 from the management memory 112. Therefore, the calculation unit 124 acquires the first list 211 after being updated by the re-division unit 151 from the management memory 112.
- the index used by the subdivision unit 151 is the number of models. If the index used by the re-dividing unit 151 is an index that can determine the processing load for rendering the model data 201, the number of model vertices, the area of the model, the distance between the models, or a combination thereof Any index may be used.
- the re-dividing unit 151 corresponds to one or more models in the first list 211, and determines the processing load for rendering the data 201 of the one or more models.
- a divided region having the same index as the reference may be subdivided.
- the merging units 152 are adjacent to each other and correspond to a total of zero or more models in the first list 211, and an index for determining the processing load for rendering the data of the zero or more models is below the reference. Two divided areas are merged, and the first list 211 is updated. This update is performed before the calculation unit 124 acquires the first list 211 from the management memory 112. Therefore, the calculation unit 124 acquires the first list 211 after being updated by the merging unit 152 from the management memory 112.
- the index used by the merging unit 152 is the number of models. If the index used by the merging unit 152 is an index that can determine the processing load for rendering the model data 201, the number of model vertices, the area of the model, the distance between the models, or a combination of these Any index may be used.
- the merging units 152 are adjacent to each other and correspond to a total of zero or more models in the first list 211, and the processing load for rendering the data of the zero or more models is reduced. You may make it not merge two division area
- the processing configuration of the model data processing system 100 will be described with reference to FIG.
- the processes executed by the model data processing system 100 mainly include a pre-process 310 that is executed in advance and a real-time process 320 that is executed when a model is displayed.
- the pre-processing 310 includes the same processing as the first embodiment such as model data acquisition 311, information acquisition 312, management rectangle division 313, reference position calculation 314, model distribution 315, inclusion rectangle calculation 316, division determination 331, division rectangle Processing such as subdivision 332, integration determination 333, peripheral search 334, and division rectangle integration 335 is included.
- the division determination 331 and the divided rectangle subdivision 332 are executed by the subdivision unit 151.
- the integration determination 333, the peripheral search 334, and the divided rectangle integration 335 are executed by the merging unit 152.
- the division determination 331 determines whether or not the divided rectangles in the divided rectangle data list 303 can be divided after the model distribution corresponding to all the model data 301 in the database 111 is completed in the model distribution 315 based on the reference integration index 305. It is processing to do.
- the reference integrated index 305 corresponds to an index used by the re-dividing unit 151 described above.
- the division rectangle subdivision 332 is a process of subdividing the division rectangle when the division rectangle can be divided.
- the integration determination 333 is a process for determining whether or not the divided rectangles in the divided rectangle data list 303 can be integrated after the division of the divided rectangles is completed in the divided rectangle re-division 332 based on the reference integration index 305.
- the reference integrated index 305 also corresponds to an index used by the merging unit 152 described above.
- Peripheral search 334 is a process of searching for other integrable divided rectangles around the divided rectangles when the divided rectangles can be integrated.
- the divided rectangle integration 335 is a process of integrating the divided rectangles when there are other divided rectangles that can be integrated by the peripheral search 334.
- the real-time process 320 is the same as that in the first embodiment.
- FIG. 29 and 30 The operation of the model data processing system 100 corresponds to the drawing method according to the present embodiment.
- the operation of the model data processing system 100 corresponds to the processing procedure of the model data processing program according to the present embodiment.
- the size of the management rectangle, the reference division number 302, the reference integration index 305, the number of models, the shape, size, position, and the like can be changed as appropriate.
- 29 and 30 show the procedure of the pre-processing 310.
- S31 to S35 are the same as S11 to S15 in the first embodiment. Therefore, after the processing of S34 and S35 is executed for all models, the divided rectangle data list 303 is as shown in the example shown in FIG.
- the re-dividing unit 151 adds a division flag to the divided rectangular data list 303.
- the division flag is a flag indicating whether each divided rectangle is “division target” or “non-division target”.
- the re-dividing unit 151 sets the division flag of all the divided rectangles to “division target”.
- S37 and S38 are the division determination 331 described above.
- S40 is the divided rectangle subdivision 332 described above.
- S37 to S41 are repeatedly executed until all the divided rectangles become “not to be divided”.
- the re-division unit 151 searches the division rectangle data list 303 for one division rectangle that is the “division target”.
- the re-division unit 151 determines whether the number of models corresponding to the division rectangle of “division target” is equal to or less than the reference integration index 305.
- the re-dividing unit 151 sets the division flag of the divided rectangle in the divided rectangle data list 303 to “not divided”. The flow returns to S37.
- the re-dividing unit 151 re-divides the divided rectangle.
- the divided rectangle is divided into two in the horizontal direction and two in the vertical direction, and a new divided rectangle set is created.
- the model distributed to the original divided rectangle is distributed to the divided rectangle set. Note that the number of subdivisions is not limited to 2 ⁇ 2, but may be any number such as 4 ⁇ 2.
- the re-dividing unit 151 sets the division flag of all the divided rectangles included in the new divided rectangle set created in S40 to “division target”. The flow returns to S37.
- one divided rectangle which is the “division target” is searched from the divided rectangle data list 303.
- all the divided rectangles in the divided rectangle data list 303 are “division targets”, and it is assumed that the divided rectangle 0 is searched. Since the number of models corresponding to the divided rectangle 0 is 1, it is determined in S38 that the number of models is “2” or less, which is the reference integrated index 305.
- the division flag of the divided rectangle 0 in the divided rectangle data list 303 is changed to “not divided”. The flow returns to S37. For the divided rectangles 1 to 6, the same processing as the divided rectangle 0 is performed.
- the divided rectangle data list 303 at this time is as shown in the example in FIG.
- the divided rectangle 7 is searched in S37, the number of models corresponding to the divided rectangle 7 is three. Therefore, in S38, it is determined that the number of models is larger than “2” that is the reference integrated index 305. Is done.
- the divided rectangle 7 is divided into divided rectangles 12 to 15 as in the example shown in FIG. The divided rectangle 7 is deleted. Models G, H, and I are distributed to the divided rectangles 12 to 15 based on the distribution reference position calculated in S14.
- the division flag of the divided rectangles 12 to 15 in the divided rectangle data list 303 is set to “division target”. The flow returns to S37.
- the divided rectangle data list 303 at this time is as shown in the example in FIG.
- the division rectangles 8 to 15 are all “division targets”, but the number of models is equal to or less than the reference integration index 305. Therefore, in S39, the division flag of the division rectangles 8 to 15 in the division rectangle data list 303 is set to “non-division target”. Is changed. The flow returns to S37.
- the divided rectangle data list 303 at this time is as shown in the example in FIG. That is, in the divided rectangle data list 303, the divided rectangle 0 and the model L correspond to each other.
- the divided rectangle 1 corresponds to the models C and D.
- the divided rectangle 2 corresponds to the model O.
- the divided rectangle 3 and the model P correspond to each other.
- the divided rectangle 4 and the model K correspond to each other.
- the divided rectangle 5 corresponds to the models B and E.
- the divided rectangle 6 and the model F correspond to each other.
- the divided rectangle 8 corresponds to the model J.
- the divided rectangle 9 corresponds to the model A.
- the divided rectangle 10 and the model M correspond to each other.
- the divided rectangle 11 and the model N correspond to each other.
- the divided rectangle 12 corresponds to the models G and H.
- the divided rectangle 13 corresponds to the model I.
- the merging unit 152 adds an integration flag to the divided rectangular data list 303.
- the integration flag is a flag indicating whether each divided rectangle is “to be integrated” or “not to be integrated”.
- the merging unit 152 sets the integration flag of all the divided rectangles to “integration target”.
- S43 and S44 are the integration determination 333 described above.
- S46 is the above-described peripheral search 334.
- S47 is the divided rectangle integration 335 described above.
- S43 to S48 are repeatedly executed until all the divided rectangles become “not integrated”.
- the merging unit 152 searches the divided rectangle data list 303 for one divided rectangle which is the “integration target”.
- the merging unit 152 determines whether the number of models corresponding to the “integration target” divided rectangle is equal to or greater than the reference integration index 305.
- the merging unit 152 sets the integration flag of the divided rectangle in the divided rectangle data list 303 to “not integrated”. The flow returns to S43.
- the merging unit 152 searches for other division rectangles that can be integrated from the periphery of the division rectangle.
- the other division rectangles that can be integrated are partly shared by the division rectangle and the number of corresponding models added to the number of models corresponding to the division rectangle is equal to or less than the reference integration index 305 And a divided rectangle that satisfies the condition of “integration target”.
- the merging unit 152 integrates the divided rectangle and another divided rectangle that can be integrated.
- two divided rectangle ranges are merged to create one divided rectangle.
- the model that has been distributed to the original two divided rectangles is distributed to the one divided rectangle.
- the merging unit 152 sets the integration flag of the divided rectangle created in S47 to “integration target”. The flow returns to S43.
- one divided rectangle which is the “integration target” is searched from the divided rectangle data list 303.
- all the divided rectangles in the divided rectangle data list 303 are “integration targets”, and it is assumed that the divided rectangle 0 is searched. Since the number of models corresponding to the divided rectangle 0 is 1, it is determined in S44 that the number of models is smaller than “2” that is the reference integrated index 305.
- the divided rectangle 4 is searched in S46.
- S47 as shown in FIG. 35, the divided rectangle 0 and the divided rectangle 4 are merged, and the divided rectangle 16 is created. The divided rectangles 0 and 4 are deleted.
- the integration flag of the divided rectangle 16 in the divided rectangle data list 303 is set to “integration target”. The flow returns to S43.
- the divided rectangle data list 303 at this time is as shown in FIG.
- the divided rectangle 1 is searched in the next S43. Since the number of models corresponding to the divided rectangle 1 is two, it is determined in S44 that the number of models is “2” or more which is the reference integrated index 305. In S45, the integration flag of the divided rectangle 1 in the divided rectangle data list 303 is changed to “not integrated”. The flow returns to S43.
- the divided rectangle 2 is searched in the next S43. Since the number of models corresponding to the divided rectangle 2 is one, it is determined in S44 that the number of models is smaller than “2” which is the reference integrated index 305. It is assumed that the divided rectangles 3 and 6 satisfy the conditions of other divided rectangles that can be integrated, but the divided rectangle 3 is searched in S46. In S47, the divided rectangle 2 and the divided rectangle 3 are merged, and the divided rectangle 17 is created. The divided rectangles 2 and 3 are deleted. In S48, the integration flag of the divided rectangle 17 in the divided rectangle data list 303 is set to “integration target”. The flow returns to S43.
- the divided rectangle 5 is searched in the next S43. Since the number of models corresponding to the divided rectangle 5 is two, it is determined in S44 that the number of models is “2” or more which is the reference integrated index 305. In S45, the integration flag of the divided rectangle 5 in the divided rectangle data list 303 is changed to “not integrated”. The flow returns to S43.
- the divided rectangle 6 and the divided rectangle 10 are merged and the divided rectangle 18 is created as shown in the example shown in FIG.
- the divided rectangle 8 and the divided rectangle 9 are merged to create a divided rectangle 19.
- the divided rectangle 11 and the divided rectangle 14 are merged to create a divided rectangle 20.
- the integration flag of the divided rectangle 12 in the divided rectangle data list 303 is changed to “not integrated”.
- the divided rectangle 13 and the divided rectangle 15 are merged to create a divided rectangle 21.
- the divided rectangle data list 303 at this point is as shown in the example in FIG.
- the integration flag of the divided rectangles 16 to 19 in the divided rectangle data list 303 is changed to “not integrated”. As shown in the example shown in FIG. 39, the divided rectangle 20 and the divided rectangle 21 are merged to create a divided rectangle 22. Thereafter, the integration flag of the divided rectangle 22 in the divided rectangle data list 303 is also changed to “not integrated”. The flow returns to S43.
- the divided rectangle data list 303 at this time is as shown in FIG. That is, in the divided rectangle data list 303, the divided rectangle 1 corresponds to the models C and D.
- the divided rectangle 5 corresponds to the models B and E.
- the divided rectangle 12 corresponds to the models G and H.
- the divided rectangle 16 corresponds to the models L and K.
- the divided rectangle 17 corresponds to the models O and P.
- the divided rectangle 18 corresponds to the models F and M.
- the divided rectangle 19 corresponds to the models J and A.
- the divided rectangle 22 corresponds to the models N and I.
- S49 is the same as S16 in the first embodiment. S 49 is executed for each divided rectangle in the divided rectangle data list 303.
- the calculation unit 124 combines the circumscribed rectangle of the model B and the circumscribed rectangle of the model E to obtain an inclusion rectangle.
- the calculation unit 124 similarly obtains an inclusion rectangle for the divided rectangles 12, 16 to 19, and 22. Each inclusion rectangle is as shown in FIG. After calculating the inclusion rectangle, the calculation unit 124 changes the range of the divided rectangle in the divided rectangle data list 303 to the range of the inclusion rectangle.
- the divided rectangle data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the inclusion of divided rectangle 1 and ("west end of circumscribed rectangle C", "south end of circumscribed rectangle D") to ("east end of circumscribed rectangle D", "north end of circumscribed rectangle C").
- the rectangle corresponds.
- the division rectangle 5 corresponds to ("west end of the circumscribed rectangle B", “south end of the circumscribed rectangle B") to ("east end of the circumscribed rectangle E", "north end of the circumscribed rectangle B").
- the divided rectangles 12 correspond to the inclusion rectangles (“west end of circumscribed rectangle G”, “south end of circumscribed rectangle G”) to (“east end of circumscribed rectangle H”, “north end of circumscribed rectangle G”).
- the divided rectangles 16 correspond to the inclusion rectangles (“west end of the circumscribed rectangle K”, “south end of the circumscribed rectangle L”) to (“east end of the circumscribed rectangle L”, “north end of the circumscribed rectangle K”).
- the divided rectangles 17 correspond to the inclusion rectangles (“west end of circumscribed rectangle O”, “south end of circumscribed rectangle P”) to (“east end of circumscribed rectangle P”, “north end of circumscribed rectangle O”).
- the divided rectangles 18 correspond to (“the west end of the circumscribed rectangle F”, “the south end of the circumscribed rectangle F”) to (“the east end of the circumscribed rectangle M”, “the north end of the circumscribed rectangle M”).
- the divided rectangles 19 correspond to ("west end of the circumscribed rectangle A", “south end of the circumscribed rectangle A") to ("east end of the circumscribed rectangle A", "increased rectangle of the circumscribed rectangle A”).
- the divided rectangles 22 correspond to the inclusion rectangles (“West end of circumscribed rectangle N”, “South end of circumscribed rectangle I”) to (“East end of circumscribed rectangle I”, “North end of circumscribed rectangle N”).
- the model data processing system 100 may be configured by the DA 102, the mobile terminal 103, and the server device 104 as in the second embodiment.
- the number of models in the divided rectangle can be averaged to about the reference integrated index 305. That is, the number of models in the VBO registered in the real-time process 320 can be averaged. Therefore, it is possible to smooth the load of the three-dimensional rendering process performed in the model rendering 326.
- the number of models that can be allocated to one divided rectangle can be reduced by subdivision. Therefore, the time required for the VBO registration process can be reduced as compared with the case where many models are distributed to some of the divided rectangles.
- the present embodiment it is possible to eliminate divided rectangles with few assigned models by integration. For this reason, the number of registrations in the VBO can be reduced and the registration overhead can be reduced as compared with the case where there are divided rectangles with fewer assigned models. Since the integration is performed based on the reference integration index 305, a situation in which many models are assigned to one VBO by re-division can be avoided.
- the navigation device 101 which is a device constituting the model data processing system 100 according to the first and third embodiments will be described.
- the navigation device 101 is a computer.
- the navigation device 101 includes hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906.
- the processor 901 is connected to other hardware via the signal line 910, and controls these other hardware.
- the input interface 905 is connected to the input device 907.
- the display interface 906 is connected to the display 908.
- the processor 901 is an IC (Integrated Circuit) that performs processing.
- the processor 901 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
- the auxiliary storage device 902 is, for example, a ROM (Read / Only / Memory), a flash memory, or an HDD (Hard / Disk / Drive).
- the database 111 can be implemented by the auxiliary storage device 902.
- the memory 903 is, for example, a RAM (Random Access Memory).
- the management memory 112 and the drawing memory 113 can be implemented by the memory 903.
- the communication device 904 includes a receiver 921 that receives data and a transmitter 922 that transmits data.
- the communication device 904 is, for example, a communication chip or a NIC (Network, Interface, Card).
- the input interface 905 is a port to which the cable 911 of the input device 907 is connected.
- the input interface 905 is, for example, a USB (Universal / Serial / Bus) terminal.
- the display interface 906 is a port to which the cable 912 of the display 908 is connected.
- the display interface 906 is, for example, a USB terminal or an HDMI (registered trademark) (High Definition, Multimedia, Interface) terminal.
- the input device 907 is, for example, a mouse, a touch pen, a keyboard, or a touch panel.
- the display 908 is, for example, an LCD (Liquid / Crystal / Display).
- the auxiliary storage device 902 includes “parts” such as an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, a subdivision unit 151, and a merge unit 152. ”Is stored. This program is loaded into the memory 903, read into the processor 901, and executed by the processor 901.
- the auxiliary storage device 902 also stores an OS (Operating System). At least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS.
- OS Operating System
- one processor 901 is shown, but the navigation apparatus 101 may include a plurality of processors 901.
- a plurality of processors 901 may execute a program for realizing the function of “unit” in cooperation with each other.
- auxiliary storage device 902 Information, data, signal values, and variable values indicating the processing results of “unit” are stored in the auxiliary storage device 902, the memory 903, or a register or cache memory in the processor 901.
- Parts may be provided on “Circuits”. Further, “part” may be read as “circuit”, “process”, “procedure”, or “processing”. “Circuit” and “Circuitry” include not only the processor 901 but also other logic ICs, GA (Gate-Array), ASIC (Application-Specific-Integrated-Circuit), FPGA (Field-Programmable-Gate-Array), etc. It is a concept that includes various types of processing circuits.
- the same hardware configuration as that shown in FIG. 43 can also be applied to the mobile terminal 103 and the server device 104 that are devices constituting the model data processing system 100 according to the second embodiment.
- 100 model data processing system 101 navigation device, 102 DA, 103 mobile terminal, 104 server device, 105 network, 111 database, 112 management memory, 113 drawing memory, 121 acquisition unit, 122 division unit, 123 distribution unit, 124 Calculation unit, 131 determination unit, 132 extraction unit, 133 integration unit, 134 rendering unit, 141 transmission unit, 142 reception unit, 151 subdivision unit, 152 merge unit, 201 data, 211 first list, 212 second list, 301 Model data, 302 Standard number of divisions, 303 Division rectangle data list, 304 Acquired division rectangle list, 305 Reference integration index, 310 Preprocessing, 311 Model data acquisition, 312 Information acquisition, 313 Management rectangle Split, 314 reference position calculation, 315 model distribution, 316 inclusion rectangle calculation, 320 real-time processing, 321 display range determination, 322 overlap determination, 323 acquired data determination, 324 divided rectangle data acquisition, 325 model integration, 326 model rendering, 331 Division determination, 332 division rectangle re-division, 333 integration determination,
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Instructional Devices (AREA)
Abstract
In a navigation device (101), a segmenting unit (122) segments a map region and sets a plurality of segment regions. An allocation unit (123) allocates a plurality of models to the plurality of segment regions, and creates a first list (211) which shows correspondences between each of the plurality of segment regions and the allocated models. A computing unit (124) computes, with respect to the segment regions in the first list (211) corresponding to at least one of the models, inclusion regions in the map region which include the at least one of the models, and creates a second list (212) which shows correspondences between each of the plurality of segment regions and the computed inclusion regions. An extraction unit (132) extracts, from the second list (212), as render regions, the segment regions which correspond to the inclusion regions which overlap at least partially with a display range of the map region. An integration unit (133) integrates as appropriate the models in the first list (211) corresponding to the render regions, and stores data (201) of the models in a memory for rendering (113).
Description
本発明は、モデルデータ処理システム及び描画方法及びモデルデータ処理プログラムに関するものである。本発明は、例えば、モデルデータ統合装置に関するものである。
The present invention relates to a model data processing system, a drawing method, and a model data processing program. The present invention relates to a model data integration device, for example.
従来、疑似3次元空間の底面を規定する複数のブロックからなる地図に対する地形の描画処理を行う技術がある(例えば、特許文献1参照)。
Conventionally, there is a technique for performing topographic drawing processing on a map composed of a plurality of blocks that define the bottom surface of a pseudo three-dimensional space (for example, see Patent Document 1).
従来技術では、複数のブロックのうち、地図表示範囲と重なっていると判定されたブロックのみに対して、地形の描画処理が施される。ブロックは、全て同じサイズである。
In the prior art, a terrain rendering process is performed only on a block determined to overlap the map display range among a plurality of blocks. The blocks are all the same size.
ブロックごとに描画処理を行う場合、描画処理高速化のために、VBO(頂点バッファオブジェクト)と呼ばれるビデオメモリ上の頂点格納領域に、ブロック内のモデルの頂点データを予め保存する手法が用いられる。この手法を上記の従来技術に適用した場合、地図が全て同じサイズのブロックに分割される。各ブロックに対し、モデルが振り分けられる。地図表示範囲にブロックが含まれるかどうかが判定される。含まれるブロックに振り分けられたモデルのみがVBOへ登録される。VBOへ登録されたモデルのみがレンダリングされる。
When drawing processing is performed for each block, a technique is used in which vertex data of a model in a block is stored in advance in a vertex storage area on a video memory called VBO (vertex buffer object) for speeding up the drawing processing. When this method is applied to the above-described conventional technique, the map is all divided into blocks of the same size. A model is assigned to each block. It is determined whether a block is included in the map display range. Only models distributed to the included blocks are registered in the VBO. Only models registered in VBO are rendered.
ブロックからモデルがはみ出している場合には、ブロックが地図表示範囲外でも、モデルの一部が地図表示範囲内にあることがある。しかし、そのようなモデルはVBOへ登録されない。その結果、地図表示範囲内の地形の一部が表示されないことになる。
If the model protrudes from the block, part of the model may be within the map display range even if the block is outside the map display range. However, such a model is not registered with VBO. As a result, a part of the terrain within the map display range is not displayed.
本発明は、表示されるべき物体を表すモデルを確実にレンダリングできるようにすることを目的とする。
An object of the present invention is to ensure that a model representing an object to be displayed can be rendered.
本発明の一の態様に係るモデルデータ処理システムは、
地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する取得部と、
前記地図領域を分割して複数の分割領域を設定する分割部と、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する振り分け部と、
前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記取得部により取得された前記複数のモデルのデータをレンダリングするための情報として出力する算出部とを備える。 A model data processing system according to one aspect of the present invention includes:
An acquisition unit for acquiring data of a plurality of models each representing an object existing in the map area;
A dividing unit configured to divide the map area and set a plurality of divided areas;
Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas, and a first list indicating correspondence between each of the plurality of divided areas and the distributed model is a management memory A distribution unit to be stored in
Obtaining the first list from the management memory, and for a divided area corresponding to at least one model in the first list, an inclusion area including the at least one model in the map area A calculation unit that calculates and outputs a second list indicating correspondence between each of the plurality of divided regions and the calculated inclusion region as information for rendering the data of the plurality of models acquired by the acquisition unit; Is provided.
地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する取得部と、
前記地図領域を分割して複数の分割領域を設定する分割部と、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する振り分け部と、
前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記取得部により取得された前記複数のモデルのデータをレンダリングするための情報として出力する算出部とを備える。 A model data processing system according to one aspect of the present invention includes:
An acquisition unit for acquiring data of a plurality of models each representing an object existing in the map area;
A dividing unit configured to divide the map area and set a plurality of divided areas;
Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas, and a first list indicating correspondence between each of the plurality of divided areas and the distributed model is a management memory A distribution unit to be stored in
Obtaining the first list from the management memory, and for a divided area corresponding to at least one model in the first list, an inclusion area including the at least one model in the map area A calculation unit that calculates and outputs a second list indicating correspondence between each of the plurality of divided regions and the calculated inclusion region as information for rendering the data of the plurality of models acquired by the acquisition unit; Is provided.
本発明では、複数の分割領域のそれぞれと複数のモデルのそれぞれとの対応を示す第1リストだけでなく、複数の分割領域のそれぞれと少なくとも1個のモデルを包含する包含領域との対応を示す第2リストが提供される。このため、地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出することができる。描画領域と対応しているモデルは、表示されるべき物体を表すモデルである。よって、本発明によれば、表示されるべき物体を表すモデルを確実にレンダリングできるようになる。
In the present invention, not only the first list showing the correspondence between each of the plurality of divided regions and each of the plurality of models, but also the correspondence between each of the plurality of divided regions and the inclusion region including at least one model is shown. A second list is provided. For this reason, the divided area corresponding to the inclusion area at least partially overlapping the display range of the map area can be extracted as the drawing area. The model corresponding to the drawing area is a model representing an object to be displayed. Therefore, according to the present invention, a model representing an object to be displayed can be reliably rendered.
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is attached | subjected to the part which is the same or it corresponds in each figure. In the description of the embodiments, the description of the same or corresponding parts will be omitted or simplified as appropriate.
実施の形態1.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。Embodiment 1 FIG.
The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。
The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order.
***構成の説明***
図1を参照して、本実施の形態に係るシステムであるモデルデータ処理システム100の構成を説明する。 *** Explanation of configuration ***
With reference to FIG. 1, the structure of the modeldata processing system 100 which is a system based on this Embodiment is demonstrated.
図1を参照して、本実施の形態に係るシステムであるモデルデータ処理システム100の構成を説明する。 *** Explanation of configuration ***
With reference to FIG. 1, the structure of the model
モデルデータ処理システム100は、ナビゲーション装置101で構成される。
The model data processing system 100 includes a navigation device 101.
ナビゲーション装置101は、車両に搭載される。
Navigation device 101 is mounted on a vehicle.
ナビゲーション装置101は、入力装置907と、ディスプレイ908とを備える。
The navigation device 101 includes an input device 907 and a display 908.
入力装置907は、車両の運転手等のユーザにより操作される。入力装置907は、具体的には、操作ボタンである。なお、入力装置907は、ディスプレイ908と一体のタッチパネル、或いは、操作ボタン及びタッチパネルの組み合わせであってもよい。
The input device 907 is operated by a user such as a vehicle driver. Specifically, the input device 907 is an operation button. Note that the input device 907 may be a touch panel integrated with the display 908 or a combination of operation buttons and a touch panel.
ディスプレイ908は、地図を表示する。地図は、具体的には、3次元地図である。なお、地図は、2次元地図等、他の種類の地図であってもよい。
Display 908 displays a map. The map is specifically a three-dimensional map. The map may be another type of map such as a two-dimensional map.
図2を参照して、モデルデータ処理システム100の詳細構成を説明する。
The detailed configuration of the model data processing system 100 will be described with reference to FIG.
ナビゲーション装置101は、データベース111と、管理用メモリ112と、描画用メモリ113とを備える。
The navigation device 101 includes a database 111, a management memory 112, and a drawing memory 113.
データベース111は、複数のモデルのデータ201を格納する。複数のモデルは、地図領域に存在する物体をそれぞれ表す。物体とは、地形、道路、建物といった地図オブジェクトのことである。モデルは、具体的には、3次元モデルである。なお、モデルは、2次元モデル等、他の種類のモデルであってもよい。
The database 111 stores data 201 of a plurality of models. The plurality of models respectively represent objects existing in the map area. An object is a map object such as terrain, road, or building. The model is specifically a three-dimensional model. The model may be another type of model such as a two-dimensional model.
管理用メモリ112は、後述する第1リスト211及び第2リスト212を格納するためのメモリである。管理用メモリ112は、具体的には、メインメモリである。
The management memory 112 is a memory for storing a first list 211 and a second list 212 described later. Specifically, the management memory 112 is a main memory.
描画用メモリ113は、複数のモデルのうち、描画されるモデルのデータ201を格納するためのメモリである。描画用メモリ113は、具体的には、ビデオメモリである。
The drawing memory 113 is a memory for storing data 201 of a model to be drawn among a plurality of models. Specifically, the drawing memory 113 is a video memory.
ナビゲーション装置101は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、決定部131と、抽出部132と、統合部133と、レンダリング部134とを備える。
The navigation apparatus 101 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, and a rendering unit 134.
取得部121は、前述した複数のモデルのデータ201をデータベース111から取得する。
The obtaining unit 121 obtains the data 201 of the plurality of models described above from the database 111.
分割部122は、地図領域を分割して複数の分割領域を設定する。
The dividing unit 122 divides the map area and sets a plurality of divided areas.
振り分け部123は、地図領域における複数のモデルの位置に基づいて、複数のモデルを、分割部122により設定された複数の分割領域に振り分ける。振り分け部123は、分割部122により設定された複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リスト211を作成する。振り分け部123は、作成した第1リスト211を管理用メモリ112に格納する。
The sorting unit 123 sorts the plurality of models into the plurality of divided regions set by the dividing unit 122 based on the positions of the plurality of models in the map region. The distribution unit 123 creates a first list 211 indicating the correspondence between each of the plurality of divided regions set by the division unit 122 and the distributed model. The distribution unit 123 stores the created first list 211 in the management memory 112.
本実施の形態において、振り分け部123により参照される位置は、複数のモデルのそれぞれを囲む外接矩形の中心の位置である。なお、振り分け部123により参照される位置は、モデルごとに決まる1点の位置であれば、重心又は最北端点等、任意の点の位置であってよい。
In the present embodiment, the position referred to by the distribution unit 123 is the position of the center of the circumscribed rectangle surrounding each of the plurality of models. Note that the position referred to by the distribution unit 123 may be the position of an arbitrary point such as the center of gravity or the northernmost end point as long as it is the position of one point determined for each model.
算出部124は、管理用メモリ112から第1リスト211を取得する。算出部124は、第1リスト211で少なくとも1個のモデルと対応している分割領域に対して、地図領域で当該少なくとも1個のモデルを包含する包含領域を算出する。算出部124は、分割部122により設定された複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リスト212を作成する。算出部124は、第2リスト212を、取得部121により取得された複数のモデルのデータ201をレンダリングするための情報として出力する。算出部124により出力された第2リスト212は、管理用メモリ112に格納される。
The calculation unit 124 acquires the first list 211 from the management memory 112. The calculation unit 124 calculates, for a divided region corresponding to at least one model in the first list 211, an inclusion region including the at least one model in the map region. The calculating unit 124 creates a second list 212 indicating the correspondence between each of the plurality of divided areas set by the dividing unit 122 and the calculated inclusion area. The calculation unit 124 outputs the second list 212 as information for rendering the data 201 of the plurality of models acquired by the acquisition unit 121. The second list 212 output by the calculation unit 124 is stored in the management memory 112.
本実施の形態において、算出部124により算出される包含領域は、上記少なくとも1個のモデルを囲む外接矩形である。なお、算出部124により算出される包含領域は、モデル頂点を包含するものであれば、不定形状の多角形等、任意の形状でよい。
In the present embodiment, the inclusion area calculated by the calculation unit 124 is a circumscribed rectangle surrounding the at least one model. The inclusion area calculated by the calculation unit 124 may be an arbitrary shape such as an indefinite polygon as long as it includes the model vertex.
決定部131は、地図領域の表示範囲を決定する。
The determining unit 131 determines the display range of the map area.
抽出部132は、管理用メモリ112から第2リスト212を取得する。即ち、抽出部132は、算出部124により作成された第2リスト212の入力を受ける。抽出部132は、第2リスト212から、決定部131により決定された表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する。
The extraction unit 132 acquires the second list 212 from the management memory 112. That is, the extraction unit 132 receives the input of the second list 212 created by the calculation unit 124. The extraction unit 132 extracts, from the second list 212, a divided region corresponding to an inclusion region that at least partially overlaps the display range determined by the determination unit 131 as a drawing region.
統合部133は、管理用メモリ112から第1リスト211を取得する。即ち、統合部133は、振り分け部123により作成された第1リスト211の入力を受ける。統合部133は、第1リスト211で抽出部132により抽出された描画領域と1個のモデルとが対応している場合、取得部121により取得された当該1個のモデルのデータ201を描画用メモリ113に格納する。統合部133は、第1リスト211で抽出部132により抽出された描画領域と2個以上のモデルとが対応している場合、取得部121により取得された当該2個以上のモデルのデータ201を統合し、統合したデータ201を描画用メモリ113に格納する。
The integration unit 133 acquires the first list 211 from the management memory 112. That is, the integration unit 133 receives the input of the first list 211 created by the distribution unit 123. When the drawing area extracted by the extraction unit 132 in the first list 211 corresponds to one model, the integration unit 133 uses the one model data 201 acquired by the acquisition unit 121 for drawing. Store in the memory 113. When the drawing area extracted by the extraction unit 132 in the first list 211 corresponds to two or more models, the integration unit 133 stores the data 201 of the two or more models acquired by the acquisition unit 121. The integrated data 201 is stored in the drawing memory 113.
レンダリング部134は、描画用メモリ113に格納されたデータ201をレンダリングする。これにより、ディスプレイ908の画面に、表示範囲内の物体を含むナビゲーション用の地図が表示される。
The rendering unit 134 renders the data 201 stored in the drawing memory 113. As a result, a navigation map including an object within the display range is displayed on the screen of the display 908.
図3を参照して、モデルデータ処理システム100の処理構成を説明する。
The processing configuration of the model data processing system 100 will be described with reference to FIG.
モデルデータ処理システム100により実行される処理としては、主に、前もって実行される前処理310と、モデル表示時に実行されるリアルタイム処理320とがある。
The processes executed by the model data processing system 100 mainly include a pre-process 310 that is executed in advance and a real-time process 320 that is executed when a model is displayed.
前処理310には、モデルデータ取得311、情報取得312、管理矩形分割313、基準位置算出314、モデル振り分け315、包含矩形算出316といった処理が含まれる。モデルデータ取得311は、取得部121により実行される。情報取得312及び管理矩形分割313は、分割部122により実行される。基準位置算出314及びモデル振り分け315は、振り分け部123により実行される。包含矩形算出316は、算出部124により実行される。
The preprocessing 310 includes processing such as model data acquisition 311, information acquisition 312, management rectangle division 313, reference position calculation 314, model distribution 315, and inclusion rectangle calculation 316. The model data acquisition 311 is executed by the acquisition unit 121. The information acquisition 312 and the management rectangle division 313 are executed by the division unit 122. The reference position calculation 314 and the model distribution 315 are executed by the distribution unit 123. The inclusion rectangle calculation 316 is executed by the calculation unit 124.
モデルデータ取得311は、データベース111からモデルデータ301を取得する処理である。モデルデータ301は、前述した複数のモデルのデータ201に相当する。
The model data acquisition 311 is a process for acquiring the model data 301 from the database 111. The model data 301 corresponds to the data 201 of a plurality of models described above.
情報取得312は、データベース111に格納されている全モデルデータ301の地図範囲である管理矩形を取得する処理である。管理矩形は、前述した地図領域に相当する。
Information acquisition 312 is a process of acquiring a management rectangle that is a map range of all model data 301 stored in the database 111. The management rectangle corresponds to the map area described above.
管理矩形分割313は、情報取得312で取得された管理矩形を基準分割数302に従って分割し、分割矩形を作成する処理である。分割矩形は、前述した分割領域に相当する。
The management rectangle division 313 is a process of dividing the management rectangle acquired by the information acquisition 312 according to the reference division number 302 to create a divided rectangle. The divided rectangle corresponds to the divided area described above.
基準位置算出314は、モデルデータ取得311で取得されたモデルデータ301から振り分け基準位置を算出する処理である。振り分け基準位置は、前述した振り分け部123により参照される位置に相当する。
The reference position calculation 314 is a process of calculating the sorting reference position from the model data 301 acquired by the model data acquisition 311. The sorting reference position corresponds to a position referred to by the sorting unit 123 described above.
モデル振り分け315は、基準位置算出314で算出された振り分け基準位置を基に、管理矩形分割313で作成された分割矩形にモデルを振り分け、分割矩形データリスト303を作成する処理である。分割矩形データリスト303は、分割矩形ごとに、振り分けられたモデルを示すリストである。分割矩形データリスト303は、前述した第1リスト211に相当する。
The model sorting 315 is a process of creating a divided rectangle data list 303 by assigning a model to the divided rectangle created by the management rectangle division 313 based on the sorting reference position calculated by the reference position calculation 314. The divided rectangle data list 303 is a list showing models distributed for each divided rectangle. The divided rectangle data list 303 corresponds to the first list 211 described above.
包含矩形算出316は、データベース111の中の全モデルデータ301に対応するモデルの振り分けがモデル振り分け315で完了した後、分割矩形データリスト303に含まれる分割矩形ごとに包含矩形を算出する処理である。包含矩形は、前述した包含領域に相当する。包含矩形算出316において、分割矩形データリスト303は、分割矩形ごとに、振り分けられたモデルだけでなく、算出された包含矩形も示すリストに変更される。変更後の分割矩形データリスト303は、第1リスト211だけでなく、前述した第2リスト212にも相当する。
The inclusion rectangle calculation 316 is a process of calculating an inclusion rectangle for each divided rectangle included in the divided rectangle data list 303 after the model distribution corresponding to all the model data 301 in the database 111 is completed in the model distribution 315. . The inclusion rectangle corresponds to the inclusion region described above. In the inclusion rectangle calculation 316, the divided rectangle data list 303 is changed to a list indicating not only the distributed model but also the calculated inclusion rectangle for each divided rectangle. The changed divided rectangle data list 303 corresponds to not only the first list 211 but also the second list 212 described above.
リアルタイム処理320には、表示範囲決定321、重複判定322、取得済データ判定323、分割矩形データ取得324、モデル統合325、モデルレンダリング326といった処理が含まれる。表示範囲決定321は、決定部131により実行される。重複判定322及び取得済データ判定323及び分割矩形データ取得324は、抽出部132により実行される。モデル統合325は、統合部133により実行される。モデルレンダリング326は、レンダリング部134により実行される。
The real-time processing 320 includes processing such as display range determination 321, overlap determination 322, acquired data determination 323, divided rectangle data acquisition 324, model integration 325, model rendering 326. The display range determination 321 is executed by the determination unit 131. The duplication determination 322, the acquired data determination 323, and the divided rectangle data acquisition 324 are executed by the extraction unit 132. The model integration 325 is executed by the integration unit 133. The model rendering 326 is executed by the rendering unit 134.
表示範囲決定321は、表示範囲を決定する処理である。
The display range determination 321 is a process for determining the display range.
重複判定322は、分割矩形データリスト303内の全包含矩形と表示範囲決定321で決定された表示範囲との重なりを判定し、重複分割矩形を求める処理である。重複分割矩形は、前述した描画領域に相当する。
The overlap determination 322 is a process for determining the overlap between all the inclusion rectangles in the divided rectangle data list 303 and the display range determined by the display range determination 321 and obtaining the overlap divided rectangle. The overlapping divided rectangle corresponds to the drawing area described above.
取得済データ判定323は、取得済分割矩形リスト304に格納されておらず、重複判定322で求められた重複分割矩形である分割矩形を取得済分割矩形リスト304に加える処理である。
The acquired data determination 323 is a process of adding a divided rectangle that is not stored in the acquired divided rectangle list 304 and is an overlapping divided rectangle obtained in the overlap determination 322 to the acquired divided rectangle list 304.
分割矩形データ取得324は、取得済データ判定323で取得済分割矩形リスト304に加えられた分割矩形に対応する全てのモデルを分割矩形データリスト303から抽出し、抽出したモデルに対応するモデルデータ301を取得する処理である。
The divided rectangle data acquisition 324 extracts all models corresponding to the divided rectangle added to the acquired divided rectangle list 304 in the acquired data determination 323 from the divided rectangle data list 303, and the model data 301 corresponding to the extracted model. It is a process to acquire.
モデル統合325は、分割矩形データ取得324で取得されたモデルデータ301を分割矩形ごとに統合し、統合後のモデルデータ301を描画用メモリ113に登録する処理である。
The model integration 325 is a process of integrating the model data 301 acquired by the divided rectangle data acquisition 324 for each divided rectangle and registering the integrated model data 301 in the drawing memory 113.
モデルレンダリング326は、モデル統合325で登録されたモデルデータ301の3次元レンダリングである。
The model rendering 326 is a three-dimensional rendering of the model data 301 registered by the model integration 325.
***動作の説明***
図4及び図5を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。 *** Explanation of operation ***
The operation of the modeldata processing system 100 will be described with reference to FIGS. The operation of the model data processing system 100 corresponds to the drawing method according to the present embodiment. The operation of the model data processing system 100 corresponds to the processing procedure of the model data processing program according to the present embodiment.
図4及び図5を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。 *** Explanation of operation ***
The operation of the model
本実施の形態では、図6に示す例の通り、使用する座標系が緯度経度座標である。単位は、度である。管理矩形は、四辺が経緯線に平行で、南西端座標が(0,0)、北東端座標が(16,12)の矩形範囲である。データベース111には、モデルA~Pの計16個のモデルが含まれる。A~Pは、モデルID(識別子)である。基準分割数302は、横方向が「4」、縦方向が「3」である。取得済分割矩形リスト304は、空である。なお、モデルは3次元頂点からなる立体であるが、本実施の形態では、モデルが2次元の緯度経度平面に投影したデータとして扱われる。なお、管理矩形の大きさ、基準分割数302、モデルの個数、形状、大きさ、位置等は、適宜変更することができる。
In this embodiment, as shown in FIG. 6, the coordinate system to be used is latitude / longitude coordinates. The unit is degrees. The management rectangle is a rectangular range in which the four sides are parallel to the graticule, the southwest end coordinate is (0, 0), and the northeast end coordinate is (16, 12). The database 111 includes a total of 16 models A to P. A to P are model IDs (identifiers). The reference division number 302 is “4” in the horizontal direction and “3” in the vertical direction. The acquired divided rectangle list 304 is empty. Note that the model is a three-dimensional solid body, but in the present embodiment, the model is treated as data projected onto a two-dimensional latitude / longitude plane. The size of the management rectangle, the reference division number 302, the number of models, the shape, size, position, and the like can be changed as appropriate.
図4は、前処理310の手順を示している。
FIG. 4 shows the procedure of the pre-processing 310.
S11は、前述した情報取得312である。
S11 is the information acquisition 312 described above.
S11において、分割部122は、データベース111から管理矩形の範囲が(0,0)~(16,12)であることを示す情報を取得する。
In S11, the dividing unit 122 acquires information indicating that the range of the management rectangle is (0, 0) to (16, 12) from the database 111.
S12は、前述した管理矩形分割313である。
S12 is the management rectangle division 313 described above.
S12において、分割部122は、基準分割数302に従い、管理矩形を分割する。基準分割数302は、横方向が「4」、縦方向が「3」である。そのため、分割部122は、管理矩形を横方向に4分割、縦方向に3分割し、分割矩形集合を作成する。この場合、図7に示す例の通り、分割矩形0~11の計12個の分割矩形ができる。各分割矩形の範囲は、図8に示す例の通りである。
In S12, the dividing unit 122 divides the management rectangle according to the reference division number 302. The reference division number 302 is “4” in the horizontal direction and “3” in the vertical direction. Therefore, the dividing unit 122 divides the management rectangle into four parts in the horizontal direction and three parts in the vertical direction to create a divided rectangle set. In this case, as shown in the example shown in FIG. 7, a total of 12 divided rectangles of divided rectangles 0 to 11 are formed. The range of each divided rectangle is as shown in FIG.
S13は、前述したモデルデータ取得311である。
S13 is the model data acquisition 311 described above.
S13において、取得部121は、データベース111から全モデルデータ301であるモデルA~Pのモデルデータ301を取得する。
In S13, the acquisition unit 121 acquires the model data 301 of the models A to P, which is all model data 301, from the database 111.
S14は、前述した基準位置算出314である。S15は、前述したモデル振り分け315である。S14及びS15は、S13でモデルデータ301が取得されたモデルごとに実行される。
S14 is the reference position calculation 314 described above. S15 is the model distribution 315 described above. S14 and S15 are executed for each model for which the model data 301 has been acquired in S13.
S14において、振り分け部123は、振り分け基準位置を算出する。本実施の形態において、振り分け基準位置は、モデルの外接矩形の中心の位置である。前述したように、振り分け基準位置は、モデル頂点群の重心等、モデルの基準となる任意の1点でよい。各モデルの外接矩形及び振り分け基準位置は、図9に示す例の通りである。
In S14, the distribution unit 123 calculates a distribution reference position. In the present embodiment, the sorting reference position is the center position of the circumscribed rectangle of the model. As described above, the sorting reference position may be an arbitrary point that serves as a model reference, such as the center of gravity of the model vertex group. The circumscribed rectangle and distribution reference position of each model are as shown in the example shown in FIG.
外接矩形の南西端は、(「モデルを構成する全頂点の経度の最小値」,「モデルを構成する全頂点の緯度の最小値」)である。外接矩形の北東端は、(「モデルを構成する全頂点の経度の最大値」,「モデルを構成する全頂点の緯度の最大値」)である。外接矩形の中心は、((「南西端経度」+「北東端経度」)/2,(「南西端緯度」+「北東端緯度」)/2)である。
The southwestern edge of the circumscribed rectangle is (“minimum value of longitude of all vertices constituting the model”, “minimum value of latitude of all vertices constituting the model”). The northeastern end of the circumscribed rectangle is (“maximum longitude of all vertices constituting the model”, “maximum latitude of all vertices constituting the model”). The center of the circumscribed rectangle is (("Southwest edge longitude" + "Northeast edge longitude") / 2, ("Southwest edge latitude" + "Northeast edge latitude") / 2).
S15のモデル振り分け315において、振り分け部123は、S14で算出した振り分け基準位置を基に、モデルを分割矩形に振り分ける。振り分け部123は、分割矩形0から始める。振り分け部123は、振り分け基準位置が分割矩形に含まれるかを判定する。振り分け部123は、振り分け基準位置が含まれると判定した分割矩形を振り分け対象分割矩形とする。振り分け基準位置が分割矩形に含まれるかは、振り分け基準位置が分割矩形の南西端より北東側にあり、かつ、分割矩形の北東端より南西側にあるかで判定できる。振り分け対象分割矩形が判明後、振り分け部123は、分割矩形の範囲とモデルIDとをセットにし、分割矩形データリスト303へ追加する。
In the model distribution 315 in S15, the distribution unit 123 distributes the model into divided rectangles based on the distribution reference position calculated in S14. The distribution unit 123 starts from the divided rectangle 0. The distribution unit 123 determines whether the distribution reference position is included in the divided rectangle. The distribution unit 123 sets the divided rectangle determined to include the distribution reference position as the distribution target divided rectangle. Whether the sorting reference position is included in the divided rectangle can be determined based on whether the sorting reference position is located on the northeastern side of the divided rectangle and on the southwest side of the divided rectangle. After the allocation target divided rectangle is found, the distribution unit 123 sets the range of the divided rectangle and the model ID, and adds the set to the divided rectangle data list 303.
全モデルについてS14及びS15の処理が実行された後、分割矩形データリスト303は、図10に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形0とモデルLとが対応している。分割矩形1とモデルC,Dとが対応している。分割矩形2とモデルOとが対応している。分割矩形3とモデルPとが対応している。分割矩形4とモデルKとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形6とモデルFとが対応している。分割矩形7とモデルG,H,Iとが対応している。分割矩形8とモデルJとが対応している。分割矩形9とモデルAとが対応している。分割矩形10とモデルMとが対応している。分割矩形11とモデルNとが対応している。
After the processing of S14 and S15 is executed for all models, the divided rectangular data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the divided rectangle 0 and the model L correspond to each other. The divided rectangle 1 corresponds to the models C and D. The divided rectangle 2 corresponds to the model O. The divided rectangle 3 and the model P correspond to each other. The divided rectangle 4 and the model K correspond to each other. The divided rectangle 5 corresponds to the models B and E. The divided rectangle 6 and the model F correspond to each other. The divided rectangle 7 corresponds to the models G, H, and I. The divided rectangle 8 corresponds to the model J. The divided rectangle 9 corresponds to the model A. The divided rectangle 10 and the model M correspond to each other. The divided rectangle 11 and the model N correspond to each other.
S16は、前述した包含矩形算出316である。S16は、分割矩形データリスト303内の分割矩形ごとに実行される。
S16 is the inclusion rectangle calculation 316 described above. S <b> 16 is executed for each divided rectangle in the divided rectangle data list 303.
S16において、算出部124は、包含矩形を算出する。包含矩形は、分割矩形に対応する全モデルの外接矩形を合成した外接矩形である。算出部124は、分割矩形に対応するモデルを、分割矩形データリスト303より特定する。即ち、算出部124は、分割矩形1については、モデルCの外接矩形とモデルDの外接矩形とを合成して包含矩形を求める。一方、算出部124は、分割矩形0については、モデルLの外接矩形をそのまま包含矩形とする。算出部124は、分割矩形2~11についても、同じように包含矩形を求める。各包含矩形は、図11に示す例の通りである。包含矩形算出後、算出部124は、分割矩形データリスト303内の分割矩形の範囲を包含矩形の範囲に変更する。
In S16, the calculation unit 124 calculates an inclusion rectangle. The inclusion rectangle is a circumscribed rectangle obtained by combining the circumscribed rectangles of all models corresponding to the divided rectangle. The calculation unit 124 specifies a model corresponding to the divided rectangle from the divided rectangle data list 303. That is, for the divided rectangle 1, the calculation unit 124 combines the circumscribed rectangle of the model C and the circumscribed rectangle of the model D to obtain an inclusion rectangle. On the other hand, for the divided rectangle 0, the calculation unit 124 directly uses the circumscribed rectangle of the model L as an inclusion rectangle. The calculation unit 124 similarly obtains an inclusion rectangle for the divided rectangles 2 to 11 as well. Each inclusion rectangle is as the example shown in FIG. After calculating the inclusion rectangle, the calculation unit 124 changes the range of the divided rectangle in the divided rectangle data list 303 to the range of the inclusion rectangle.
全分割矩形についてS16の処理が実行された後、分割矩形データリスト303は、図12に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形0と(「外接矩形Lの西端」,「外接矩形Lの南端」)~(「外接矩形Lの東端」,「外接矩形Lの北端」)の包含矩形とが対応している。分割矩形1と(「外接矩形Cの西端」,「外接矩形Dの南端」)~(「外接矩形Dの東端」,「外接矩形Cの北端」)の包含矩形とが対応している。分割矩形2と(「外接矩形Oの西端」,「外接矩形Oの南端」)~(「外接矩形Oの東端」,「外接矩形Oの北端」)の包含矩形とが対応している。分割矩形3と(「外接矩形Pの西端」,「外接矩形Pの南端」)~(「外接矩形Pの東端」,「外接矩形Pの北端」)の包含矩形とが対応している。分割矩形4と(「外接矩形Kの西端」,「外接矩形Kの南端」)~(「外接矩形Kの東端」,「外接矩形Kの北端」)の包含矩形とが対応している。分割矩形5と(「外接矩形Bの西端」,「外接矩形Bの南端」)~(「外接矩形Eの東端」,「外接矩形Bの北端」)の包含矩形とが対応している。分割矩形6と(「外接矩形Fの西端」,「外接矩形Fの南端」)~(「外接矩形Fの東端」,「外接矩形Fの北端」)の包含矩形とが対応している。分割矩形7と(「外接矩形Gの西端」,「外接矩形Iの南端」)~(「外接矩形Iの東端」,「外接矩形Gの北端」)の包含矩形とが対応している。分割矩形8と(「外接矩形Jの西端」,「外接矩形Jの南端」)~(「外接矩形Jの東端」,「外接矩形Jの北端」)の包含矩形とが対応している。分割矩形9と(「外接矩形Aの西端」,「外接矩形Aの南端」)~(「外接矩形Aの東端」,「外接矩形Aの北端」)の包含矩形とが対応している。分割矩形10と(「外接矩形Mの西端」,「外接矩形Mの南端」)~(「外接矩形Mの東端」,「外接矩形Mの北端」)の包含矩形とが対応している。分割矩形11と(「外接矩形Nの西端」,「外接矩形Nの南端」)~(「外接矩形Nの東端」,「外接矩形Nの北端」)の包含矩形とが対応している。なお、外接矩形A~Pは、モデルA~Pの外接矩形である。
After the process of S16 is executed for all divided rectangles, the divided rectangle data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the inclusion of the divided rectangle 0 and ("the west end of the circumscribed rectangle L", "the south end of the circumscribed rectangle L") to ("the east end of the circumscribed rectangle L", "the north end of the circumscribed rectangle L"). The rectangle corresponds. The divided rectangle 1 corresponds to the inclusion rectangles (“west end of circumscribed rectangle C”, “south end of circumscribed rectangle D”) to (“east end of circumscribed rectangle D”, “north end of circumscribed rectangle C”). The division rectangle 2 corresponds to the inclusion rectangles (“West end of circumscribed rectangle O”, “South end of circumscribed rectangle O”) to (“East end of circumscribed rectangle O”, “North end of circumscribed rectangle O”). The division rectangle 3 corresponds to the inclusion rectangles (“west end of circumscribed rectangle P”, “south end of circumscribed rectangle P”) to (“east end of circumscribed rectangle P”, “north end of circumscribed rectangle P”). The division rectangle 4 corresponds to the inclusion rectangles (“west end of circumscribed rectangle K”, “south end of circumscribed rectangle K”) to (“east end of circumscribed rectangle K”, “north end of circumscribed rectangle K”). The division rectangle 5 corresponds to ("west end of the circumscribed rectangle B", "south end of the circumscribed rectangle B") to ("east end of the circumscribed rectangle E", "north end of the circumscribed rectangle B"). The divided rectangles 6 correspond to the inclusion rectangles (“West end of circumscribed rectangle F”, “South end of circumscribed rectangle F”) to (“East end of circumscribed rectangle F”, “North end of circumscribed rectangle F”). The division rectangle 7 corresponds to the inclusion rectangles (“west end of circumscribed rectangle G”, “south end of circumscribed rectangle I”) to (“east end of circumscribed rectangle I”, “north end of circumscribed rectangle G”). The division rectangle 8 corresponds to the inclusion rectangles (“west end of circumscribed rectangle J”, “south end of circumscribed rectangle J”) to (“east end of circumscribed rectangle J”, “north end of circumscribed rectangle J”). The divided rectangles 9 correspond to the inclusion rectangles (“West end of circumscribed rectangle A”, “South end of circumscribed rectangle A”) to (“East end of circumscribed rectangle A”, “North end of circumscribed rectangle A”). The division rectangle 10 corresponds to the inclusion rectangles (“west end of circumscribed rectangle M”, “south end of circumscribed rectangle M”) to (“east end of circumscribed rectangle M”, “north end of circumscribed rectangle M”). The divided rectangles 11 correspond to ("the west end of the circumscribed rectangle N", "the southern end of the circumscribed rectangle N") to ("the east end of the circumscribed rectangle N", "the northern end of the circumscribed rectangle N"). The circumscribed rectangles A to P are circumscribed rectangles of the models A to P.
図5は、リアルタイム処理320の手順を示している。
FIG. 5 shows the procedure of the real-time process 320.
S21は、前述した表示範囲決定321である。
S21 is the display range determination 321 described above.
S21において、決定部131は、入力装置907を用いたユーザのスクロール操作等によって移動する表示中心座標を基に、ディスプレイ908の画面又はその画面中のウィンドウに表示している領域である表示範囲を算出する。表示中心座標とは、画面又はウィンドウの中心の座標のことである。本実施の形態では、表示中心座標は、緯度経度座標として取得される。表示範囲は、以下の式により算出される。
In S <b> 21, the determination unit 131 determines a display range that is an area displayed on the screen of the display 908 or a window in the screen based on the display center coordinates that are moved by the user's scroll operation using the input device 907. calculate. The display center coordinates are the coordinates of the center of the screen or window. In the present embodiment, the display center coordinates are acquired as latitude and longitude coordinates. The display range is calculated by the following formula.
式中、Pcenterは表示中心座標の位置ベクトル、Peyeは視点位置座標の位置ベクトル、Uは上方向ベクトル、aspectは縦横アスペクト=「画面幅」/「画面高さ」、θは垂直視野角である。視点位置座標、上方向ベクトル、垂直視野角は、3次元モデル表示時には必ず設定が必要なパラメタである。これらのパラメタには、前もって決まっている値が使用される。PRT、PRB、PLT、PLBの標高成分が0となるようなα、β、γ、δが算出される。算出された値を上部4式に代入することで算出されるPRT、PRB、PLT、PLBがそれぞれ、画面右上、画面右下、画面左上、画面左下に対応する表示範囲の頂点座標である。各パラメタと表示範囲との関係は、図13及び図14に示す例の通りである。表示範囲は、図15に示す例の通りである。
Where P center is the position vector of the display center coordinates, P eye is the position vector of the viewpoint position coordinates, U is the upward vector, aspect is the aspect ratio = “screen width” / “screen height”, and θ is the vertical viewing angle It is. The viewpoint position coordinates, the upward vector, and the vertical viewing angle are parameters that must be set when displaying the three-dimensional model. For these parameters, predetermined values are used. Α, β, γ, and δ are calculated such that the elevation components of P RT , P RB , P LT , and P LB are zero. P RT , P RB , P LT , and P LB calculated by substituting the calculated values into the upper four equations are the vertex coordinates of the display range corresponding to the upper right of the screen, the lower right of the screen, the upper left of the screen, and the lower left of the screen, respectively. It is. The relationship between each parameter and the display range is as shown in the examples shown in FIGS. The display range is as shown in the example in FIG.
S22は、前述した重複判定322である。S23は、前述した取得済データ判定323である。S24は、前述した分割矩形データ取得324である。S25は、前述したモデル統合325である。S22からS25は、分割矩形データリスト303内の分割矩形ごとに実行される。
S22 is the duplication determination 322 described above. S23 is the acquired data determination 323 described above. S24 is the divided rectangle data acquisition 324 described above. S25 is the model integration 325 described above. S22 to S25 are executed for each divided rectangle in the divided rectangle data list 303.
S22において、抽出部132は、分割矩形データリスト303内の包含矩形の範囲と表示範囲との重なりを判定する。重なりの判定は、2つの四角形の重なりの判定手法を用いて実施することができる。その手法は自明であるため、詳細な説明は省略するが、一方の四角形の少なくとも1本の線分が他方の四角形の線分と交差するか、又は、一方の四角形の少なくとも1つの頂点が他方の四角形に包含されれば、2つの四角形が重なっていると判断できる。なお、包含矩形の代わりに、不定形状の多角形を包含領域として採用した場合でも、同様の手法を用いることができる。即ち、一方の多角形の少なくとも1本の線分が他方の多角形の線分と交差するか、又は、一方の多角形の少なくとも1つの頂点が他方の多角形に包含されれば、2つの多角形が重なっていると判断できる。
In S22, the extraction unit 132 determines the overlap between the range of the inclusion rectangle in the divided rectangle data list 303 and the display range. The determination of overlap can be performed using a method for determining the overlap of two quadrangles. Since the method is self-explanatory, detailed description is omitted, but at least one line segment of one quadrangle intersects the line segment of the other quadrangle, or at least one vertex of one square is the other It can be determined that the two rectangles overlap each other. A similar method can be used even when an indefinite polygon is used as the inclusion region instead of the inclusion rectangle. That is, if at least one line segment of one polygon intersects the line segment of the other polygon, or if at least one vertex of one polygon is included in the other polygon, It can be determined that the polygons overlap.
重なりがないと判定された場合、次の分割矩形についてS22から処理が実施される。重なりがあると判定された場合、フローはS23に進む。
If it is determined that there is no overlap, the process is performed from S22 on the next divided rectangle. If it is determined that there is an overlap, the flow proceeds to S23.
S23において、抽出部132は、S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在するか判定する。取得済分割矩形リスト304は、対応している全モデルのモデルデータ301が既にS24で取得された分割矩形を示すリストである。
In S23, the extraction unit 132 determines whether or not the divided rectangles determined to have overlap in S22 exist in the acquired divided rectangle list 304. The acquired divided rectangle list 304 is a list indicating the divided rectangles for which the model data 301 of all corresponding models has already been acquired in S24.
S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在すると判定された場合、次の分割矩形についてS22から処理が実施される。S22で重なりがあると判定された分割矩形が取得済分割矩形リスト304内に存在しないと判定された場合、フローはS24に進む。
If it is determined that the divided rectangle determined to have an overlap in S22 exists in the acquired divided rectangle list 304, the process is performed from S22 on the next divided rectangle. If it is determined that the divided rectangles determined to have overlap in S22 do not exist in the acquired divided rectangle list 304, the flow proceeds to S24.
S24において、抽出部132は、分割矩形データリスト303に登録されたモデルIDを基に、S22で重なりがあると判定された分割矩形と対応している全モデルのモデルデータ301を取得する。抽出部132は、その分割矩形を取得済分割矩形リスト304に登録する。
In S24, based on the model ID registered in the divided rectangle data list 303, the extraction unit 132 acquires model data 301 of all models corresponding to the divided rectangles determined to have an overlap in S22. The extraction unit 132 registers the divided rectangle in the acquired divided rectangle list 304.
S25において、統合部133は、S24で取得された全モデルのモデルデータ301を統合して統合モデルのモデルデータ301を作成する。ただし、S24で1個のモデルのモデルデータ301のみが取得されたのであれば、その1個のモデルのモデルデータ301が統合モデルのモデルデータ301となる。統合部133は、描画用メモリ113に統合モデルのVBOを作成する。統合部133は、統合モデルのモデルデータ301をVBOへ登録する。モデルの統合は、縮退三角形と呼ばれる一般的な技法により実現できるため、詳細な説明は省略するが、離れたモデル間を見えない三角形で結ぶことで実現できる。見えない三角形とは、3頂点が一直線上に並んだ三角形のことである。
In S25, the integration unit 133 integrates the model data 301 of all models acquired in S24, and creates model data 301 of the integrated model. However, if only the model data 301 of one model is acquired in S24, the model data 301 of the one model becomes the model data 301 of the integrated model. The integration unit 133 creates an integrated model VBO in the drawing memory 113. The integration unit 133 registers the model data 301 of the integration model in the VBO. Since model integration can be realized by a general technique called a degenerate triangle, detailed description is omitted, but it can be realized by connecting distant models with invisible triangles. An invisible triangle is a triangle whose three vertices are aligned.
ここで、分割矩形0~11の順にS22からS25の処理が実行された場合について説明する。
Here, the case where the processing from S22 to S25 is executed in the order of the divided rectangles 0 to 11 will be described.
分割矩形0については、S22で重なりがあると判定される。S23では、取得済分割矩形リスト304が空のため、分割矩形0が取得済分割矩形リスト304内に存在しないと判定される。S24では、モデルLのモデルデータ301が取得されるとともに、分割矩形0が取得済分割矩形リスト304に登録される。この時点での取得済分割矩形リスト304は、図16に示す例の通りである。S25では、モデルLのモデルデータ301が統合されず単体で描画用メモリ113のVBOへ登録される。この時点での描画用メモリ113の内容は、図17に示す例の通りである。
For the divided rectangle 0, it is determined in S22 that there is an overlap. In S23, since the acquired divided rectangle list 304 is empty, it is determined that the divided rectangle 0 does not exist in the acquired divided rectangle list 304. In S24, the model data 301 of the model L is acquired, and the divided rectangle 0 is registered in the acquired divided rectangle list 304. The acquired divided rectangle list 304 at this point is as shown in the example in FIG. In S25, the model data 301 of the model L is not integrated and is registered alone in the VBO of the drawing memory 113. The contents of the drawing memory 113 at this time are as shown in FIG.
分割矩形1については、S22で重なりがあると判定される。S23では、分割矩形1が取得済分割矩形リスト304内に存在しないと判定される。S24では、モデルC,Dのモデルデータ301が取得されるとともに、分割矩形1が取得済分割矩形リスト304に登録される。この時点での取得済分割矩形リスト304は、図18に示す例の通りである。S25では、モデルC,Dのモデルデータ301が統合され、モデルC,Dの統合モデルのモデルデータ301が描画用メモリ113のVBOへ登録される。この時点での描画用メモリ113の内容は、図19に示す例の通りである。
For the divided rectangle 1, it is determined in S22 that there is an overlap. In S23, it is determined that the divided rectangle 1 does not exist in the acquired divided rectangle list 304. In S24, the model data 301 of models C and D is acquired, and the divided rectangle 1 is registered in the acquired divided rectangle list 304. The acquired divided rectangle list 304 at this time is as shown in FIG. In S25, the model data 301 of the models C and D are integrated, and the model data 301 of the integrated model of the models C and D is registered in the VBO of the drawing memory 113. The contents of the drawing memory 113 at this time are as shown in FIG.
分割矩形2~11の全てについて、S22からS25の処理が実行されると、分割矩形2について、モデルOのモデルデータ301が描画用メモリ113のVBOへ登録され、分割矩形5について、モデルB,Eの統合モデルのモデルデータ301が描画用メモリ113のVBOへ登録される。その結果、取得済分割矩形リスト304は、図20に示す例の通りとなる。描画用メモリ113の内容は、図21に示す例の通りとなる。
When the processes of S22 to S25 are executed for all of the divided rectangles 2 to 11, the model data 301 of the model O is registered in the VBO of the drawing memory 113 for the divided rectangle 2, and the model B, The model data 301 of the E integrated model is registered in the VBO of the drawing memory 113. As a result, the acquired divided rectangle list 304 is as shown in the example shown in FIG. The contents of the drawing memory 113 are as shown in the example shown in FIG.
S26は、前述したモデルレンダリング326である。
S26 is the model rendering 326 described above.
S26において、レンダリング部134は、VBOへ登録されたモデルデータ301の3次元レンダリングを行うことで、3次元モデル表示を実現する。
In S26, the rendering unit 134 realizes a 3D model display by performing 3D rendering of the model data 301 registered in the VBO.
表示範囲が図22に示す例の通りに変更された場合のリアルタイム処理320を説明する。
The real-time processing 320 when the display range is changed as shown in the example shown in FIG. 22 will be described.
分割矩形1,2,5については、S22で重なりがあると判定されるが、S23では、分割矩形が取得済分割矩形リスト304内に存在すると判定される。そのため、S24及びS25の処理は実行されない。一方、分割矩形6については、S22で重なりがあると判定され、S23では、分割矩形が取得済分割矩形リスト304内に存在しないと判定される。そのため、S24では、モデルFのモデルデータ301が取得されるとともに、分割矩形6が取得済分割矩形リスト304に登録される。S25では、モデルFのモデルデータ301が統合されず単体で描画用メモリ113のVBOへ登録される。その結果、取得済分割矩形リスト304は、図23に示す例の通りとなる。描画用メモリ113の内容は、図24に示す例の通りとなる。
For the divided rectangles 1, 2, and 5, it is determined in S 22 that there is an overlap, but in S 23, it is determined that the divided rectangle exists in the acquired divided rectangle list 304. Therefore, the processes of S24 and S25 are not executed. On the other hand, for the divided rectangle 6, it is determined in S22 that there is an overlap, and in S23, it is determined that the divided rectangle does not exist in the acquired divided rectangle list 304. Therefore, in S24, the model data 301 of the model F is acquired, and the divided rectangle 6 is registered in the acquired divided rectangle list 304. In S25, the model data 301 of the model F is not integrated and is registered in the VBO of the drawing memory 113 as a single unit. As a result, the acquired divided rectangle list 304 is as shown in the example in FIG. The contents of the drawing memory 113 are as shown in the example shown in FIG.
このように、本実施の形態では、表示範囲の変更により新たに必要となったモデル統合及びVBO登録のみが実施される。既に作成されたVBOは、再利用可能となっている。
Thus, in the present embodiment, only model integration and VBO registration that are newly required due to a change in the display range are performed. Already created VBO can be reused.
なお、本実施の形態では、緯度経度座標系を使用しているが、一意の位置関係がわかる座標系であれば、メートル座標系等、他の座標系を使用してもよい。
In this embodiment, the latitude / longitude coordinate system is used. However, other coordinate systems such as a metric coordinate system may be used as long as the coordinate system is a unique positional relationship.
地図表示であれば、一般に表示縮尺が変更できる。よって、縮尺ごとに適した基準分割数302を設定し、表示縮尺の変更に合わせて、適用する基準分割数302を切り替えてもよい。
If it is a map display, the display scale can generally be changed. Therefore, a reference division number 302 suitable for each scale may be set, and the reference division number 302 to be applied may be switched according to a change in display scale.
本実施の形態では、1つの管理矩形のみを使用しているが、複数の管理矩形を使用し、それぞれの管理矩形を個別に分割して複数の分割矩形を設定してもよい。
In this embodiment, only one management rectangle is used, but a plurality of management rectangles may be used, and each management rectangle may be divided individually to set a plurality of division rectangles.
本実施の形態では、ナビゲーション用の地図を表示しているが、ゲーム用の地図等、他の用途の地図を表示してもよい。即ち、ナビゲーション装置101と同じ構成をゲーム装置等、他の種類の装置に適用してもよい。
In this embodiment, a navigation map is displayed, but a map for other purposes such as a game map may be displayed. That is, the same configuration as the navigation device 101 may be applied to other types of devices such as game devices.
***効果の説明***
本実施の形態では、複数の分割領域のそれぞれと複数のモデルのそれぞれとの対応を示す第1リスト211だけでなく、複数の分割領域のそれぞれと少なくとも1個のモデルを包含する包含領域との対応を示す第2リスト212が提供される。このため、地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出することができる。描画領域と対応しているモデルは、表示されるべき物体を表すモデルである。よって、本実施の形態によれば、表示されるべき物体を表すモデルを確実にレンダリングできるようになる。 *** Explanation of effects ***
In the present embodiment, not only thefirst list 211 indicating the correspondence between each of the plurality of divided regions and each of the plurality of models, but also each of the plurality of divided regions and an inclusion region including at least one model. A second list 212 showing the correspondence is provided. For this reason, the divided area corresponding to the inclusion area at least partially overlapping the display range of the map area can be extracted as the drawing area. The model corresponding to the drawing area is a model representing an object to be displayed. Therefore, according to this embodiment, a model representing an object to be displayed can be reliably rendered.
本実施の形態では、複数の分割領域のそれぞれと複数のモデルのそれぞれとの対応を示す第1リスト211だけでなく、複数の分割領域のそれぞれと少なくとも1個のモデルを包含する包含領域との対応を示す第2リスト212が提供される。このため、地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出することができる。描画領域と対応しているモデルは、表示されるべき物体を表すモデルである。よって、本実施の形態によれば、表示されるべき物体を表すモデルを確実にレンダリングできるようになる。 *** Explanation of effects ***
In the present embodiment, not only the
本実施の形態では、表示範囲と分割矩形との重なりではなく、表示範囲と包含矩形との重なりを判定した結果に応じて、分割矩形ごとにモデルデータ301をVBOへ登録する。各モデルは分割矩形からはみ出すことはあっても、包含矩形からはみ出すことはない。よって、本実施の形態によれば、表示範囲内のモデルが表示されないという事態を避けることができる。また、高速に各モデルを描画することが可能となる。
In this embodiment, the model data 301 is registered in the VBO for each divided rectangle according to the result of determining the overlap between the display range and the inclusion rectangle instead of the overlap between the display range and the divided rectangle. Each model may protrude from the divided rectangle but not from the containing rectangle. Therefore, according to the present embodiment, it is possible to avoid a situation in which a model within the display range is not displayed. In addition, each model can be drawn at high speed.
実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。 Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.
本実施の形態について、主に実施の形態1との差異を説明する。 Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.
図25を参照して、本実施の形態に係るシステムであるモデルデータ処理システム100の構成を説明する。
Referring to FIG. 25, the configuration of model data processing system 100 that is a system according to the present embodiment will be described.
モデルデータ処理システム100は、DA102(Display・Audio)と、携帯端末103と、サーバ装置104とで構成される。
The model data processing system 100 includes a DA 102 (Display / Audio), a mobile terminal 103, and a server device 104.
DA102は、車両に搭載される。
DA102 is mounted on a vehicle.
DA102は、入力装置907と、ディスプレイ908とを備える。
DA 102 includes an input device 907 and a display 908.
入力装置907及びディスプレイ908は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The input device 907 and the display 908 are the same as those provided in the navigation device 101 in the first embodiment.
携帯端末103は、車両の運転手等のユーザによって使用される。携帯端末103は、具体的には、スマートフォンである。なお、携帯端末103は、タブレット、携帯電話機、或いは、その他の種類の携帯端末であってもよい。
The portable terminal 103 is used by a user such as a vehicle driver. Specifically, the mobile terminal 103 is a smartphone. Note that the mobile terminal 103 may be a tablet, a mobile phone, or another type of mobile terminal.
サーバ装置104は、任意の場所に設置されてよいが、本実施の形態では、データセンタに設置される。
The server device 104 may be installed in an arbitrary place, but in the present embodiment, it is installed in the data center.
DA102と携帯端末103は、有線通信又は無線通信により互いにデータを送受信する。
DA 102 and mobile terminal 103 transmit and receive data to and from each other by wired communication or wireless communication.
携帯端末103とサーバ装置104は、ネットワーク105を介して互いにデータを送受信する。ネットワーク105は、具体的には、移動通信網である。なお、ネットワーク105は、移動通信網及びWAN(Wide・Area・Network)の組み合わせ、移動通信網及びインターネットの組み合わせ、或いは、その他の種類のネットワークであってもよい。
The mobile terminal 103 and the server device 104 transmit and receive data to and from each other via the network 105. Specifically, the network 105 is a mobile communication network. The network 105 may be a combination of a mobile communication network and a WAN (Wide / Area / Network), a combination of a mobile communication network and the Internet, or other types of networks.
図26を参照して、モデルデータ処理システム100の詳細構成を説明する。
The detailed configuration of the model data processing system 100 will be described with reference to FIG.
サーバ装置104は、データベース111と、管理用メモリ112とを備える。
The server device 104 includes a database 111 and a management memory 112.
データベース111及び管理用メモリ112は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The database 111 and the management memory 112 are the same as those provided in the navigation device 101 in the first embodiment.
サーバ装置104は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、送信部141とを備える。
The server device 104 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, and a transmission unit 141.
取得部121、分割部122、振り分け部123、算出部124、決定部131は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The acquisition unit 121, the division unit 122, the distribution unit 123, the calculation unit 124, and the determination unit 131 are the same as those included in the navigation device 101 in the first embodiment.
送信部141は、管理用メモリ112に格納された第1リスト211及び第2リスト212を、ネットワーク105を介して携帯端末103に送信する。
The transmission unit 141 transmits the first list 211 and the second list 212 stored in the management memory 112 to the mobile terminal 103 via the network 105.
携帯端末103は、描画用メモリ113を備える。
The mobile terminal 103 includes a drawing memory 113.
描画用メモリ113は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The drawing memory 113 is the same as that provided in the navigation device 101 in the first embodiment.
携帯端末103は、さらに、決定部131と、抽出部132と、統合部133と、レンダリング部134と、受信部142とを備える。
The portable terminal 103 further includes a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, and a reception unit 142.
決定部131、抽出部132、統合部133、レンダリング部134は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The determination unit 131, the extraction unit 132, the integration unit 133, and the rendering unit 134 are the same as those included in the navigation device 101 in the first embodiment.
受信部142は、第1リスト211及び第2リスト212を、ネットワーク105を介してサーバ装置104から受信する。受信部142は、第1リスト211を統合部133に入力する。受信部142は、第2リスト212を抽出部132に入力する。
The receiving unit 142 receives the first list 211 and the second list 212 from the server device 104 via the network 105. The receiving unit 142 inputs the first list 211 to the integrating unit 133. The receiving unit 142 inputs the second list 212 to the extracting unit 132.
レンダリング部134は、描画用メモリ113に格納されたデータ201をレンダリングする。これにより、表示範囲内の物体を含むナビゲーション用の地図のビデオデータが作成される。ビデオデータは、DA102に送信され、ディスプレイ908の画面に表示される。
The rendering unit 134 renders the data 201 stored in the drawing memory 113. Thereby, the video data of the map for navigation including the object within the display range is created. The video data is transmitted to the DA 102 and displayed on the screen of the display 908.
本実施の形態では、モデルデータ処理システム100の各部を携帯端末103及びサーバ装置104に分散して設けているが、各部の分散のしかたは適宜変更することができる。また、各部を携帯端末103のみ、或いは、サーバ装置104のみに設けることもできる。即ち、モデルデータ処理システム100は、DA102及びサーバ装置104のみ、或いは、DA102及び携帯端末103のみで構成されてもよい。モデルデータ処理システム100は、DA102、携帯端末103、サーバ装置104とは別の装置を含んでいてもよい。
In the present embodiment, each unit of the model data processing system 100 is provided in a distributed manner in the mobile terminal 103 and the server device 104, but the distribution method of each unit can be changed as appropriate. Each unit can be provided only in the mobile terminal 103 or only in the server device 104. That is, the model data processing system 100 may be configured by only the DA 102 and the server device 104 or only by the DA 102 and the mobile terminal 103. The model data processing system 100 may include a device other than the DA 102, the portable terminal 103, and the server device 104.
実施の形態3.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。主に実施の形態1との差異を説明する。 Embodiment 3 FIG.
The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order. Differences from the first embodiment will be mainly described.
本実施の形態に係るシステムの構成、本実施の形態に係るシステムの動作、本実施の形態の効果を順番に説明する。主に実施の形態1との差異を説明する。 Embodiment 3 FIG.
The configuration of the system according to the present embodiment, the operation of the system according to the present embodiment, and the effects of the present embodiment will be described in order. Differences from the first embodiment will be mainly described.
***構成の説明***
本実施の形態に係るシステムであるモデルデータ処理システム100は、図1に示した実施の形態1のものと同じように、ナビゲーション装置101で構成される。 *** Explanation of configuration ***
A modeldata processing system 100, which is a system according to the present embodiment, is composed of a navigation device 101 as in the first embodiment shown in FIG.
本実施の形態に係るシステムであるモデルデータ処理システム100は、図1に示した実施の形態1のものと同じように、ナビゲーション装置101で構成される。 *** Explanation of configuration ***
A model
図27を参照して、モデルデータ処理システム100の詳細構成を説明する。
The detailed configuration of the model data processing system 100 will be described with reference to FIG.
ナビゲーション装置101は、データベース111と、管理用メモリ112と、描画用メモリ113とを備える。
The navigation device 101 includes a database 111, a management memory 112, and a drawing memory 113.
データベース111、管理用メモリ112、描画用メモリ113は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The database 111, the management memory 112, and the drawing memory 113 are the same as those provided in the navigation device 101 in the first embodiment.
ナビゲーション装置101は、さらに、取得部121と、分割部122と、振り分け部123と、算出部124と、決定部131と、抽出部132と、統合部133と、レンダリング部134と、再分割部151と、併合部152とを備える。
The navigation device 101 further includes an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, and a re-division unit. 151 and a merging unit 152.
取得部121、分割部122、振り分け部123、算出部124、決定部131、抽出部132、統合部133、レンダリング部134は、実施の形態1でナビゲーション装置101が備えるものと同じである。
The acquisition unit 121, the division unit 122, the distribution unit 123, the calculation unit 124, the determination unit 131, the extraction unit 132, the integration unit 133, and the rendering unit 134 are the same as those included in the navigation device 101 in the first embodiment.
再分割部151は、第1リスト211で1個以上のモデルと対応しており、当該1個以上のモデルのデータ201のレンダリングにかかる処理負荷を判定するための指標が基準よりも高い分割領域を再分割する。再分割部151は、地図領域における当該1個以上のモデルの位置に基づいて、当該1個以上のモデルを再分割後の複数の分割領域に振り分け、第1リスト211を更新する。この更新は、算出部124により管理用メモリ112から第1リスト211が取得される前に行われる。よって、算出部124は、管理用メモリ112から再分割部151による更新後の第1リスト211を取得することになる。
The re-dividing unit 151 corresponds to one or more models in the first list 211, and a divided region whose index for determining the processing load for rendering the data 201 of the one or more models is higher than the reference Subdivide. Based on the position of the one or more models in the map area, the re-dividing unit 151 distributes the one or more models to the plurality of divided areas after re-division, and updates the first list 211. This update is performed before the calculation unit 124 acquires the first list 211 from the management memory 112. Therefore, the calculation unit 124 acquires the first list 211 after being updated by the re-division unit 151 from the management memory 112.
本実施の形態において、再分割部151により用いられる指標は、モデルの個数である。なお、再分割部151により用いられる指標は、モデルのデータ201のレンダリングにかかる処理負荷を判定できる指標であれば、モデルの頂点数、モデルの面積、モデル間の距離等、或いは、これらの組み合わせ等、任意の指標であってよい。
In the present embodiment, the index used by the subdivision unit 151 is the number of models. If the index used by the re-dividing unit 151 is an index that can determine the processing load for rendering the model data 201, the number of model vertices, the area of the model, the distance between the models, or a combination thereof Any index may be used.
本実施の形態の変形例として、再分割部151が、第1リスト211で1個以上のモデルと対応しており、当該1個以上のモデルのデータ201のレンダリングにかかる処理負荷を判定するための指標が基準と同じ分割領域も再分割するようにしてもよい。
As a modification of the present embodiment, the re-dividing unit 151 corresponds to one or more models in the first list 211, and determines the processing load for rendering the data 201 of the one or more models. A divided region having the same index as the reference may be subdivided.
併合部152は、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準以下である2個の分割領域を併合し、第1リスト211を更新する。この更新は、算出部124により管理用メモリ112から第1リスト211が取得される前に行われる。よって、算出部124は、管理用メモリ112から併合部152による更新後の第1リスト211を取得することになる。
The merging units 152 are adjacent to each other and correspond to a total of zero or more models in the first list 211, and an index for determining the processing load for rendering the data of the zero or more models is below the reference. Two divided areas are merged, and the first list 211 is updated. This update is performed before the calculation unit 124 acquires the first list 211 from the management memory 112. Therefore, the calculation unit 124 acquires the first list 211 after being updated by the merging unit 152 from the management memory 112.
本実施の形態において、併合部152により用いられる指標は、モデルの個数である。なお、併合部152により用いられる指標は、モデルのデータ201のレンダリングにかかる処理負荷を判定できる指標であれば、モデルの頂点数、モデルの面積、モデル間の距離等、或いは、これらの組み合わせ等、任意の指標であってよい。
In the present embodiment, the index used by the merging unit 152 is the number of models. If the index used by the merging unit 152 is an index that can determine the processing load for rendering the model data 201, the number of model vertices, the area of the model, the distance between the models, or a combination of these Any index may be used.
本実施の形態の変形例として、併合部152が、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準と同じ2個の分割領域を併合しないようにしてもよい。即ち、併合部152が、互いに隣接し、第1リスト211で合計0個以上のモデルと対応しており、当該0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準よりも低い2個の分割領域のみを併合するようにしてもよい。
As a modification of the present embodiment, the merging units 152 are adjacent to each other and correspond to a total of zero or more models in the first list 211, and the processing load for rendering the data of the zero or more models is reduced. You may make it not merge two division area | regions with the same parameter | index for determination as a reference | standard. That is, the merging unit 152 is adjacent to each other and corresponds to a total of zero or more models in the first list 211, and an index for determining the processing load for rendering the data of the zero or more models is a reference. Only two lower divided regions may be merged.
図28を参照して、モデルデータ処理システム100の処理構成を説明する。
The processing configuration of the model data processing system 100 will be described with reference to FIG.
モデルデータ処理システム100により実行される処理としては、主に、前もって実行される前処理310と、モデル表示時に実行されるリアルタイム処理320とがある。
The processes executed by the model data processing system 100 mainly include a pre-process 310 that is executed in advance and a real-time process 320 that is executed when a model is displayed.
前処理310には、モデルデータ取得311、情報取得312、管理矩形分割313、基準位置算出314、モデル振り分け315、包含矩形算出316といった実施の形態1と同じ処理のほか、分割判定331、分割矩形再分割332、統合判定333、周辺探索334、分割矩形統合335といった処理が含まれる。分割判定331及び分割矩形再分割332は、再分割部151により実行される。統合判定333及び周辺探索334及び分割矩形統合335は、併合部152により実行される。
The pre-processing 310 includes the same processing as the first embodiment such as model data acquisition 311, information acquisition 312, management rectangle division 313, reference position calculation 314, model distribution 315, inclusion rectangle calculation 316, division determination 331, division rectangle Processing such as subdivision 332, integration determination 333, peripheral search 334, and division rectangle integration 335 is included. The division determination 331 and the divided rectangle subdivision 332 are executed by the subdivision unit 151. The integration determination 333, the peripheral search 334, and the divided rectangle integration 335 are executed by the merging unit 152.
分割判定331は、データベース111の中の全モデルデータ301に対応するモデルの振り分けがモデル振り分け315で完了した後、分割矩形データリスト303内の分割矩形が分割可能か基準統合指標305を基に判定する処理である。基準統合指標305は、前述した再分割部151により用いられる指標に相当する。
The division determination 331 determines whether or not the divided rectangles in the divided rectangle data list 303 can be divided after the model distribution corresponding to all the model data 301 in the database 111 is completed in the model distribution 315 based on the reference integration index 305. It is processing to do. The reference integrated index 305 corresponds to an index used by the re-dividing unit 151 described above.
分割矩形再分割332は、分割矩形が分割可能な場合に、分割矩形を再分割する処理である。
The division rectangle subdivision 332 is a process of subdividing the division rectangle when the division rectangle can be divided.
統合判定333は、分割矩形の再分割が分割矩形再分割332で完了した後、分割矩形データリスト303内の分割矩形が統合可能か基準統合指標305を基に判定する処理である。基準統合指標305は、前述した併合部152により用いられる指標にも相当する。
The integration determination 333 is a process for determining whether or not the divided rectangles in the divided rectangle data list 303 can be integrated after the division of the divided rectangles is completed in the divided rectangle re-division 332 based on the reference integration index 305. The reference integrated index 305 also corresponds to an index used by the merging unit 152 described above.
周辺探索334は、分割矩形が統合可能な場合に、その分割矩形の周辺の統合可能な他の分割矩形を探索する処理である。
Peripheral search 334 is a process of searching for other integrable divided rectangles around the divided rectangles when the divided rectangles can be integrated.
分割矩形統合335は、周辺探索334で統合可能な他の分割矩形があった場合に、分割矩形を統合する処理である。
The divided rectangle integration 335 is a process of integrating the divided rectangles when there are other divided rectangles that can be integrated by the peripheral search 334.
リアルタイム処理320は、実施の形態1と同じである。
The real-time process 320 is the same as that in the first embodiment.
***動作の説明***
図29及び図30を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。 *** Explanation of operation ***
The operation of the modeldata processing system 100 will be described with reference to FIGS. 29 and 30. FIG. The operation of the model data processing system 100 corresponds to the drawing method according to the present embodiment. The operation of the model data processing system 100 corresponds to the processing procedure of the model data processing program according to the present embodiment.
図29及び図30を参照して、モデルデータ処理システム100の動作を説明する。モデルデータ処理システム100の動作は、本実施の形態に係る描画方法に相当する。モデルデータ処理システム100の動作は、本実施の形態に係るモデルデータ処理プログラムの処理手順に相当する。 *** Explanation of operation ***
The operation of the model
基準統合指標305は、モデル数=「2」である。その他の設定は、実施の形態1と同じである。なお、管理矩形の大きさ、基準分割数302、基準統合指標305、モデルの個数、形状、大きさ、位置等は、適宜変更することができる。
The standard integrated index 305 is the number of models = “2”. Other settings are the same as those in the first embodiment. The size of the management rectangle, the reference division number 302, the reference integration index 305, the number of models, the shape, size, position, and the like can be changed as appropriate.
図29及び図30は、前処理310の手順を示している。
29 and 30 show the procedure of the pre-processing 310.
S31からS35は、実施の形態1におけるS11からS15と同じである。よって、全モデルについてS34及びS35の処理が実行された後、分割矩形データリスト303は、図10に示した例の通りとなる。
S31 to S35 are the same as S11 to S15 in the first embodiment. Therefore, after the processing of S34 and S35 is executed for all models, the divided rectangle data list 303 is as shown in the example shown in FIG.
S36から、分割矩形の再分割処理が開始する。
From S36, the division rectangle re-division processing starts.
S36において、再分割部151は、分割矩形データリスト303に分割フラグを付加する。分割フラグは、各分割矩形が「分割対象」であるか「分割対象外」であるかを示すフラグである。再分割部151は、全分割矩形の分割フラグを「分割対象」に設定する。
In S36, the re-dividing unit 151 adds a division flag to the divided rectangular data list 303. The division flag is a flag indicating whether each divided rectangle is “division target” or “non-division target”. The re-dividing unit 151 sets the division flag of all the divided rectangles to “division target”.
S37及びS38は、前述した分割判定331である。S40は、前述した分割矩形再分割332である。S37からS41は、全分割矩形が「分割対象外」になるまで繰り返し実行される。
S37 and S38 are the division determination 331 described above. S40 is the divided rectangle subdivision 332 described above. S37 to S41 are repeatedly executed until all the divided rectangles become “not to be divided”.
S37において、再分割部151は、「分割対象」である1つの分割矩形を分割矩形データリスト303から探索する。
In S37, the re-division unit 151 searches the division rectangle data list 303 for one division rectangle that is the “division target”.
「分割対象」である分割矩形がない場合、フローはS42に進む。「分割対象」の分割矩形がある場合、フローはS38に進む。
If there is no divided rectangle that is the “division target”, the flow proceeds to S42. If there is a division rectangle of “division target”, the flow proceeds to S38.
S38において、再分割部151は、「分割対象」の分割矩形と対応しているモデルの個数が基準統合指標305以下であるか判定する。
In S38, the re-division unit 151 determines whether the number of models corresponding to the division rectangle of “division target” is equal to or less than the reference integration index 305.
モデルの個数が基準統合指標305以下の場合、フローはS39に進む。モデルの個数が基準統合指標305より多い場合、フローはS40に進む。
If the number of models is less than or equal to the reference integrated index 305, the flow proceeds to S39. If the number of models is greater than the reference integration index 305, the flow proceeds to S40.
S39において、再分割部151は、分割矩形データリスト303内の分割矩形の分割フラグを「分割対象外」にする。フローはS37へ戻る。
In S39, the re-dividing unit 151 sets the division flag of the divided rectangle in the divided rectangle data list 303 to “not divided”. The flow returns to S37.
S40において、再分割部151は、分割矩形を再分割する。再分割では、分割矩形が横方向に2分割、縦方向に2分割され、新たな分割矩形集合が作成される。その分割矩形集合に元の分割矩形に振り分けられていたモデルが振り分けられる。なお、再分割の数は、2×2に限らず、4×2等、任意の数であってよい。
In S40, the re-dividing unit 151 re-divides the divided rectangle. In the subdivision, the divided rectangle is divided into two in the horizontal direction and two in the vertical direction, and a new divided rectangle set is created. The model distributed to the original divided rectangle is distributed to the divided rectangle set. Note that the number of subdivisions is not limited to 2 × 2, but may be any number such as 4 × 2.
S41において、再分割部151は、S40で作成した新たな分割矩形集合に含まれる全ての分割矩形の分割フラグを「分割対象」に設定する。フローはS37へ戻る。
In S41, the re-dividing unit 151 sets the division flag of all the divided rectangles included in the new divided rectangle set created in S40 to “division target”. The flow returns to S37.
ここで、図10に示した例の通り振り分けが完了した状態でS36からS41の処理が実行された場合について説明する。
Here, a case will be described in which the processing from S36 to S41 is executed in a state where the sorting is completed as in the example shown in FIG.
S37では、分割矩形データリスト303内から「分割対象」である1つの分割矩形が探索される。この時点では、分割矩形データリスト303内の分割矩形は、全て「分割対象」であるため、分割矩形0が探索されたとする。分割矩形0と対応しているモデルの個数が1個であるため、S38では、モデルの個数が基準統合指標305である「2」以下であると判定される。S39において、分割矩形データリスト303内の分割矩形0の分割フラグが「分割対象外」に変更される。フローはS37へ戻る。分割矩形1~6については、分割矩形0と同じ処理が行われる。この時点での分割矩形データリスト303は、図31に示す例の通りである。
In S37, one divided rectangle which is the “division target” is searched from the divided rectangle data list 303. At this time, all the divided rectangles in the divided rectangle data list 303 are “division targets”, and it is assumed that the divided rectangle 0 is searched. Since the number of models corresponding to the divided rectangle 0 is 1, it is determined in S38 that the number of models is “2” or less, which is the reference integrated index 305. In S39, the division flag of the divided rectangle 0 in the divided rectangle data list 303 is changed to “not divided”. The flow returns to S37. For the divided rectangles 1 to 6, the same processing as the divided rectangle 0 is performed. The divided rectangle data list 303 at this time is as shown in the example in FIG.
S37で分割矩形7が探索された場合、分割矩形7と対応しているモデルの個数が3個であるため、S38では、モデルの個数が基準統合指標305である「2」よりも多いと判定される。S40において、分割矩形7は、図32に示す例の通り、分割矩形12~15に分割される。分割矩形7は消去される。分割矩形12~15には、S14で算出された振り分け基準位置を基に、モデルG,H,Iが振り分けられる。S41では、分割矩形データリスト303内の分割矩形12~15の分割フラグが「分割対象」に設定される。フローはS37へ戻る。この時点での分割矩形データリスト303は、図33に示す例の通りである。
When the divided rectangle 7 is searched in S37, the number of models corresponding to the divided rectangle 7 is three. Therefore, in S38, it is determined that the number of models is larger than “2” that is the reference integrated index 305. Is done. In S40, the divided rectangle 7 is divided into divided rectangles 12 to 15 as in the example shown in FIG. The divided rectangle 7 is deleted. Models G, H, and I are distributed to the divided rectangles 12 to 15 based on the distribution reference position calculated in S14. In S41, the division flag of the divided rectangles 12 to 15 in the divided rectangle data list 303 is set to “division target”. The flow returns to S37. The divided rectangle data list 303 at this time is as shown in the example in FIG.
分割矩形8~15は全て「分割対象」であるが、モデルの個数が基準統合指標305以下のため、S39において、分割矩形データリスト303内の分割矩形8~15の分割フラグが「分割対象外」に変更される。フローはS37へ戻る。
The division rectangles 8 to 15 are all “division targets”, but the number of models is equal to or less than the reference integration index 305. Therefore, in S39, the division flag of the division rectangles 8 to 15 in the division rectangle data list 303 is set to “non-division target”. Is changed. The flow returns to S37.
S37では、「分割対象」の分割矩形が1つもないため、分割矩形の再分割処理が終了する。フローはS42に進む。この時点での分割矩形データリスト303は、図34に示す例の通りである。即ち、分割矩形データリスト303において、分割矩形0とモデルLとが対応している。分割矩形1とモデルC,Dとが対応している。分割矩形2とモデルOとが対応している。分割矩形3とモデルPとが対応している。分割矩形4とモデルKとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形6とモデルFとが対応している。分割矩形8とモデルJとが対応している。分割矩形9とモデルAとが対応している。分割矩形10とモデルMとが対応している。分割矩形11とモデルNとが対応している。分割矩形12とモデルG,Hとが対応している。分割矩形13とモデルIとが対応している。分割矩形14,15と対応しているモデルはない。
In S37, since there is no “division target” division rectangle, the division rectangle re-division processing ends. The flow proceeds to S42. The divided rectangle data list 303 at this time is as shown in the example in FIG. That is, in the divided rectangle data list 303, the divided rectangle 0 and the model L correspond to each other. The divided rectangle 1 corresponds to the models C and D. The divided rectangle 2 corresponds to the model O. The divided rectangle 3 and the model P correspond to each other. The divided rectangle 4 and the model K correspond to each other. The divided rectangle 5 corresponds to the models B and E. The divided rectangle 6 and the model F correspond to each other. The divided rectangle 8 corresponds to the model J. The divided rectangle 9 corresponds to the model A. The divided rectangle 10 and the model M correspond to each other. The divided rectangle 11 and the model N correspond to each other. The divided rectangle 12 corresponds to the models G and H. The divided rectangle 13 corresponds to the model I. There is no model corresponding to the divided rectangles 14 and 15.
S42から、分割矩形の統合処理が開始する。
From S42, the division rectangle integration process starts.
S42において、併合部152は、分割矩形データリスト303に統合フラグを付加する。統合フラグは、各分割矩形が「統合対象」であるか「統合対象外」であるかを示すフラグである。併合部152は、全分割矩形の統合フラグを「統合対象」に設定する。
In S42, the merging unit 152 adds an integration flag to the divided rectangular data list 303. The integration flag is a flag indicating whether each divided rectangle is “to be integrated” or “not to be integrated”. The merging unit 152 sets the integration flag of all the divided rectangles to “integration target”.
S43及びS44は、前述した統合判定333である。S46は、前述した周辺探索334である。S47は、前述した分割矩形統合335である。S43からS48は、全分割矩形が「統合対象外」になるまで繰り返し実行される。
S43 and S44 are the integration determination 333 described above. S46 is the above-described peripheral search 334. S47 is the divided rectangle integration 335 described above. S43 to S48 are repeatedly executed until all the divided rectangles become “not integrated”.
S43において、併合部152は、「統合対象」である1つの分割矩形を分割矩形データリスト303から探索する。
In S43, the merging unit 152 searches the divided rectangle data list 303 for one divided rectangle which is the “integration target”.
「統合対象」である分割矩形がない場合、フローはS49に進む。「統合対象」の分割矩形がある場合、フローはS44に進む。
If there is no divided rectangle that is the “integration target”, the flow proceeds to S49. If there is a division rectangle of “integration target”, the flow proceeds to S44.
S44において、併合部152は、「統合対象」の分割矩形と対応しているモデルの個数が基準統合指標305以上であるか判定する。
In S44, the merging unit 152 determines whether the number of models corresponding to the “integration target” divided rectangle is equal to or greater than the reference integration index 305.
モデルの個数が基準統合指標305以上の場合、フローはS45に進む。モデルの個数が基準統合指標305より少ない場合、フローはS46に進む。
If the number of models is greater than or equal to the reference integrated index 305, the flow proceeds to S45. If the number of models is less than the reference integrated index 305, the flow proceeds to S46.
S45において、併合部152は、分割矩形データリスト303内の分割矩形の統合フラグを「統合対象外」にする。フローはS43へ戻る。
In S45, the merging unit 152 sets the integration flag of the divided rectangle in the divided rectangle data list 303 to “not integrated”. The flow returns to S43.
S46において、併合部152は、分割矩形の周辺から、統合可能な他の分割矩形を探索する。統合可能な他の分割矩形とは、分割矩形と境界を一部共有し、かつ、対応しているモデルの個数を分割矩形と対応しているモデルの個数に加算した数が基準統合指標305以下であり、かつ、「統合対象」であるという条件を満たす分割矩形である。
In S46, the merging unit 152 searches for other division rectangles that can be integrated from the periphery of the division rectangle. The other division rectangles that can be integrated are partly shared by the division rectangle and the number of corresponding models added to the number of models corresponding to the division rectangle is equal to or less than the reference integration index 305 And a divided rectangle that satisfies the condition of “integration target”.
統合可能な他の分割矩形がない場合、フローはS45に進む。統合可能な他の分割矩形がある場合、フローはS47に進む。
If there is no other divided rectangle that can be integrated, the flow proceeds to S45. If there is another divided rectangle that can be integrated, the flow proceeds to S47.
S47において、併合部152は、分割矩形と統合可能な他の分割矩形とを統合する。統合では、2つの分割矩形の範囲が併合され、1つの分割矩形が作成される。その1つの分割矩形に元の2つの分割矩形に振り分けられていたモデルが振り分けられる。
In S47, the merging unit 152 integrates the divided rectangle and another divided rectangle that can be integrated. In the integration, two divided rectangle ranges are merged to create one divided rectangle. The model that has been distributed to the original two divided rectangles is distributed to the one divided rectangle.
S48において、併合部152は、S47で作成した分割矩形の統合フラグを「統合対象」に設定する。フローはS43へ戻る。
In S48, the merging unit 152 sets the integration flag of the divided rectangle created in S47 to “integration target”. The flow returns to S43.
ここで、図34に示した例の通り再分割が完了した状態でS42からS48の処理が実行された場合について説明する。
Here, the case where the processing from S42 to S48 is executed in a state where the re-division is completed as in the example shown in FIG.
S43では、分割矩形データリスト303内から「統合対象」である1つの分割矩形が探索される。この時点では、分割矩形データリスト303内の分割矩形は、全て「統合対象」であるため、分割矩形0が探索されたとする。分割矩形0と対応しているモデルの個数が1個であるため、S44では、モデルの個数が基準統合指標305である「2」よりも少ないと判定される。分割矩形4のみが統合可能な他の分割矩形の条件を満たすため、S46において、分割矩形4が探索される。S47では、図35に示す例の通り、分割矩形0と分割矩形4とが併合され、分割矩形16が作成される。分割矩形0,4は消去される。S48では、分割矩形データリスト303内の分割矩形16の統合フラグが「統合対象」に設定される。フローはS43へ戻る。この時点での分割矩形データリスト303は、図36に示す例の通りである。
In S43, one divided rectangle which is the “integration target” is searched from the divided rectangle data list 303. At this time, all the divided rectangles in the divided rectangle data list 303 are “integration targets”, and it is assumed that the divided rectangle 0 is searched. Since the number of models corresponding to the divided rectangle 0 is 1, it is determined in S44 that the number of models is smaller than “2” that is the reference integrated index 305. In order to satisfy the condition of another divided rectangle that can be integrated only by the divided rectangle 4, the divided rectangle 4 is searched in S46. In S47, as shown in FIG. 35, the divided rectangle 0 and the divided rectangle 4 are merged, and the divided rectangle 16 is created. The divided rectangles 0 and 4 are deleted. In S48, the integration flag of the divided rectangle 16 in the divided rectangle data list 303 is set to “integration target”. The flow returns to S43. The divided rectangle data list 303 at this time is as shown in FIG.
次のS43では、分割矩形1が探索されたとする。分割矩形1と対応しているモデルの個数が2個であるため、S44では、モデルの個数が基準統合指標305である「2」以上であると判定される。S45において、分割矩形データリスト303内の分割矩形1の統合フラグが「統合対象外」に変更される。フローはS43へ戻る。
Suppose that the divided rectangle 1 is searched in the next S43. Since the number of models corresponding to the divided rectangle 1 is two, it is determined in S44 that the number of models is “2” or more which is the reference integrated index 305. In S45, the integration flag of the divided rectangle 1 in the divided rectangle data list 303 is changed to “not integrated”. The flow returns to S43.
次のS43では、分割矩形2が探索されたとする。分割矩形2と対応しているモデルの個数が1個であるため、S44では、モデルの個数が基準統合指標305である「2」よりも少ないと判定される。分割矩形3,6が統合可能な他の分割矩形の条件を満たすが、S46において、分割矩形3が探索されたとする。S47では、分割矩形2と分割矩形3とが併合され、分割矩形17が作成される。分割矩形2,3は消去される。S48では、分割矩形データリスト303内の分割矩形17の統合フラグが「統合対象」に設定される。フローはS43へ戻る。
Suppose that the divided rectangle 2 is searched in the next S43. Since the number of models corresponding to the divided rectangle 2 is one, it is determined in S44 that the number of models is smaller than “2” which is the reference integrated index 305. It is assumed that the divided rectangles 3 and 6 satisfy the conditions of other divided rectangles that can be integrated, but the divided rectangle 3 is searched in S46. In S47, the divided rectangle 2 and the divided rectangle 3 are merged, and the divided rectangle 17 is created. The divided rectangles 2 and 3 are deleted. In S48, the integration flag of the divided rectangle 17 in the divided rectangle data list 303 is set to “integration target”. The flow returns to S43.
次のS43では、分割矩形5が探索されたとする。分割矩形5と対応しているモデルの個数が2個であるため、S44では、モデルの個数が基準統合指標305である「2」以上であると判定される。S45において、分割矩形データリスト303内の分割矩形5の統合フラグが「統合対象外」に変更される。フローはS43へ戻る。
Suppose that the divided rectangle 5 is searched in the next S43. Since the number of models corresponding to the divided rectangle 5 is two, it is determined in S44 that the number of models is “2” or more which is the reference integrated index 305. In S45, the integration flag of the divided rectangle 5 in the divided rectangle data list 303 is changed to “not integrated”. The flow returns to S43.
続けてS43以降が実施されると、図37に示す例の通り、分割矩形6と分割矩形10とが併合され、分割矩形18が作成される。分割矩形8と分割矩形9とが併合され、分割矩形19が作成される。分割矩形11と分割矩形14とが併合され、分割矩形20が作成される。分割矩形データリスト303内の分割矩形12の統合フラグが「統合対象外」に変更される。分割矩形13と分割矩形15とが併合され、分割矩形21が作成される。フローはS43へ戻る。この時点での分割矩形データリスト303は、図38に示す例の通りである。
Subsequently, when S43 and subsequent steps are performed, the divided rectangle 6 and the divided rectangle 10 are merged and the divided rectangle 18 is created as shown in the example shown in FIG. The divided rectangle 8 and the divided rectangle 9 are merged to create a divided rectangle 19. The divided rectangle 11 and the divided rectangle 14 are merged to create a divided rectangle 20. The integration flag of the divided rectangle 12 in the divided rectangle data list 303 is changed to “not integrated”. The divided rectangle 13 and the divided rectangle 15 are merged to create a divided rectangle 21. The flow returns to S43. The divided rectangle data list 303 at this point is as shown in the example in FIG.
さらに続けてS43以降が実施されると、分割矩形データリスト303内の分割矩形16~19の統合フラグが「統合対象外」に変更される。図39に示す例の通り、分割矩形20と分割矩形21とが併合され、分割矩形22が作成される。その後、分割矩形データリスト303内の分割矩形22の統合フラグも「統合対象外」に変更される。フローはS43へ戻る。
Further, when S43 and subsequent steps are performed, the integration flag of the divided rectangles 16 to 19 in the divided rectangle data list 303 is changed to “not integrated”. As shown in the example shown in FIG. 39, the divided rectangle 20 and the divided rectangle 21 are merged to create a divided rectangle 22. Thereafter, the integration flag of the divided rectangle 22 in the divided rectangle data list 303 is also changed to “not integrated”. The flow returns to S43.
S43では、「統合対象」の分割矩形が1つもないため、分割矩形の統合処理が終了する。フローはS49に進む。この時点での分割矩形データリスト303は、図40に示す例の通りである。即ち、分割矩形データリスト303において、分割矩形1とモデルC,Dとが対応している。分割矩形5とモデルB,Eとが対応している。分割矩形12とモデルG,Hとが対応している。分割矩形16とモデルL,Kとが対応している。分割矩形17とモデルO,Pとが対応している。分割矩形18とモデルF,Mとが対応している。分割矩形19とモデルJ,Aとが対応している。分割矩形22とモデルN,Iとが対応している。
In S43, since there is no division rectangle of “integration target”, the division rectangle integration processing ends. The flow proceeds to S49. The divided rectangle data list 303 at this time is as shown in FIG. That is, in the divided rectangle data list 303, the divided rectangle 1 corresponds to the models C and D. The divided rectangle 5 corresponds to the models B and E. The divided rectangle 12 corresponds to the models G and H. The divided rectangle 16 corresponds to the models L and K. The divided rectangle 17 corresponds to the models O and P. The divided rectangle 18 corresponds to the models F and M. The divided rectangle 19 corresponds to the models J and A. The divided rectangle 22 corresponds to the models N and I.
S49は、実施の形態1におけるS16と同じである。S49は、分割矩形データリスト303内の分割矩形ごとに実行される。
S49 is the same as S16 in the first embodiment. S 49 is executed for each divided rectangle in the divided rectangle data list 303.
S49において、分割矩形1については、モデルCの外接矩形とモデルDの外接矩形とを合成して包含矩形を求める。算出部124は、分割矩形5については、モデルBの外接矩形とモデルEの外接矩形とを合成して包含矩形を求める。算出部124は、分割矩形12,16~19,22についても、同じように包含矩形を求める。各包含矩形は、図41に示す例の通りである。包含矩形算出後、算出部124は、分割矩形データリスト303内の分割矩形の範囲を包含矩形の範囲に変更する。
In S49, for the divided rectangle 1, the circumscribed rectangle of the model C and the circumscribed rectangle of the model D are synthesized to obtain an inclusion rectangle. For the divided rectangle 5, the calculation unit 124 combines the circumscribed rectangle of the model B and the circumscribed rectangle of the model E to obtain an inclusion rectangle. The calculation unit 124 similarly obtains an inclusion rectangle for the divided rectangles 12, 16 to 19, and 22. Each inclusion rectangle is as shown in FIG. After calculating the inclusion rectangle, the calculation unit 124 changes the range of the divided rectangle in the divided rectangle data list 303 to the range of the inclusion rectangle.
全分割矩形についてS49の処理が実行された後、分割矩形データリスト303は、図42に示す例の通りとなる。即ち、分割矩形データリスト303において、分割矩形1と(「外接矩形Cの西端」,「外接矩形Dの南端」)~(「外接矩形Dの東端」,「外接矩形Cの北端」)の包含矩形とが対応している。分割矩形5と(「外接矩形Bの西端」,「外接矩形Bの南端」)~(「外接矩形Eの東端」,「外接矩形Bの北端」)の包含矩形とが対応している。分割矩形12と(「外接矩形Gの西端」,「外接矩形Gの南端」)~(「外接矩形Hの東端」,「外接矩形Gの北端」)の包含矩形とが対応している。分割矩形16と(「外接矩形Kの西端」,「外接矩形Lの南端」)~(「外接矩形Lの東端」,「外接矩形Kの北端」)の包含矩形とが対応している。分割矩形17と(「外接矩形Oの西端」,「外接矩形Pの南端」)~(「外接矩形Pの東端」,「外接矩形Oの北端」)の包含矩形とが対応している。分割矩形18と(「外接矩形Fの西端」,「外接矩形Fの南端」)~(「外接矩形Mの東端」,「外接矩形Mの北端」)の包含矩形とが対応している。分割矩形19と(「外接矩形Jの西端」,「外接矩形Aの南端」)~(「外接矩形Aの東端」,「外接矩形Aの北端」)の包含矩形とが対応している。分割矩形22と(「外接矩形Nの西端」,「外接矩形Iの南端」)~(「外接矩形Iの東端」,「外接矩形Nの北端」)の包含矩形とが対応している。
After the process of S49 is executed for all divided rectangles, the divided rectangle data list 303 is as shown in the example shown in FIG. That is, in the divided rectangle data list 303, the inclusion of divided rectangle 1 and ("west end of circumscribed rectangle C", "south end of circumscribed rectangle D") to ("east end of circumscribed rectangle D", "north end of circumscribed rectangle C"). The rectangle corresponds. The division rectangle 5 corresponds to ("west end of the circumscribed rectangle B", "south end of the circumscribed rectangle B") to ("east end of the circumscribed rectangle E", "north end of the circumscribed rectangle B"). The divided rectangles 12 correspond to the inclusion rectangles (“west end of circumscribed rectangle G”, “south end of circumscribed rectangle G”) to (“east end of circumscribed rectangle H”, “north end of circumscribed rectangle G”). The divided rectangles 16 correspond to the inclusion rectangles (“west end of the circumscribed rectangle K”, “south end of the circumscribed rectangle L”) to (“east end of the circumscribed rectangle L”, “north end of the circumscribed rectangle K”). The divided rectangles 17 correspond to the inclusion rectangles (“west end of circumscribed rectangle O”, “south end of circumscribed rectangle P”) to (“east end of circumscribed rectangle P”, “north end of circumscribed rectangle O”). The divided rectangles 18 correspond to (“the west end of the circumscribed rectangle F”, “the south end of the circumscribed rectangle F”) to (“the east end of the circumscribed rectangle M”, “the north end of the circumscribed rectangle M”). The divided rectangles 19 correspond to ("west end of the circumscribed rectangle A", "south end of the circumscribed rectangle A") to ("east end of the circumscribed rectangle A", "increased rectangle of the circumscribed rectangle A"). The divided rectangles 22 correspond to the inclusion rectangles (“West end of circumscribed rectangle N”, “South end of circumscribed rectangle I”) to (“East end of circumscribed rectangle I”, “North end of circumscribed rectangle N”).
実施の形態1との差は、以上説明した前処理310だけであるため、リアルタイム処理320の説明は省略する。
Since the difference from the first embodiment is only the pre-processing 310 described above, description of the real-time processing 320 is omitted.
なお、本実施の形態において、モデルデータ処理システム100は、実施の形態2と同じように、DA102と、携帯端末103と、サーバ装置104とで構成されてもよい。
In the present embodiment, the model data processing system 100 may be configured by the DA 102, the mobile terminal 103, and the server device 104 as in the second embodiment.
***効果の説明***
本実施の形態では、基準統合指標305に応じて分割矩形を再分割或いは統合しているため、分割矩形内のモデル数を基準統合指標305程度に平均化できる。つまり、リアルタイム処理320において登録されるVBO内のモデルの個数を平均化できる。よって、モデルレンダリング326で実施される3次元レンダリング処理の負荷を平滑化することができる。 *** Explanation of effects ***
In the present embodiment, since the divided rectangles are subdivided or integrated according to the reference integratedindex 305, the number of models in the divided rectangle can be averaged to about the reference integrated index 305. That is, the number of models in the VBO registered in the real-time process 320 can be averaged. Therefore, it is possible to smooth the load of the three-dimensional rendering process performed in the model rendering 326.
本実施の形態では、基準統合指標305に応じて分割矩形を再分割或いは統合しているため、分割矩形内のモデル数を基準統合指標305程度に平均化できる。つまり、リアルタイム処理320において登録されるVBO内のモデルの個数を平均化できる。よって、モデルレンダリング326で実施される3次元レンダリング処理の負荷を平滑化することができる。 *** Explanation of effects ***
In the present embodiment, since the divided rectangles are subdivided or integrated according to the reference integrated
本実施の形態では、再分割により、1つあたりの分割矩形に振り分けられるモデルの数を削減できる。そのため、一部の分割矩形に多くのモデルが振り分けられる場合に比べて、VBOの登録処理にかかる時間を低減させることができる。
In the present embodiment, the number of models that can be allocated to one divided rectangle can be reduced by subdivision. Therefore, the time required for the VBO registration process can be reduced as compared with the case where many models are distributed to some of the divided rectangles.
また、本実施の形態では、統合により、振り分けられたモデルが少ない分割矩形をなくすことができる。そのため、振り分けられたモデルが少ない分割矩形がある場合に比べて、VBOへの登録回数を削減し、登録オーバーヘッドを軽減させることができる。統合は、基準統合指標305に基づいて行われるため、再分割により1つあたりのVBOに多くのモデルが割り当てられるという事態も避けることができる。
Further, in the present embodiment, it is possible to eliminate divided rectangles with few assigned models by integration. For this reason, the number of registrations in the VBO can be reduced and the registration overhead can be reduced as compared with the case where there are divided rectangles with fewer assigned models. Since the integration is performed based on the reference integration index 305, a situation in which many models are assigned to one VBO by re-division can be avoided.
以下では、図43を参照して、実施の形態1及び実施の形態3に係るモデルデータ処理システム100を構成する装置であるナビゲーション装置101のハードウェア構成例を説明する。
Hereinafter, with reference to FIG. 43, a hardware configuration example of the navigation device 101 which is a device constituting the model data processing system 100 according to the first and third embodiments will be described.
ナビゲーション装置101は、コンピュータである。ナビゲーション装置101は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。入力インタフェース905は、入力装置907に接続されている。ディスプレイインタフェース906は、ディスプレイ908に接続されている。
The navigation device 101 is a computer. The navigation device 101 includes hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906. The processor 901 is connected to other hardware via the signal line 910, and controls these other hardware. The input interface 905 is connected to the input device 907. The display interface 906 is connected to the display 908.
プロセッサ901は、プロセッシングを行うIC(Integrated・Circuit)である。プロセッサ901は、例えば、CPU(Central・Processing・Unit)、DSP(Digital・Signal・Processor)、又は、GPU(Graphics・Processing・Unit)である。
The processor 901 is an IC (Integrated Circuit) that performs processing. The processor 901 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
補助記憶装置902は、例えば、ROM(Read・Only・Memory)、フラッシュメモリ、又は、HDD(Hard・Disk・Drive)である。データベース111は、補助記憶装置902により実装することができる。
The auxiliary storage device 902 is, for example, a ROM (Read / Only / Memory), a flash memory, or an HDD (Hard / Disk / Drive). The database 111 can be implemented by the auxiliary storage device 902.
メモリ903は、例えば、RAM(Random・Access・Memory)である。管理用メモリ112及び描画用メモリ113は、メモリ903により実装することができる。
The memory 903 is, for example, a RAM (Random Access Memory). The management memory 112 and the drawing memory 113 can be implemented by the memory 903.
通信装置904は、データを受信するレシーバ921及びデータを送信するトランスミッタ922を含む。通信装置904は、例えば、通信チップ又はNIC(Network・Interface・Card)である。
The communication device 904 includes a receiver 921 that receives data and a transmitter 922 that transmits data. The communication device 904 is, for example, a communication chip or a NIC (Network, Interface, Card).
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。入力インタフェース905は、例えば、USB(Universal・Serial・Bus)端子である。
The input interface 905 is a port to which the cable 911 of the input device 907 is connected. The input interface 905 is, for example, a USB (Universal / Serial / Bus) terminal.
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High・Definition・Multimedia・Interface)端子である。
The display interface 906 is a port to which the cable 912 of the display 908 is connected. The display interface 906 is, for example, a USB terminal or an HDMI (registered trademark) (High Definition, Multimedia, Interface) terminal.
入力装置907は、例えば、マウス、タッチペン、キーボード、又は、タッチパネルである。
The input device 907 is, for example, a mouse, a touch pen, a keyboard, or a touch panel.
ディスプレイ908は、例えば、LCD(Liquid・Crystal・Display)である。
The display 908 is, for example, an LCD (Liquid / Crystal / Display).
補助記憶装置902には、取得部121、分割部122、振り分け部123、算出部124、決定部131、抽出部132、統合部133、レンダリング部134、再分割部151、併合部152といった「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。補助記憶装置902には、OS(Operating・System)も記憶されている。OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
The auxiliary storage device 902 includes “parts” such as an acquisition unit 121, a division unit 122, a distribution unit 123, a calculation unit 124, a determination unit 131, an extraction unit 132, an integration unit 133, a rendering unit 134, a subdivision unit 151, and a merge unit 152. ”Is stored. This program is loaded into the memory 903, read into the processor 901, and executed by the processor 901. The auxiliary storage device 902 also stores an OS (Operating System). At least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS.
図43では、1つのプロセッサ901が示されているが、ナビゲーション装置101が複数のプロセッサ901を備えていてもよい。そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
43, one processor 901 is shown, but the navigation apparatus 101 may include a plurality of processors 901. A plurality of processors 901 may execute a program for realizing the function of “unit” in cooperation with each other.
「部」の処理の結果を示す情報やデータや信号値や変数値は、補助記憶装置902、メモリ903、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
Information, data, signal values, and variable values indicating the processing results of “unit” are stored in the auxiliary storage device 902, the memory 903, or a register or cache memory in the processor 901.
「部」を「サーキットリ」で提供してもよい。また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。「回路」及び「サーキットリ」は、プロセッサ901だけでなく、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、FPGA(Field-Programmable・Gate・Array)といった他の種類の処理回路をも包含する概念である。
“Parts” may be provided on “Circuits”. Further, “part” may be read as “circuit”, “process”, “procedure”, or “processing”. "Circuit" and "Circuitry" include not only the processor 901 but also other logic ICs, GA (Gate-Array), ASIC (Application-Specific-Integrated-Circuit), FPGA (Field-Programmable-Gate-Array), etc. It is a concept that includes various types of processing circuits.
実施の形態2に係るモデルデータ処理システム100を構成する装置である携帯端末103及びサーバ装置104にも、図43に示したものと同じハードウェア構成を適用することができる。
The same hardware configuration as that shown in FIG. 43 can also be applied to the mobile terminal 103 and the server device 104 that are devices constituting the model data processing system 100 according to the second embodiment.
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、いくつかを組み合わせて実施しても構わない。或いは、これらの実施の形態のうち、いずれか1つ又はいくつかを部分的に実施しても構わない。例えば、これらの実施の形態の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組み合わせを採用してもよい。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
As mentioned above, although embodiment of this invention was described, you may implement combining some of these embodiment. Alternatively, any one or some of these embodiments may be partially implemented. For example, only one of those described as “parts” in the description of these embodiments may be employed, or some arbitrary combinations may be employed. In addition, this invention is not limited to these embodiment, A various change is possible as needed.
100 モデルデータ処理システム、101 ナビゲーション装置、102 DA、103 携帯端末、104 サーバ装置、105 ネットワーク、111 データベース、112 管理用メモリ、113 描画用メモリ、121 取得部、122 分割部、123 振り分け部、124 算出部、131 決定部、132 抽出部、133 統合部、134 レンダリング部、141 送信部、142 受信部、151 再分割部、152 併合部、201 データ、211 第1リスト、212 第2リスト、301 モデルデータ、302 基準分割数、303 分割矩形データリスト、304 取得済分割矩形リスト、305 基準統合指標、310 前処理、311 モデルデータ取得、312 情報取得、313 管理矩形分割、314 基準位置算出、315 モデル振り分け、316 包含矩形算出、320 リアルタイム処理、321 表示範囲決定、322 重複判定、323 取得済データ判定、324 分割矩形データ取得、325 モデル統合、326 モデルレンダリング、331 分割判定、332 分割矩形再分割、333 統合判定、334 周辺探索、335 分割矩形統合、901 プロセッサ、902 補助記憶装置、903 メモリ、904 通信装置、905 入力インタフェース、906 ディスプレイインタフェース、907 入力装置、908 ディスプレイ、910 信号線、911 ケーブル、912 ケーブル、921 レシーバ、922 トランスミッタ。
100 model data processing system, 101 navigation device, 102 DA, 103 mobile terminal, 104 server device, 105 network, 111 database, 112 management memory, 113 drawing memory, 121 acquisition unit, 122 division unit, 123 distribution unit, 124 Calculation unit, 131 determination unit, 132 extraction unit, 133 integration unit, 134 rendering unit, 141 transmission unit, 142 reception unit, 151 subdivision unit, 152 merge unit, 201 data, 211 first list, 212 second list, 301 Model data, 302 Standard number of divisions, 303 Division rectangle data list, 304 Acquired division rectangle list, 305 Reference integration index, 310 Preprocessing, 311 Model data acquisition, 312 Information acquisition, 313 Management rectangle Split, 314 reference position calculation, 315 model distribution, 316 inclusion rectangle calculation, 320 real-time processing, 321 display range determination, 322 overlap determination, 323 acquired data determination, 324 divided rectangle data acquisition, 325 model integration, 326 model rendering, 331 Division determination, 332 division rectangle re-division, 333 integration determination, 334 peripheral search, 335 division rectangle integration, 901 processor, 902 auxiliary storage device, 903 memory, 904 communication device, 905 input interface, 906 display interface, 907 input device, 908 Display, 910 signal line, 911 cable, 912 cable, 921 receiver, 922 transmitter.
Claims (12)
- 地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する取得部と、
前記地図領域を分割して複数の分割領域を設定する分割部と、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する振り分け部と、
前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記取得部により取得された前記複数のモデルのデータをレンダリングするための情報として出力する算出部と
を備えるモデルデータ処理システム。 An acquisition unit for acquiring data of a plurality of models each representing an object existing in the map area;
A dividing unit configured to divide the map area and set a plurality of divided areas;
Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas, and a first list indicating correspondence between each of the plurality of divided areas and the distributed model is a management memory A distribution unit to be stored in
Obtaining the first list from the management memory, and for a divided area corresponding to at least one model in the first list, an inclusion area including the at least one model in the map area A calculation unit that calculates and outputs a second list indicating correspondence between each of the plurality of divided regions and the calculated inclusion region as information for rendering the data of the plurality of models acquired by the acquisition unit; A model data processing system comprising: - 前記地図領域の表示範囲を決定する決定部と、
前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する抽出部と、
前記第1リストで前記描画領域と1個のモデルとが対応している場合、前記取得部により取得された前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記取得部により取得された前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する統合部と、
前記描画用メモリに格納されたデータをレンダリングするレンダリング部と
をさらに備える請求項1に記載のモデルデータ処理システム。 A determination unit for determining a display range of the map area;
An extraction unit that extracts, as a drawing area, a divided area corresponding to an inclusion area at least partially overlapping the display range from the second list;
If the drawing area corresponds to one model in the first list, the data of the one model acquired by the acquisition unit is stored in a drawing memory, and the drawing is stored in the first list. When the region corresponds to two or more models, an integration unit that integrates the data of the two or more models acquired by the acquisition unit and stores the integrated data in the drawing memory;
The model data processing system according to claim 1, further comprising: a rendering unit that renders data stored in the drawing memory. - 前記第1リストで1個以上のモデルと対応しており、前記1個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準よりも高い分割領域を再分割し、前記地図領域における前記1個以上のモデルの位置に基づいて、前記1個以上のモデルを再分割後の前記複数の分割領域に振り分け、前記第1リストを更新する再分割部
をさらに備え、
前記算出部は、前記管理用メモリから前記再分割部による更新後の前記第1リストを取得する請求項1又は2に記載のモデルデータ処理システム。 The map corresponding to one or more models in the first list is subdivided into divided areas whose index for determining the processing load for rendering the data of the one or more models is higher than a reference, and the map Based on the position of the one or more models in a region, further comprising a subdivision unit that distributes the one or more models to the plurality of subregions after subdivision, and updates the first list,
The model data processing system according to claim 1, wherein the calculation unit acquires the first list updated by the re-division unit from the management memory. - 前記再分割部により用いられる指標は、モデルの個数である請求項3に記載のモデルデータ処理システム。 4. The model data processing system according to claim 3, wherein the index used by the subdivision unit is the number of models.
- 互いに隣接し、前記第1リストで合計0個以上のモデルと対応しており、前記0個以上のモデルのデータのレンダリングにかかる処理負荷を判定するための指標が基準以下である2個の分割領域を併合し、前記第1リストを更新する併合部
をさらに備え、
前記算出部は、前記管理用メモリから前記併合部による更新後の前記第1リストを取得する請求項1から4のいずれか1項に記載のモデルデータ処理システム。 Two divisions that are adjacent to each other and correspond to a total of zero or more models in the first list, and an index for determining the processing load for rendering the data of the zero or more models is below a reference Further comprising a merging unit for merging regions and updating the first list;
5. The model data processing system according to claim 1, wherein the calculation unit acquires the first list updated by the merging unit from the management memory. 6. - 前記併合部により用いられる指標は、モデルの個数である請求項5に記載のモデルデータ処理システム。 The model data processing system according to claim 5, wherein the index used by the merging unit is the number of models.
- 前記算出部により算出される包含領域は、前記少なくとも1個のモデルを囲む外接矩形である請求項1から6のいずれか1項に記載のモデルデータ処理システム。 The model data processing system according to any one of claims 1 to 6, wherein the inclusion area calculated by the calculation unit is a circumscribed rectangle surrounding the at least one model.
- 前記振り分け部により参照される位置は、前記複数のモデルのそれぞれを囲む外接矩形の中心の位置である請求項1から7のいずれか1項に記載のモデルデータ処理システム。 The model data processing system according to any one of claims 1 to 7, wherein the position referred to by the distribution unit is a position of a center of a circumscribed rectangle surrounding each of the plurality of models.
- 地図領域を分割して設定される複数の分割領域のそれぞれと前記地図領域に存在する物体をそれぞれ表す複数のモデルのそれぞれとの対応を示す第1リストと、前記複数の分割領域のそれぞれと前記地図領域で少なくとも1個のモデルを包含する包含領域との対応を示す第2リストとの入力を受け、
前記地図領域の表示範囲を決定する決定部と、
前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する抽出部と、
前記第1リストで前記描画領域と1個のモデルとが対応している場合、データベースから取得される前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得される前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する統合部と、
前記描画用メモリに格納されたデータをレンダリングするレンダリング部と
を備えるモデルデータ処理システム。 A first list showing a correspondence between each of a plurality of divided areas set by dividing a map area and each of a plurality of models each representing an object existing in the map area; each of the plurality of divided areas; and Receiving a second list indicating a correspondence with an inclusion region including at least one model in the map region;
A determination unit for determining a display range of the map area;
An extraction unit that extracts, as a drawing area, a divided area corresponding to an inclusion area at least partially overlapping the display range from the second list;
When the drawing area corresponds to one model in the first list, data of the one model acquired from the database is stored in a drawing memory, and the drawing area and the drawing area are stored in the first list. An integration unit that integrates data of the two or more models acquired from the database and stores the integrated data in the drawing memory, when two or more models correspond;
A model data processing system comprising: a rendering unit that renders data stored in the drawing memory. - コンピュータが、
地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得し、
前記地図領域を分割して複数の分割領域を設定し、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、
前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、
前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストから、前記地図領域の表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出し、
前記第1リストで前記描画領域と1個のモデルとが対応している場合、前記データベースから取得された前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得された前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納し、
前記描画用メモリに格納されたデータをレンダリングする描画方法。 Computer
Get multiple models of data representing each object in the map area from the database,
Dividing the map area to set a plurality of divided areas,
Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas,
Including including at least one model in the map area for a divided area corresponding to at least one model in the first list indicating correspondence between each of the plurality of divided areas and the distributed model Calculate the area,
From the second list showing the correspondence between each of the plurality of divided areas and the calculated inclusion area, a divided area corresponding to the inclusion area at least partially overlapping the display range of the map area is extracted as a drawing area,
If the drawing area corresponds to one model in the first list, the data of the one model acquired from the database is stored in a drawing memory, and the drawing area is stored in the first list. And two or more models correspond to each other, the data of the two or more models acquired from the database are integrated, and the integrated data is stored in the drawing memory,
A drawing method for rendering data stored in the drawing memory. - コンピュータに、
地図領域に存在する物体をそれぞれ表す複数のモデルのデータをデータベースから取得する処理と、
前記地図領域を分割して複数の分割領域を設定する処理と、
前記地図領域における前記複数のモデルの位置に基づいて、前記複数のモデルを前記複数の分割領域に振り分け、前記複数の分割領域のそれぞれと振り分けたモデルとの対応を示す第1リストを管理用メモリに格納する処理と、
前記管理用メモリから前記第1リストを取得し、前記第1リストで少なくとも1個のモデルと対応している分割領域に対して、前記地図領域で前記少なくとも1個のモデルを包含する包含領域を算出し、前記複数の分割領域のそれぞれと算出した包含領域との対応を示す第2リストを、前記データベースから取得された前記複数のモデルのデータをレンダリングするための情報として出力する処理と
を実行させるモデルデータ処理プログラム。 On the computer,
A process of acquiring data of a plurality of models each representing an object existing in a map area from a database;
A process of dividing the map area and setting a plurality of divided areas;
Based on the positions of the plurality of models in the map area, the plurality of models are distributed to the plurality of divided areas, and a first list indicating correspondence between each of the plurality of divided areas and the distributed model is a management memory Processing to store in
Obtaining the first list from the management memory, and for a divided area corresponding to at least one model in the first list, an inclusion area including the at least one model in the map area And calculating and outputting a second list indicating the correspondence between each of the plurality of divided regions and the calculated inclusion region as information for rendering the data of the plurality of models acquired from the database. Model data processing program to make. - 地図領域を分割して設定される複数の分割領域のそれぞれと前記地図領域に存在する物体をそれぞれ表す複数のモデルのそれぞれとの対応を示す第1リストと、前記複数の分割領域のそれぞれと前記地図領域で少なくとも1個のモデルを包含する包含領域との対応を示す第2リストとの入力を受け、
コンピュータに、
前記地図領域の表示範囲を決定する処理と、
前記第2リストから、前記表示範囲に少なくとも一部が重なる包含領域と対応している分割領域を描画領域として抽出する処理と、
前記第1リストで前記描画領域と1個のモデルとが対応している場合、データベースから取得される前記1個のモデルのデータを描画用メモリに格納し、前記第1リストで前記描画領域と2個以上のモデルとが対応している場合、前記データベースから取得される前記2個以上のモデルのデータを統合し、統合したデータを前記描画用メモリに格納する処理と、
前記描画用メモリに格納されたデータのレンダリングと
を実行させるモデルデータ処理プログラム。 A first list showing a correspondence between each of a plurality of divided areas set by dividing a map area and each of a plurality of models each representing an object existing in the map area; each of the plurality of divided areas; and Receiving a second list indicating a correspondence with an inclusion region including at least one model in the map region;
On the computer,
Processing for determining a display range of the map area;
A process of extracting, from the second list, a divided area corresponding to an inclusion area at least partially overlapping the display range as a drawing area;
When the drawing area corresponds to one model in the first list, data of the one model acquired from the database is stored in a drawing memory, and the drawing area and the drawing area are stored in the first list. When two or more models correspond, a process of integrating the data of the two or more models acquired from the database, and storing the integrated data in the drawing memory;
A model data processing program for executing rendering of data stored in the drawing memory.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017500234A JP6129456B2 (en) | 2015-02-20 | 2015-02-20 | Model data processing system, drawing method, and model data processing program |
PCT/JP2015/054708 WO2016132523A1 (en) | 2015-02-20 | 2015-02-20 | Model data processing system, rendering method, and model data processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/054708 WO2016132523A1 (en) | 2015-02-20 | 2015-02-20 | Model data processing system, rendering method, and model data processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016132523A1 true WO2016132523A1 (en) | 2016-08-25 |
Family
ID=56692595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/054708 WO2016132523A1 (en) | 2015-02-20 | 2015-02-20 | Model data processing system, rendering method, and model data processing program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6129456B2 (en) |
WO (1) | WO2016132523A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912411A (en) * | 2023-07-17 | 2023-10-20 | 杭州阳斯信息技术有限公司 | Digital power grid graph display intelligent algorithm |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341854A (en) * | 2017-06-05 | 2017-11-10 | 杭州坤天自动化系统有限公司 | Immersion 3D plant areas map automatic generation method, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197790A (en) * | 1992-01-21 | 1993-08-06 | Nippon Telegr & Teleph Corp <Ntt> | Map graphic data managing system |
JP2002324228A (en) * | 2001-04-25 | 2002-11-08 | Dream Technologies Kk | Data management device and map data storage system |
JP2005338496A (en) * | 2004-05-27 | 2005-12-08 | Mapquest:Kk | Display system of map or the like adopting method for quickly retrieving two-dimensional space data |
JP2009162840A (en) * | 2007-12-28 | 2009-07-23 | Mitsubishi Electric Corp | Drawing data management device |
JP2011215717A (en) * | 2010-03-31 | 2011-10-27 | Zenrin Co Ltd | Map-data management system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10172006A (en) * | 1996-12-10 | 1998-06-26 | Konami Co Ltd | Method and device for plotting processing of topography and mechanically readable recording medium with computer program recorded |
JP3649430B2 (en) * | 1999-06-30 | 2005-05-18 | 日立ソフトウエアエンジニアリング株式会社 | Graphic data management method and system, and storage medium |
JP4672383B2 (en) * | 2005-01-28 | 2011-04-20 | 三菱電機株式会社 | 3D map distribution database construction device and 3D map distribution system |
JP2009217000A (en) * | 2008-03-11 | 2009-09-24 | Fujitsu Microelectronics Ltd | Drawing processor, drawing processing program, and drawing processing method |
WO2011052004A1 (en) * | 2009-10-27 | 2011-05-05 | 三菱電機株式会社 | Map drawing device |
-
2015
- 2015-02-20 WO PCT/JP2015/054708 patent/WO2016132523A1/en active Application Filing
- 2015-02-20 JP JP2017500234A patent/JP6129456B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05197790A (en) * | 1992-01-21 | 1993-08-06 | Nippon Telegr & Teleph Corp <Ntt> | Map graphic data managing system |
JP2002324228A (en) * | 2001-04-25 | 2002-11-08 | Dream Technologies Kk | Data management device and map data storage system |
JP2005338496A (en) * | 2004-05-27 | 2005-12-08 | Mapquest:Kk | Display system of map or the like adopting method for quickly retrieving two-dimensional space data |
JP2009162840A (en) * | 2007-12-28 | 2009-07-23 | Mitsubishi Electric Corp | Drawing data management device |
JP2011215717A (en) * | 2010-03-31 | 2011-10-27 | Zenrin Co Ltd | Map-data management system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116912411A (en) * | 2023-07-17 | 2023-10-20 | 杭州阳斯信息技术有限公司 | Digital power grid graph display intelligent algorithm |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016132523A1 (en) | 2017-07-20 |
JP6129456B2 (en) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3170151B1 (en) | Blending between street view and earth view | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US10319062B2 (en) | Rendering map data using descriptions of raster differences | |
EP3249614A1 (en) | Three-dimensional map display system | |
CN111127590B (en) | Second-order Bezier curve drawing method and device | |
US20170132847A1 (en) | Method and System for Selectively Blending Buildings to Improve Route Visibility in a 3D Navigation System | |
CN110657804A (en) | Indoor location services | |
KR20200006001A (en) | Method and apparatus for augmenting reality | |
JP6129456B2 (en) | Model data processing system, drawing method, and model data processing program | |
CN111949816A (en) | Positioning processing method and device, electronic equipment and storage medium | |
EP3797264B1 (en) | Dynamic restyling of digital maps | |
US9846819B2 (en) | Map image display device, navigation device, and map image display method | |
CN110264546B (en) | Image synthesis method and device, computer-readable storage medium and terminal | |
JP5037660B2 (en) | Distribution apparatus and information distribution system | |
CN111383334B (en) | System and method for rendering objects | |
CN103675763A (en) | Hardware acceleration based vectorized VTS (vessel traffic service) system radar video drawing method | |
CN110363860B (en) | 3D model reconstruction method and device and electronic equipment | |
JP5888938B2 (en) | Drawing device | |
JP4551355B2 (en) | 3D map display device | |
JP6512425B2 (en) | 3D map display system | |
CN111369676A (en) | Map image processing method and device and vehicle-mounted equipment | |
JP4551356B2 (en) | 3D map display device | |
EP3998458A2 (en) | Method and apparatus for generating zebra crossing in high resolution map, and electronic device | |
CN115779418A (en) | Image rendering method and device, electronic equipment and storage medium | |
KR101318324B1 (en) | System for generating a walking route poi based on image |
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: 15882625 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017500234 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15882625 Country of ref document: EP Kind code of ref document: A1 |