WO2019151569A1 - 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법 - Google Patents

3차원 지리 정보 시스템 웹 서비스를 제공하는 방법 Download PDF

Info

Publication number
WO2019151569A1
WO2019151569A1 PCT/KR2018/003004 KR2018003004W WO2019151569A1 WO 2019151569 A1 WO2019151569 A1 WO 2019151569A1 KR 2018003004 W KR2018003004 W KR 2018003004W WO 2019151569 A1 WO2019151569 A1 WO 2019151569A1
Authority
WO
WIPO (PCT)
Prior art keywords
subcube
data
gis
web service
triangular mesh
Prior art date
Application number
PCT/KR2018/003004
Other languages
English (en)
French (fr)
Inventor
신상희
손성도
김학준
Original Assignee
가이아쓰리디 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020180017780A external-priority patent/KR102056788B1/ko
Application filed by 가이아쓰리디 주식회사 filed Critical 가이아쓰리디 주식회사
Priority to US16/618,560 priority Critical patent/US11158124B2/en
Publication of WO2019151569A1 publication Critical patent/WO2019151569A1/ko
Priority to US16/700,419 priority patent/US11217017B2/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Definitions

  • the present disclosure relates to a method of providing a 3D geographic information system web service as a whole, and more particularly, to a method of providing a 3D geographic information system (GIS) web service with improved response speed.
  • GIS geographic information system
  • the present disclosure relates to a method of processing 3D data for a web service and a system using the same as a whole, and more particularly, to a method of processing 3D data for a web service and a system using the same to improve response speed. will be.
  • GIS Geographic Information System
  • Korean Patent Publication No. 10-2010-0013059 Korean Patent Publication No. 10-2010-0013059
  • three-dimensional data visualization is a task that requires high performance.
  • a web browser-based thin-client web client
  • web client a web browser-based thin-client
  • most of the 3D GIS data is modeled on a large area such as city-level buildings / roads / main facilities or terrain, so almost all 3D GIS data are very large and heavy. Therefore, when a service client requests 3D GIS data from a data server, it is a natural logical consequence that the data server must provide optimized data so that the service client can handle only the minimum data that is necessary.
  • one of the methods used in other existing 3D rendering fields is the method of culling invisible 3D objects.
  • Gaming is one of the most developed and stable applications for improving 3D rendering performance.
  • game occupies frequently use occlusion culling and various occlusions.
  • Occlusion culling methods have been devised.
  • problems in using the occlusion culling methods used in the game field directly in 3D GIS web services are caused by the difference between the following game programs and GIS web service clients. do.
  • the game client always performs 3D rendering related to a specific scene, releases resources allocated for an existing scene when the scene changes, and retrieves data for the next scene.
  • 1 and 2 illustrate examples of a screen visualized without performing occlusion culling on the GIS data and a screen visualized by performing occlusion culling.
  • GIS geographic information system
  • BIM Building Information Modeling
  • FIG. 3 is a diagram showing an example of a system for processing BIM data, which is three-dimensional data, for use in the geographic information system described in Korean Patent Publication No. 1465483. For convenience of description, some of the reference symbols have been changed.
  • the system 10 for processing BIM data collects BIM data from the data collection unit 11, selects data of a triangular mesh form among the BIM data from the data selector 12, and converts the data from the data converter 13. Converts metric data to triangular mesh data.
  • the reason why the data conversion unit 13 converts parametric data among the BIM data into triangular mesh data is to transmit the 3D data as triangular mesh data when displaying on the user's screen through a web service. This is because it is suitable for lightening three-dimensional data, and the LOD generating unit 16 can easily create three-dimensional data of various LODs (Level of Detail).
  • the 3D data refers to all types of data in which a 3D object is stored as a digital signal, such as BIM data, triangular mesh data, and 3D drawing data.
  • FIG. 4 is a diagram illustrating a relationship between various LODs and triangular mesh data.
  • LOD means the level or level of precision.
  • the accuracy of the triangular mesh model displayed on the user's screen using the triangular mesh data is classified according to the degree. The accuracy is lower from left to right. Lower precision means that the number of triangles that make up the triangular mesh model displayed on the screen becomes smaller. That is, the number of triangles constituting the leftmost triangular mesh model 20 is 69,451, but the number of triangles constituting the rightmost triangular mesh model 23 is 76. As the number of triangles constituting the triangular mesh model (20, 21, 22, 23) decreases, the accuracy of the triangular mesh model (20, 21, 22, 23) displayed on the screen is lowered.
  • the size of the data in the form of a triangular mesh having a can be reduced.
  • the reason for creating triangular mesh data that supports multiple LODs is to maintain the accuracy of the triangular mesh model displayed on the user's screen at an appropriate level. This is because the display speed is important. For example, when displaying a triangular mesh model up close, as shown in FIG. 4 (b), data of a triangular mesh form that generates a high-precision triangular mesh model is required, but as shown in FIG. 4 (c).
  • the present disclosure provides a method of converting 3D data having a large capacity / high precision into a lightweight triangular mesh type data and a plurality of LODs of the lightweight triangular mesh type data for web service of 3D data having large capacity / high precision
  • the present invention relates to a method for adjusting the precision of data in the form of a triangular mesh, which is lightened, and to a system using the same.
  • the web client In a method of providing a three-dimensional geographic information system (GIS) web service using a web client and a server, at the server side, the web client An information processing step of processing the information to be transmitted to; And, at the request of the web client, the information transmission step of the server to transmit the information to be displayed on the screen of the web client to the web client;
  • the processed information is a three-dimensional object including an internal object Information about a three-dimensional object, each of which sets up at least one first subcube and a second subcube for that three-dimensional object, and uses the first subcube to process and index the visibility index.
  • GIS geographic information system
  • GIS geographic information system
  • a method of processing three-dimensional data for a web service comprising: receiving three-dimensional data of a three-dimensional object; Reducing the three-dimensional data of the received three-dimensional object into data in the form of a triangular mesh; And adjusting the precision of the triangular mesh model generated from the lightened triangular mesh type data, and reducing the three-dimensional data of the received three-dimensional object to the triangular mesh type data.
  • a method of processing three-dimensional data for a web service comprising: receiving three-dimensional data of a three-dimensional object; Reducing the three-dimensional data of the received three-dimensional object into data in the form of a triangular mesh; And adjusting the precision of the triangular mesh model generated from the data of the lightweight triangular mesh form; and adjusting the precision of the triangular mesh model generated from the data of the lightweight triangular mesh form the triangular mesh model.
  • a method of processing 3D data for a web service is provided.
  • 1 is an example of a screen visualized without performing occlusion culling on GIS data
  • 2 is an example of a screen visualized by performing occlusion culling on GIS data
  • FIG. 3 is a view showing an example of a system for processing BIM data, which is three-dimensional data, for use in a geographic information system described in Korean Patent Publication No. 1465483,
  • FIG. 4 is a diagram illustrating a relationship between various LODs and triangular mesh data
  • FIG. 5 is a diagram illustrating an example of an overall configuration of a three-dimensional GIS web service according to the present disclosure
  • 6 through 9 illustrate an example of a method of forming a visibility index according to the present disclosure
  • FIGS. 10 to 11 are diagrams illustrating an example of a method of forming a spatial index according to the present disclosure
  • FIG. 12 is a diagram illustrating a relationship between a first main cube and a second main cube, and a first sub cube and a second sub cube;
  • 13 to 14 illustrate a method of providing a web service using a pre-formed visibility index and a spatial index according to the present disclosure
  • 15 is a diagram illustrating an example of a system for web service of 3D data according to the present disclosure.
  • 16 is a view showing an example of a method for reducing the original three-dimensional data of the three-dimensional object in the form of triangular mesh data according to the present disclosure
  • FIG. 17 is a view illustrating an example of a method of selecting a point where a ray intersects a surface of a 3D object model by emitting a ray toward a 3D object model according to the present disclosure
  • FIG. 18 is a view illustrating another example of a method of selecting a point where a ray intersects a surface of the 3D object model by firing a ray toward the 3D object model according to the present disclosure
  • 19 to 21 is a view showing an example of a method of adjusting the precision of the triangular mesh model generated by the data in the form of a lightweight triangular mesh in accordance with the present disclosure
  • FIG. 5 is a diagram illustrating an example of an overall configuration of a 3D GIS web service according to the present disclosure.
  • the web service uses a web client 10 and a server 20.
  • the web client 10 may interwork with the server 20 to display the information transmitted from the server 20 on the screen 11 of the web client 10.
  • the server 20 requests the server 20 for internal data of a specific three-dimensional object (eg, large equipment such as a building, a ship / plant, main facilities, etc.) to be drawn on the screen 11, the server 20 ) Is to search and extract which 3D object's internal object is to be drawn and the corresponding full set of 3D object data.
  • the visibility index and spatial index according to the present disclosure are used. By significantly narrowing the scope of the target to information, it is possible to drastically reduce the execution time of the target task.
  • the server 20 may be understood as a means for encompassing both hardware and software provided on the server 20 side such as the data storage 21 and the index processor 22 included in the server 20.
  • FIG. 6 to 9 are diagrams illustrating an example of a method of forming a visibility index according to the present disclosure.
  • a first main cube surrounding a building 30, which is a specific three-dimensional object is illustrated in FIG. 6.
  • 40 set the main-cube, and then divide the horizontal / vertical / height sides of the first main cube 40 into 2 n pieces, and then divide the first main cube into a plane perpendicular to each side passing through the splitting point.
  • 40 is divided into 8 n first sub-cubes 41.
  • the photographing camera is positioned at the center of the C ijk (42, i-th horizontally, j-th vertically, and k-th sub-cubic height) among the first sub-cubes 41.
  • C ijk 42, i-th horizontally, j-th vertically, and k-th sub-cubic height
  • the object ID of the building inside the image is recorded as shown in FIG. 8.
  • FIG. 8 is a diagram illustrating an example of a visibility index extracted when a photographing camera is positioned at the center of a plurality of first subcubes. That is, FIG. 8 divides the visibility indexes of the internal objects seen from the six planes forming C ijk 42 on the basis of the planes viewed by the camera.
  • Figure 9 is C ijk , C i + 1jk , C i + jk
  • the visibility indexes of the internal objects viewed through the six planes constituting each of the first subcubes 41 are each first subcube.
  • the results in all plane directions are displayed without distinguishing the plane that the camera faces.
  • FIGS. 10 to 11 are diagrams illustrating an example of a method of forming a spatial index according to the present disclosure.
  • a second main cube surrounding a specific building 30 and having a different size from that of the first main cube 40 ( 50) divide the horizontal / vertical / height side of the second main cube 50 into 2 n pieces, and then cut the second main cube 50 into a plane perpendicular to each side passing through the splitting point. If so, it is divided into 8 n second sub-cubes 51.
  • the method of setting the second main cube 50 and the second subcube 51 is preferably the same as the method of setting the first main cube 40 and the first subcube 41 described above.
  • the spatial index is assigned an ID to an internal object located inside the second subcube 51.
  • FIG. 11 shows a plurality of second subcubes 51 (O xyz, O x + 1yz, O x + 2yz). Etc; O xyz denotes an internal object ID included in each of the i-th horizontally, the j-th vertically, and the k-th subcube of height).
  • the second subcube 51 has information on which building interior objects exist in which spatial areas.
  • FIG. 12 illustrates a relationship between a first main cube and a second main cube, and a first sub cube and a second sub cube according to the present disclosure.
  • the size of the second main cube 50 is preferably larger than that of the first main cube 40, and the size of the second sub cube 51 is also larger than that of the first sub cube 41.
  • the reason is that the first sub-cube 41 is for storing internal objects that are visible according to the position of the camera. Thus, the first sub cube 41 generates visibility information while moving the position of the camera densely. It is preferable that the size is smaller than that of the second lower cube 51 to be divided, but is not limited thereto.
  • 13 to 14 illustrate a method of providing a web service using a pre-formed visibility index and a spatial index according to the present disclosure.
  • the second subcube 51 in the field of view of the camera 60 is determined based on the position and the photographing direction of the camera 60, the second subcube 51 corresponds to the determined second subcube 51.
  • the internal object candidate group to be drawn on the screen is determined by the spatial index (S1). 13 (a) is described again with reference to FIGS. 13 (b), 13 (c) and 13 (d), which are plan views viewed from above. Also, for convenience of understanding, the internal objects 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, in FIGS. 13 (b), 13 (c), and 13 (d) are provided. 82 is shown. That is, referring to FIG.
  • each determined second sub cube is determined.
  • the internal objects 74, 78, 79, 80, 81, and 82 indicated by the spatial indexes of the cubes 513 and 514 are candidate groups to be drawn on the screen.
  • 13 (c) when the first subcube 414 in which the camera 60 is located is selected from among the plurality of first subcubes 411, 412, 413, 414, 415, 416, 417, 418, and 418.
  • the visibility index corresponding to the internal objects 72, 74, and 78 shown in the selected first subcube 414 is determined (S2). Subsequently, referring to FIG. 13 (d), an internal object located inside the second subcube 513, 514 determined from the visibility indexes corresponding to the internal objects 72, 74, and 78 shown in the first subcube 414. A visibility index corresponding to the internal objects 74 and 78 overlapping with the spatial index corresponding to 74, 78, 79, 80, 81, and 82 is further selected (S3). After that, only the internal objects 74 and 78 corresponding to the additionally selected visibility index are displayed on the screen of the web client (S4).
  • 15 is a diagram illustrating an example of a system for web service of 3D data according to the present disclosure.
  • a web client 110 for example, a PC
  • the server 120 transmits the 3D data having the appropriate LOD to the web client 110 via the Internet according to the request.
  • the server 120 includes hardware provided at the server 120 side such as the data receiver 121, the data converter 122, the LOD generator 123, and the data storage unit 124 included in the server 120. It can be understood as a means to encompass all of the software.
  • the data receiver 121 receives 3D data of a specific 3D object to be drawn on the screen 111 of the web client 110.
  • the data converter 122 converts the 3D data of the received 3D object into data of a triangular mesh form that is lightened by the method according to the present disclosure. A detailed method will be described with reference to FIGS. 16 to 18.
  • the LOD generator 123 generates data of a plurality of triangular mesh types having various precisions by using data of a lightweight triangular mesh type. A detailed method will be described with reference to FIGS. 19 to 21.
  • the data storage unit 124 stores a plurality of triangular mesh data generated by the LOD generating unit 123 and is suitable for a 3D object to be displayed on the screen 111 at the request of the web client 110. After selecting the data in the form of a triangular mesh generating a triangular mesh model with precision and transmits to the web client (110).
  • the data receiver 121, the data converter 122, the LOD generator 123, and the data storage 124 provided on the server 120 are displayed on the screen 111 at the request of the web client 110.
  • the 3D data can be lightened in real time when the web service is to be performed on the 3D object to be desired, preferably, the 3D data is lightened before the web service for fast web service. ) Is a good idea.
  • FIG. 16 is a view illustrating an example of a method of lightweighting three-dimensional data of a three-dimensional object in the form of a triangular mesh according to the present disclosure.
  • the 3D object model 200 is generated by using 3D data of the 3D object received by the data receiver 121.
  • the generated 3D object model 200 may be displayed on the screen .
  • a ray is emitted toward the generated 3D object model 200 to select a point 210 at which the surface 201 and the ray of the 3D object model 200 intersect.
  • the triangular mesh 220 is formed using the point 210 where the surface 201 of the 3D object model 200 and the ray intersect to obtain a triangular mesh model 221.
  • the triangular mesh model 221 is one kind of the three-dimensional object model 200. That is, the three-dimensional object model 200 is composed of a triangular mesh is called a triangular mesh model 221.
  • FIG. 17 is a diagram illustrating an example of a method of selecting a point where a ray intersects a surface of the 3D object model by emitting a ray toward the 3D object model according to the present disclosure.
  • the 3D object model 200 is surrounded by a rectangular parallelepiped 230. Then, a ray is emitted toward the three-dimensional object model in a direction perpendicular to each plane constituting the cube.
  • the six faces that make up the cuboid are divided into a grid of regular intervals.
  • the upper surface 231 of the six surfaces of the rectangular parallelepiped 230 is divided by the lattice structure 232 at regular intervals. The beam is then fired in a direction perpendicular to the three-dimensional object model 200 at each grid point 233.
  • FIG. 16B A point 210 at which the light emitted vertically and the surface 201 of the 3D object model 200 intersect is illustrated in FIG. 16B.
  • the 3D object model 200 is surrounded by a rectangular parallelepiped 230 so that the 3D object model 200 is displayed on the screen for the sake of understanding, and the beams vertically emitted and the surface of the 3D object model 200 are displayed.
  • the point 210 where the 201 intersects is displayed so that it can be seen by eye, but the point 210 where the ray emitted vertically and the surface 201 of the 3D object model 200 intersect with each other without being displayed on the screen. You can get it.
  • a graphics card can be used to obtain a point 210 where the ray emitted vertically and the surface 201 of the three-dimensional object model 200 intersect through graphics operations (eg off-screen rendering), or If there is three-dimensional data, a simple linear algebra that simultaneously solves the equations of the plane and the equation of the straight line can be used to determine the intersection point 210 of the ray emitted vertically and the surface 201 of the three-dimensional object model 200. Various known techniques can be used, such as being available. In order to improve the accuracy of the triangular mesh model 221, the spacing between the grids in the grid structure 232 may be reduced.
  • FIG. 17 (b) shows a triangular mesh model 222 obtained by performing the same operation on the right plane 234 constituting the rectangular parallelepiped 230.
  • FIG. 17 (c) shows a triangular mesh model 223 incorporating the respective results obtained by performing the same operation for all planes constituting the cuboid 230.
  • the 3D object model 200 is transformed into a triangular mesh model 223.
  • the triangular mesh models 221, 222, and 223 made as described above are stored as data in the form of triangular mesh, and a large amount of three-dimensional data can be reduced to triangular mesh form.
  • FIG. 18 is a diagram illustrating another example of a method of selecting a point where a ray intersects a surface of the 3D object model by emitting a ray toward the 3D object model according to the present disclosure.
  • a triangular mesh cannot be constructed on an inner surface of a structure that is empty, such as an indoor building or an iron rod.
  • a structure that is empty, such as an indoor building or an iron rod.
  • FIG. 18 (b) shows a triangular mesh model for four pillars 301, 302, 303, and 304.
  • the rectangular parallelepiped 310 surrounding the three-dimensional object model 300 is 8
  • the three lower cubes (311, 312, 313, 314, 315, 316, 317, 318) are divided, and then each of the cubes is used to obtain a triangular mesh model. Thereafter, the triangular mesh models including the invisible structures may be obtained with respect to the three-dimensional object model 300 having the invisible structure by combining the obtained triangular mesh models.
  • the number of lower cuboids is 8, but the number of lower cuboids can be increased or decreased as necessary.
  • 19 to 21 are diagrams illustrating an example of a method of adjusting the precision of a triangular mesh model generated by data in the form of a lightweight triangular mesh according to the present disclosure.
  • Adjusting the precision (LOD) of the triangular mesh model generated using the triangular mesh type data requires increasing the number of triangles used in the triangular mesh model to increase the LOD as described in FIG. We need to reduce the number of triangles used.
  • the present disclosure provides a method of reducing the number of triangles used in a triangular mesh model in order to lighten the data in the form of a triangular mesh.
  • edges of triangles constituting the triangular mesh model are divided into a frontier edge 401 and an inner edge 402. do.
  • Frontier edge 401 refers to the edge corresponding to the edge of the triangular mesh 400
  • the inner edge 402 refers to the edge inside the triangular mesh model 400.
  • Logically separating frontier and inner edges is simple. When one triangle has a specific edge as a side, it is a frontier edge, and when there are two triangles as a side, it is an inner edge.
  • a method of reducing the number of triangles used in the triangular mesh model is called an edge collapse technique.
  • the edge destruction technique is to destroy an edge by destroying an edge.
  • Destroying an edge means that one edge of the edge is moved to the opposite endpoint and matched so that the length of the edge is zero to remove it geometrically. For example, as shown in FIG. 19B, when the edge 403 to be extinguished is moved in the direction of the arrow so that the length of the edge 403 is zero, the triangles 404 and 404 are extinguished.
  • the criteria for deciding whether or not to lower the LOD through edge extinction depend on whether the extinguished edge is a frontier edge or an inner edge. The case where the extinct edge is an inner edge is demonstrated in FIG. The case where the extinct edge is the frontier edge will be described with reference to FIG. 21.
  • an extinct edge is an inner edge
  • the triangles whose shapes are changed by the extinguished inner edges are lowered based on the angle formed by each normal vector before the shape is changed and after the shape is changed. Determine whether the precision is within the allowable range. For example, referring to FIG. 20 (a), if the inner edges 411 and 421 of the right ridge are extinct in the direction of an arrow with respect to two pyramidal triangular mesh models 410 and 420 having the same height but different heights, FIG. 20. As shown in (b), it becomes a rectangular triangular mesh model 430 consisting of two triangles having the same shape.
  • the reference value for determining whether it is within the allowable range is set in advance.
  • the reference value for determining whether it is within the allowable range may be determined based on whether the user is present. For example, you might not want to change the shape beyond what your users will notice.
  • the triangular mesh models 410 and 420 having different heights described with reference to FIG. 20 will be described.
  • the inner edge When the angle 415 formed by the normal vector of the triangular mesh model 410 having a high height is larger than the reference value, the inner edge ( When the angle 415 formed by the normal vector of the triangular mesh model 420 having a low height is smaller than the reference value without destroying 411, the inner edge 421 is extinguished. That is, the inner edge is extinguished only when there is a change smaller than the reference value according to the predetermined reference value, thereby reducing the data size of the triangular mesh form. Therefore, when there are several reference values, triangular mesh data having a plurality of precisions may be generated.
  • the criteria for selecting which of the two end points of the inner edge to move to see if the inner edge can be destroyed is allowed only if the adjacent edges that are affected when the end point is moved are all inner edges. If you move two endpoints, in both cases only the inner edges are affected. In both cases, test whether the inner edges can be destroyed.
  • the reference value for determining whether or not within the allowable range may be determined based on whether the user.
  • the extinction may be performed because the angle change 504 of the adjacent frontier edge 502 affected by the extinction operation is larger than the reference value.
  • the frontier edge 501 is moved away in the direction of the left arrow to destroy it, it may be determined that the edge annihilation can be performed since the angle change 505 of the adjacent frontier edge 503 affected by the extinction operation is smaller than the reference value.
  • . 21 (c) shows a triangular mesh model 511 in which the triangular mesh model 510 is lightened using an edge extinction technique according to the present disclosure.
  • the texture is applied to the triangular mesh models 611, 612, 613, and 614 according to a plurality of LODs obtained by reducing the weight of the three-dimensional object model 610 using the three-dimensional data to triangular mesh form and then adjusting the precision.
  • the three-dimensional object model 610 is a triangular mesh model consisting of a triangular mesh. However, the number of triangular meshes constituting the triangular mesh model is 410,346, which corresponds to the high-precision triangular mesh model.
  • a triangular mesh model 611 was obtained by applying a lattice structure to the triangular mesh model 610 having high precision.
  • the spacing of the lattice structure is 50 cm, and the spacing of the lattice structure can be changed as necessary.
  • the triangular mesh models 612, 613, and 614 having various precisions were obtained by applying a plurality of reference values.
  • the inner edge extinction reference value is 20 ° and the frontier edge extinction reference value is 5 ° when the precision is low, and the reference value may be changed as necessary.
  • 5,252 triangles make up the triangular mesh model 614 having the lowest precision, and data weight is 1.28% smaller than that of the 3D object model 610.
  • the present disclosure can be applied to all fields of web service of a large amount of three-dimensional data in real time.
  • a method for providing a three-dimensional geographic information system (GIS) web service using a web client and a server comprising: an information processing step of processing information to be transmitted to a web client at a server side; And, at the request of the web client, the information transmission step of the server to transmit the information to be displayed on the screen of the web client to the web client;
  • the processed information is a three-dimensional object including an internal object Information about a three-dimensional object, each of which sets up at least one first subcube and a second subcube for that three-dimensional object, and uses the first subcube to process and index the visibility index.
  • GIS geographic information system
  • the visibility index indicates that when the camera is located inside each first subcube, all the cameras see without regard to the plane direction the camera sees the internal objects seen through the plane constituting the first subcube.
  • GIS geographic information system
  • a spatial index provides a three-dimensional geographic information system (GIS) web service that indexes internal objects located within each second subcube.
  • GIS geographic information system
  • the first sub-cube sets the first main cube for the 3D object, divides the horizontal / vertical / height sides of the first main cube into 2 n , and then passes through a plane passing through the splitting point. 8
  • GIS geographic information system
  • GIS geographic information system
  • the web client's request includes information about the camera position and shooting direction, and the server provides a three-dimensional geographic information system (GIS) web service that finds a corresponding second subcube based on the camera position and shooting direction. How to.
  • GIS geographic information system
  • GIS Geographic Information System
  • the visibility index of each first subcube overlaps with the spatial index of each second subcube among the visibility indexes of each first subcube for the spatial index of each second subcube.
  • GIS geographic information system
  • (9) a method for processing three-dimensional data for a web service, the method comprising: receiving three-dimensional data of a three-dimensional object; Reducing the three-dimensional data of the received three-dimensional object into data in the form of a triangular mesh; And adjusting the precision of the triangular mesh model generated from the lightened triangular mesh type data, and reducing the three-dimensional data of the received three-dimensional object to the triangular mesh type data.
  • the step of firing a ray toward the three-dimensional object model to select the intersection point of the surface and the ray of the three-dimensional object model is to surround the three-dimensional object model in a cube and then in each plane constituting the cube.
  • a method of processing three-dimensional data for a web service that emits rays toward a three-dimensional object model in a vertical direction.
  • Adjusting the precision of the triangular mesh model generated from the data of the lightweight triangular mesh form divides each edge of the triangle constituting the triangular mesh model into a frontier edge and an inner edge. step; Extinguishing at least one edge of a frontier edge and an inner edge for each of the triangles constituting the triangular mesh model; And determining whether or not the precision lowered by the expired edge is within an allowable range.
  • the step of determining whether the precision lowered by the extinguished edge is within the allowable range is that when the extinguished edge is an inner edge, each normal before the shape is changed for all the triangles whose shape is changed by the extinguished inner edge.
  • a method of processing three-dimensional data for a web service that determines whether the reduced precision is within an allowable range based on the angle formed by each vector and the normal vector after the shape is changed.
  • the step of determining whether the precision lowered by the expired edge is within the allowable range is based on an angle difference before and after the extinction of the adjacent frontier edge connected to the destroyed frontier edge when the destroyed edge is the frontier edge.
  • a method of processing three-dimensional data for a web service that determines whether the lowered precision is within an acceptable range.
  • a method for processing three-dimensional data for a web service comprising: receiving three-dimensional data of a three-dimensional object; Reducing the three-dimensional data of the received three-dimensional object into data in the form of a triangular mesh; And adjusting the precision of the triangular mesh model generated from the data of the lightweight triangular mesh form; and adjusting the precision of the triangular mesh model generated from the data of the lightweight triangular mesh form the triangular mesh model.
  • the step of determining whether the precision lowered by the extinguished edge is within the allowable value is that if the extinguished edge is an inner edge, each normal vector before the shape is changed for all the triangles whose shape is changed by the extinguished inner edge.
  • a method of processing three-dimensional data for a web service that determines an allowable range based on an angle formed by each normal vector after the shape and shape change.
  • a method of providing a three-dimensional geographic information system (GIS) web service According to a method of providing a three-dimensional geographic information system (GIS) web service according to the present disclosure, a method of providing a three-dimensional geographic information system (GIS) web service with improved response speed is provided.
  • GIS geographic information system
  • a method for providing a 3D GIS web service using a visibility index and a spatial index is provided.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Remote Sensing (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시는 웹 클라이언트와 서버를 이용하여, 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 있어서, 서버 측에서, 웹 클라이언트에 전송될 정보를 가공하는 정보 가공 단계; 그리고, 웹 클라이언트의 요청에 따라, 웹 클라이언트의 화면에 디스플레이 될 정보를 서버가 웹 클라이언트로 전송하는 정보 전송 단계;를 포함하며, 정보 가공 단계에서, 가공되는 정보는 내부 객체를 포함하는 3차원 객체에 대한 정보를 포함하며, 3차원 객체에 대한 정보는 해당 3차원 객체에 대해 적어도 하나의 제1 하위 큐브 및 제2 하위 큐브를 각각 설정하고, 제1 하위 큐브를 사용하여 가시성 색인을 가공하고 제2 하위 큐브를 사용하여 공간 색인을 가공하며, 정보 전송 단계에서, 가시성 색인 중 공간 색인과 중첩되는 가시성 색인에 해당하는 내부 객체를 정보 전송하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 관한 것이다.

Description

3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
본 개시(Disclosure)는 전체적으로 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법에 관한 것으로, 특히 응답 속도가 향상된 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 관한 것이다.
또한 본 개시(Disclosure)는 전체적으로 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템에 관한 것으로, 특히 응답 속도가 향상되도록 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템에 관한 것이다.
여기서는, 본 개시에 관한 배경기술이 제공되며, 이들이 반드시 공지기술을 의미하는 것은 아니다(This section provides background information related to the present disclosure which is not necessarily prior art).
지리 정보 시스템(GIS; Geographic Information System)은 지리 공간 정보(Geospatial Data)를 다루는 시스템을 의미한다(예: 한국 공개특허공보 제10-2010-0013059호).
3차원 GIS 웹 서비스에 있어서, 3차원 데이터 가시화 작업(3차원 렌더링)은 높은 성능을 요구하는 작업임이 분명하고 GIS 웹 서비스에서는 웹 브라우저를 기반으로 하는 thin-client(웹 클라이언트)를 서비스 클라이언트로 사용한다는 것을 감안한다면, GIS 웹 서비스 분야에서는 3차원 GIS 데이터를 취급하기가 매우 어렵다는 것을 예측할 수 있다. 왜냐하면, 3차원 GIS 데이터의 경우 도시 수준 규모의 건물/도로/주요시설물이나 지형과 같은 넓은 지역을 모델링하는 경우가 대부분이어서 거의 모든 3차원 GIS 데이터가 매우 용량이 크고 무겁기 때문이다. 따라서 서비스 클라이언트가 데이터 서버에게 3차원 GIS 데이터를 요청할 경우 데이터 서버는 미리 최적화되어 있는 데이터를 제공하여 서비스 클라이언트가 꼭 필요한 최소한의 데이터만을 취급할 수 있게 해야 함은 자연스러운 논리적 귀결이다.
서비스 클라이언트에 제공하는 3차원 GIS 데이터를 최적화하는 작업에 사용해볼 수 있는 방법들 중에서, 기존의 다른 3차원 렌더링 분야에서 활용되는 방법 중에 하나인, 화면에 보이지 않는 3차원 객체들을 도태시키는 방법(culling)도 좋은 방법이라 할 수 있는데, 그 중에서도 앞쪽에 위치한 3차원 객체에 의해 가려진 뒤쪽의 3차원 객체를 도태시키는 오클루젼 컬링(occlusion culling)은 3차원 GIS 데이터를 최적화함에 있어서 매우 좋은 방법이라 할 수 있다. 왜냐하면 최소 도시 수준 규모 이상의 GIS 데이터들을 다루는 GIS 웹 서비스의 특성상 오클루젼 컬링(occlusion culling)에 의해 제거되는 3차원 객체들이 매우 많을 것임이 당연하기 때문이다.
3차원 렌더링의 성능향상을 위해 가장 많은 기술들이 개발되고 안정적으로 적용되고 있는 분야가 게임 분야라고 할 수 있는데, 당연히 게임분야에서는 오클루젼 컬링(occlusion culling)을 빈번히 사용하고 있고, 여러 가지 오클루젼 컬링(occlusion culling) 방법들이 고안되어 있다. 그러나 게임분야에서 활용되고 있는 오클루젼 컬링(occlusion culling) 방법들을 직접 3차원 GIS 웹 서비스에서 활용하기에는 문제점들이 많다고 할 수 있는데, 이러한 문제점들은 다음과 같은 게임 프로그램과 GIS 웹 서비스 클라이언트의 차이점에서 기인한다.
첫째, 무거운 3차원 렌더링을 수행하는 게임들은 대부분 매우 성능이 좋은 thick-client를 전용 클라이언트로(pc에서 구동되는 exe나 dll 파일들) 사용한다.
둘째, 온라인 게임이라 하더라도 게임 설치시 대부분의 무거운 3차원 객체 데이터를 같이 설치하여 게임 클라이언트가 run-time때에 서버와 통신하면서 해당 데이터들을 취급할 필요가 없다.
셋째, 게임 내 3차원 공간을 scene 단위로 구분하여 게임 클라이언트는 항상 특정 scene에 관련된 3차원 렌더링만 수행하고, scene이 변경될 경우 기존 scene을 위해 할당한 자원들을 해제하고, 다음 scene에 필요한 데이터들을 읽는 zone-loading 방법을 사용한다. 게임을 사용하는 이용자들도 이러한 zone-loading에 대해 거부감이 없다. 즉, 제한된 특정 공간 안에서 최적화된 오클루젼 컬링(occlusion culling) 방법을 사용한다고 할 수 있다.
반면, 실제 도시나 지형을 모델링한 3차원 객체들 사이에서 연속적인 카메라 워킹(camera working)을 수행해야 하는 3차원 GIS 웹 서비스의 특성상 이러한 zone-loading 방법에 특화된 오클루젼 컬링(occlusion culling)을 사용하기는 어렵다.
도 1 및 도 2는 GIS 데이터에 오클루젼 컬링(occlusion culling)을 수행하지 않고 가시화한 화면과 오클루젼 컬링(occlusion culling)을 수행하여 가시화한 화면의 예를 나타내고 있다.
3차원 GIS 웹 서비스를 제공함에 있어서, 오클루젼 컬링(occlusion culling)을 이용함으로써, 웹 클라이언트의 성능을 향상시킬 수 있다. 그러나 전술한 바와 같이, 이것만으로는 부족하며, 오클루젼 컬링(occlusion culling)에 이용되는 정보로서, 3차원 지리 공간 정보(3D Geospatial Data), 특히 3차원 지리 공간 정보(3D Geospatial Data) 상의 건물에 대해 본 개시에 따른 가시성 색인(visibility index)을 미리 마련해둠으로써, 3차원 GIS 웹 서비스의 성능을 향상시킬 수 있게 된다.
최근 인터넷의 발달로 3차원 데이터를 실시간으로 웹 서비스하는 것에 대하여 관심이 증가하고 있다. 예를 들어 3차원 데이터를 사용한 지리 정보 시스템(GIS; Geographic Information System)에 대한 개발이 활발히 이루어지고 있다. 또한 BIM(Building Information Modeling) 데이터를 사용하여 지리 정보 시스템을 통해 웹 서비스하는 기술도 개발되고 있다. 또한 건축 및 토목 분야나 대규모 기계설비 분야 등에서 제작된 3차원 도면 데이터를 웹 서비스하는 분야도 기술 개발이 활발히 이루어지고 있다.
도 3은 한국 등록특허공보 제1465483호에 기재된 지리 정보 시스템에 사용하기 위해서 3차원 데이터인 BIM 데이터를 처리하는 시스템의 일 예를 보여주는 도면이다. 설명의 편의를 위해 도면기호의 일부를 변경하였다.
BIM 데이터를 처리하는 시스템(10)은 데이터 수집부(11)에서 BIM 데이터를 수집하고, 데이터 선별부(12)에서 BIM 데이터 중 삼각 메쉬 형태의 데이터를 선별하고, 데이터 변환부(13)에서 파라메트릭 형태의 데이터를 삼각 메쉬 형태의 데이터로 변환한다. 데이터 변환부(13)가 BIM 데이터 중 파라메트릭 형태의 데이터를 삼각 메쉬 형태의 데이터로 변환하는 이유는 3차원 데이터를 웹 서비스를 통해 사용자의 화면에 표시할 때 삼각 메쉬 형태의 데이터로 전송하여 화면에 표시하는 것이 3차원 데이터를 경량화하는데 적합하고, LOD 생성부(16)에 의해 다양한 LOD(Level of Detail)의 3차원 데이터를 쉽게 만들 수 있기 때문이다. 본 명세서에서 3차원 데이터는 BIM 데이터, 삼각 메쉬 형태의 데이터, 3차원 도면 데이터 등 3차원 객체를 디지털 신호로 저장한 모든 형태의 데이터를 의미한다.
도 4는 다양한 LOD 와 삼각 메쉬 형태의 데이터의 관계를 설명하는 도면이다.
LOD는 정밀도의 수준 혹은 레벨을 의미한다. 도 4(a)를 보면 삼각 메쉬 형태의 데이터를 사용하여 사용자의 화면에 표시된 삼각 메쉬 모델의 정밀도를 정도에 따라 구분한 것을 보여준다. 좌측에서 우측으로 갈수록 정밀도가 낮아진다. 정밀도가 낮아진다는 것은 화면에 표시된 삼각 메쉬 모델을 구성하고 있는 삼각형의 갯수가 작아진다는 것을 의미한다. 즉 가장 좌측의 삼각 메쉬 모델(20)을 구성하고 있는 삼각형의 갯수는 69,451 개이지만 가장 우측의 삼각 메쉬 모델(23)을 구성하고 있는 삼각형의 갯수는 76 개이다. 삼각 메쉬 모델(20, 21, 22, 23)을 구성하고 있는 삼각형의 갯수가 줄어들수록 화면에 표시되는 삼각 메쉬 모델(20, 21, 22, 23)의 정밀도는 낮아지는 만큼 삼각 메쉬 모델에 대한 정보를 갖고 있는 삼각 메쉬 형태의 데이터 크기가 작아질 수 있다. 복수의 LOD를 지원하는 삼각 메쉬 형태의 데이터를 만드는 이유는 사용자의 화면에 표시되는 삼각 메쉬 모델의 정밀도를 적절한 수준으로 유지하는 것이 삼각 메쉬 형태의 데이터를 인터넷을 통해 전송하는 속도와 사용자의 화면에 표시하는 속도 향상에 중요하기 때문이다. 예를 들어 도 4(b)와 같이 삼각 메쉬 모델을 가까이에서 보는 경우를 화면에 표시할 때는 이에 맞는 높은 정밀도의 삼각 메쉬 모델을 생성하는 삼각 메쉬 형태의 데이터를 사용해야되지만 도 4(c)와 같이 삼각 메쉬 모델을 멀리에서 보는 경우를 화면에 표시할 때는 화면에 표시될 삼각 메쉬 모델이 많아지는 것을 의미하기 때문에 낮은 정밀도의 삼각 메쉬 모델을 생성하는 삼각 메쉬 형태의 데이터를 사용해야 웹 서비스 시스템의 성능 저하 및 전송 속도의 저하 등을 막을 수 있다. 다만 인간의 눈으로는 구분할 수 없는 한도 내에서 정밀도를 낮추는 것이 중요하다.
본 개시는 대용량/고정밀을 갖는 3차원 데이터를 웹 서비스하기 위해서 대용량/고정밀을 갖는 3차원 데이터를 경량화된 삼각 메쉬 형태의 데이터로 변환하는 방법 및 경량화된 삼각 메쉬 형태의 데이터를 복수의 LOD를 지원하도록 경량화된 삼각 메쉬 형태의 데이터의 정밀도를 조정하는 방법과 이를 사용하는 시스템에 대한 발명이다.
이에 대하여 '발명의 실시를 위한 형태'의 후단에 기술한다.
여기서는, 본 개시의 전체적인 요약(Summary)이 제공되며, 이것이 본 개시의 외연을 제한하는 것으로 이해되어서는 아니된다(This section provides a general summaryof the disclosure and is not a comprehensive disclosure of its fullscope or all of its features).
본 개시에 따른 일 태양에 의하면(According to one aspect of the present disclosure), 웹 클라이언트와 서버를 이용하여, 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 있어서, 서버 측에서, 웹 클라이언트에 전송될 정보를 가공하는 정보 가공 단계; 그리고, 웹 클라이언트의 요청에 따라, 웹 클라이언트의 화면에 디스플레이 될 정보를 서버가 웹 클라이언트로 전송하는 정보 전송 단계;를 포함하며, 정보 가공 단계에서, 가공되는 정보는 내부 객체를 포함하는 3차원 객체에 대한 정보를 포함하며, 3차원 객체에 대한 정보는 해당 3차원 객체에 대해 적어도 하나의 제1 하위 큐브 및 제2 하위 큐브를 각각 설정하고, 제1 하위 큐브를 사용하여 가시성 색인을 가공하고 제2 하위 큐브를 사용하여 공간 색인을 가공하며, 정보 전송 단계에서, 가시성 색인 중 공간 색인과 중첩되는 가시성 색인에 해당하는 내부 객체를 정보 전송하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법이 제공된다.
본 개시에 따른 다른 일 태양에 의하면(According to another aspect of the present disclosure), 웹 서비스를 위한 3차원 데이터를 처리하는 방법에 있어서, 3차원 객체의 3차원 데이터를 수신하는 단계; 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계; 그리고 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계;를 포함하며, 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계는 수신된 3차원 객체의 3차원 데이터를 사용하여 3차원 객체 모델을 생성하는 단계; 생성된 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 단계; 그리고 3차원 객체 모델의 표면과 광선이 교차하는 지점을 이용하여 삼각 메쉬 모델을 구성하는 단계;를 포함하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법이 제공된다.
본 개시에 따른 다른 태양에 의하면(According to another aspect of the present disclosure), 웹 서비스를 위한 3차원 데이터를 처리하는 방법에 있어서, 3차원 객체의 3차원 데이터를 수신하는 단계; 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계; 그리고 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계;를 포함하며, 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계는 삼각 메쉬 모델을 구성하는 삼각형 각각의 엣지를 프론티어 엣지(Frontier edge)와 이너 엣지(Inner edge)로 구분하는 단계; 삼각 메쉬 모델을 구성하는 삼각형 각각에 대해 프론티어 엣지와 이너 엣지 중 적어도 하나의 엣지를 소멸시키는 단계; 그리고 소멸된 엣지에 의해 낮아진 정밀도가 허용치 이내인지 여부를 판단하는 단계;를 포함하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법이 제공된다.
이에 대하여 '발명의 실시를 위한 형태'의 후단에 기술한다.
도 1은 GIS 데이터에 오클루젼 컬링(occlusion culling)을 수행하지 않고 가시화한 화면의 일 예,
도 2는 GIS 데이터에 오클루젼 컬링(occlusion culling)을수행하여 가시화한 화면의 일 예,
도 3은 한국 등록특허공보 제1465483호에 기재된 지리 정보 시스템에 사용하기 위해서 3차원 데이터인 BIM 데이터를 처리하는 시스템의 일 예를 보여주는 도면,
도 4는 다양한 LOD 와 삼각 메쉬 형태의 데이터의 관계를 설명하는 도면,
도 5는 본 개시에 따른 3차원 GIS 웹 서비스의 전체 구성의 일 예를 나타내는 도면,
도 6 내지 도 9는 본 개시에 따라 가시성 색인을 형성하는 방법의 일 예를 나타내는 도면,
도 10 내지 도 11은 본 개시에 따른 공간 색인을 형성하는 방법의 일 예를 나타내는 도면,
도 12는 제1 메인 큐브와 제2 메인 큐브 및 제1 하위 큐브와 제2 하위 큐브 사이의 관계를 나타내는 도면,
도 13 내지 도 14는 본 개시에 따른 미리 형성한 가시성 색인과 공간 색인을 활용하여 웹 서비스를 제공하는 방법을 보여주는 도면,
도 15는 본 개시에 따른 3차원 데이터를 웹 서비스하는 시스템의 일 예를 나타내는 도면,
도 16은 본 개시에 따른 3차원 객체의 원본 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 방법의 일 예를 보여주는 도면,
도 17은 본 개시에 따른 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 방법의 일 예를 보여주는 도면,
도 18은 본 개시에 따른 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 방법의 다른 일 예를 보여주는 도면,
도 19 내지 21은 본 개시에 따라 경량화된 삼각 메쉬 형태의 데이터에 의해 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 방법의 일 예를 보여주는 도면,
도 22 내지 도 23은 본 개시를 적용한 실시 예를 보여주는 도면.
이하, 본 개시를 첨부된 도면을 참고로 하여 자세하게 설명한다(The present disclosure will now be described in detail with reference to the accompanying drawing(s)). 또한 본 명세서에서 상측/하측, 위/아래 등과 같은 방향 표시는 도면을 기준으로 한다.
도 5는 본 개시에 따른 3차원 GIS 웹 서비스의 전체 구성의 일 예를 나타내는 도면으로, 웹 서비스는 웹 클라이언트(10)와 서버(20)를 이용한다.
웹 클라이언트(10; 예: PC)가 서버(20)와 연동하여, 웹 클라이언트(10)에 구비된 화면(11)에 서버(20)로부터 전송된 정보를 디스플레이 할 수 있다. 웹 클라이언트(10)가 화면(11)에 그려질 특정 3차원 객체(예 : 건물, 선박/플랜트 등의 대형설비류, 주요시설물 등)의 내부 데이터를 서버(20)에 요청하면, 서버(20)는 어떤 3차원 객체의 내부 객체가 그려져야 할지, 가지고 있는 해당 3차원 객체 데이터 full set을 대상으로 검색 및 추출을 해야 하는데, 본 개시에 따른 가시성 색인(visibility index) 및 공간 색인(spatial index) 정보로 그 대상 범위를 현격히 좁힘으로써, 대상 작업 수행 시간을 현격히 줄일 수 있게 된다.
서버(20)는 서버(20)가 구비하는 데이터 저장부(21) 및 색인 처리부(22)와 같은 서버(20) 측에 구비되는 하드웨어 및 소프트웨어 모두를 포괄하는 수단으로 이해될 수 있다.
도 6 내지 도 9는 본 개시에 따라 가시성 색인을 형성하는 방법의 일 예를 나타내는 도면으로서, 먼저, 도 6에 도시된 바와 같이, 특정 3차원 객체인 건물 (30)을 감싸는 제1 메인 큐브(40; main-cube)를 설정한 다음, 제1 메인 큐브(40)의 가로/세로/높이 변을 2n개로 분할한 후, 해당 분할 지점을 지나는 각 변에 수직인 평면으로 제1 메인 큐브(40)를 자르게 되면, 8n개의 제1 하위 큐브(41; sub-cube)로나누어진다. 나눠진 각각의 제1 하위 큐브(41)를 가시성 색인을 추출하기 위한 공간으로 지정한다. 예를 들어, n=1인 경우에, 8개의 제1 하위 큐브로 분할된다.
다음으로, 도 7에 도시된 바와 같이, 제1 하위 큐브(41) 중 Cijk(42, 가로로 i번째, 세로로 j번째, 높이로 k번째의 제1 하위 큐브)의 중앙에 촬영 카메라를 위치시켰다고 가정하고, Cijk(42)를 이루는 6개의 평면(6 surfaces:동(east), 서(west), 남(south), 북(north), 위(top), 아래(bottom))에 수직인 방향(화살표 참조)으로 Cijk(42) 바깥을 촬영한다고 할 때 촬영화면에 보이는 건물 내부 객체 ID를 도 8에 제시된 것과 같이 기록한다. 이것이 본 개시에 따른 가시성 색인, 즉, Cijk(42)의 가시성 색인을 구성한다. 도 8을 참조하면, Cijk(42)의 경우에, 아래(bottom) 평면을 통해 ID가 545인 내부 객체와 ID가 555인 내부 객체가 보인다는 것을 의미한다. 도 8은 복수의 제1 하위 큐브의 중앙에 촬영 카메라를 위치시켰다고 가정했을 때 추출된 가시성 색인의 일 예를 보여주는 도면이다. 즉 Cijk(42)를 이루는 6개의 평면에서 보이는 내부 객체의 가시성 색인을 카메라가 바라보는 평면을 기준으로 구분한 것이 도 8이다. 반면에 도 9는 Cijk , Ci + 1jk , Ci + jk 등 복수의 제1 하위 큐브(41) 중앙에 촬영 카메라를 위치시켰다고 가정했을 때 각각의 제1 하위 큐브(41)를 구성하는 6 개의 평면을 통해 보이는 내부 객체의 가시성 색인을 각각의 제1 하위 큐브(41)에 대해 카메라가 바라보는 평면을 구분하지 않고 모든 평면 방향의 결과를 표시한 것이다.
도 10 내지 도 11은 본 개시에 따른 공간 색인을 형성하는 방법의 일 예를 나타내는 도면으로서, 먼저, 특정 건물(30)을 감싸며 제1 메인 큐브(40)와 다른 크기를 갖는 제2 메인 큐브(50)를 설정한 다음, 제2 메인 큐브(50)의 가로/세로/높이 변을 2n개로 분할한 후, 해당 분할 지점을 지나는 각 변에 수직인 평면으로 제2 메인 큐브(50)를 자르게 되면, 8n개의 제2 하위 큐브(51; sub-cube)로 나누어진다. 나눠진 각각의 제2 하위 큐브(51)를 공간 색인을 추출하기 위한 공간으로 지정한다. 예를 들어, n=1인 경우에, 8개의 제2 하위 큐브로 분할된다. 본 예에서, 제2 메인 큐브(50) 및 제2 하위 큐브(51)를 설정하는 방법은 앞서 설명한 제1 메인 큐브(40) 및 제1 하위 큐브(41)를 설정하는 방법과 동일한 것이 바람직하다. 공간 색인은 제2 하위 큐브(51) 내부에 위치하는 내부 객체에 ID를 부여한 것으로 도 11은 복수의 제2 하위 큐브(51; Oxyz , Ox + 1yz , Ox + 2yz 등; Oxyz는 가로로 i번째, 세로로 j번째, 높이로 k번째의 제2 하위 큐브를 의미함) 각각에 포함된 내부 객체 ID를 표시한 것이다. 제2 하위 큐브(51)는 어느 공간 영역에 어떠한 건물 내부 객체가 존재하는지에 대한 정보를 갖는다.
도 12는 본 개시에 따른 제1 메인 큐브와 제2 메인 큐브 및 제1 하위 큐브와 제2 하위 큐브 사이의 관계를 나타내는 도면이다.
도 12를 참조하면 가시성 색인 추출을 위한 제1 하위 큐브(41)와 공간 색인 추출을 위한 제2 하위 큐브(51) 사이의 관계를 보여 준다. 제2 메인 큐브(50)의 크기는 제1 메인 큐브(40)보다 크게 형성되는 것이 바람직하며, 제2 하위 큐브(51)의 크기 또한 제1 하위 큐브(41)보다 크게 형성되는 것이 바람직하다. 이유는 제1 하위 큐브(41)는 카메라의 위치에 따라 보이는 내부 객체들을 저장하기 위한 용도이므로 카메라의 위치를 촘촘하게 이동시키면서 가시성 정보를 생성하게 되고, 결과적으로 건물을 구성하는 내부 객체들을 위치적으로 구분하는 제2 하위 큐브(51)에 비해 크기가 작은 것이 바람직하지만 이에 제한을 받지 않는다.
도 13 내지 도 14는 본 개시에 따른 미리 형성한 가시성 색인과 공간 색인을 활용하여 웹 서비스를 제공하는 방법을 보여주는 도면이다.
먼저 도 13(a)와 같이 카메라(60)의 위치와 촬영 방향을 기준으로 카메라(60)의 시야 안에 있는 제2 하위 큐브(51)가 결정되면 각각의 결정된 제2 하위 큐브(51)에 해당하는 공간 색인에 의해 화면에 그려질 내부 객체 후보군이 결정된다(S1). 이해를 돕기 위해 도 13(a)를 상면에서 바라본 평면도인 도 13(b), 도 13(c) 및 도 13(d)를 사용하여 다시 설명한다. 역시 이해를 돕기 위해 도 13(b), 도 13(c) 및 도 13(d)에 내부 객체(70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82)를 도시하였다. 즉 도 13(b)를 보면 복수의 제2 하위 큐브(511, 512, 513, 514) 중 카메라(60)의 시야 안에 있는 제2 하위 큐브(513, 514)가 결정되면 각각의 결정된 제2 하위 큐브(513, 514)의 공간 색인이 가리키는 내부 객체(74, 78, 79, 80, 81, 82)가 화면에 그려질 후보군이 된다. 이후 도 13(c)를 보면 복수의 제1 하위 큐브(411, 412, 413, 414, 415, 416, 417, 418, 418) 중 카메라(60)가 위치한 제1 하위 큐브(414)를 선정하면 선정된 제1 하위 큐브(414)에서 보이는 내부 객체(72, 74, 78)에 해당하는 가시성 색인이 결정된다(S2). 이후 도 13(d)를 보면 제1 하위 큐브(414)에서 보이는 내부 객체(72, 74, 78)에 해당하는 가시성 색인 중 결정된 제2 하위 큐브(513, 514)의 내부에 위치하는 내부 객체(74, 78, 79, 80, 81, 82)에 해당하는 공간 색인과 중첩되는 내부 객체(74, 78)에 해당하는 가시성 색인을 추가로 선정한다(S3). 이후 중첩되어 추가로 선정된 가시성 색인에 대응하는 내부 객체(74, 78)만을 웹 클라이언트의 화면에 디스플레이 한다(S4). 특히 도 14와 같이 각각의 제2 하위 큐브 공간 색인에 대해 제1 하위 큐브의 가시성 색인 중 각각의 제2 하위 큐브 공간 색인과 중첩되는 가시성 색인을 미리 지정해 놓은 경우 S2 단계에서 미리 지정된 색인을 사용하기 때문에 처리 속도가 향상될 수 있다.
도 15는 본 개시에 따른 3차원 데이터를 웹 서비스하는 시스템의 일 예를 나타내는 도면이다.
3차원 데이터를 웹 서비스하는 시스템(100)은 웹 클라이언트(110; 예: PC)가 서버(120)와 연동하여, 웹 클라이언트(110)에 구비된 화면(111)에 서버(120)로부터 전송된 정보를 표시할 수 있다. 웹 클라이언트(110)가 화면(111)에 그려질 특정 3차원 객체(예 : 건물, 선박/플랜트 등의 대형설비류, 주요시설물 등)의 3차원 데이터를 서버(120)에 요청하면, 서버(120)는 요청한 내용에 따라 적절한 LOD를 갖는 3차원 데이터를 인터넷을 통해 웹 클라이언트(110)에 전송한다.
서버(120)는 서버(120)가 구비하는 데이터 수신부(121), 데이터 변환부(122), LOD 생성부(123) 및 데이터 저장부(124)와 같은 서버(120) 측에 구비되는 하드웨어 및 소프트웨어 모두를 포괄하는 수단으로 이해될 수 있다.
데이터 수신부(121)는 웹 클라이언트(110)의 화면(111)에 그려질 특정 3차원 객체의 3차원 데이터를 수신한다.
데이터 변환부(122)는 수신한 3차원 객체의 3차원 데이터를 본 개시에 따른 방법에 의해 경량화된 삼각 메쉬 형태의 데이터로 변환한다. 자세한 방법은 도 16 내지 도 18에서 설명한다.
LOD 생성부(123)는 경량화된 삼각 메쉬 형태의 데이터를 사용하여 다양한 정밀도를 갖는 복수의 삼각 메쉬 형태의 데이터를 생성한다. 자세한 방법은 도 19 내지 도 21에서 설명한다.
데이터 저장부(124)는 LOD 생성부(123)에서 생성한 복수의 삼각 메쉬 형태의 데이터를 저장하며, 웹 클라이언트(110)의 요청에 따라 화면(111)에 표시하고자 하는 3차원 객체에 대하여 적절한 정밀도를 갖는 삼각 메쉬 모델을 생성하는 삼각 메쉬 형태의 데이터를 선정한 후 웹 클라이언트(110)에 전송한다. 서버(120) 측에 구비되는 데이터 수신부(121), 데이터 변환부(122), LOD 생성부(123) 및 데이터 저장부(124)는 웹 클라이언트(110)의 요청에 따라 화면(111)에 표시하고자 하는 3차원 객체에 대해서 웹 서비스를 할 때 실시간으로 3차원 데이터의 경량화를 진행할 수 있지만 바람직하게는 빠른 웹 서비스를 위해서 웹 서비스를 하기 전에 미리 3차원 데이터의 경량화를 진행하여 데이터 저장부(124)에 저장해 놓는 것이 좋다.
도 16은 본 개시에 따른 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 방법의 일 예를 보여주는 도면이다.
먼저 데이터 수신부(121)에 의해 수신된 3차원 객체의 3차원 데이터를 사용하여 3차원 객체 모델(200)을 생성한다. 생성된 3차원 객체 모델(200)은 화면을 통해 표시될 수 있다. 이후 생성된 3차원 객체 모델(200)을 향해 광선(ray)을 발사하여 3차원 객체 모델(200)의 표면(201)과 광선이 교차하는 지점(210)을 선정한다. 자세한 방법은 도 17에서 설명한다. 이후 3차원 객체 모델(200)의 표면(201)과 광선이 교차하는 지점(210)을 이용하여 삼각 메쉬(220)를 구성하여 삼각 메쉬 모델(221)을 얻는다. 삼각 메쉬 모델(221)은 3차원 객체 모델(200)의 한 종류이다. 즉 3차원 객체 모델(200)이 삼각 메쉬로 구성된 것을 삼각 메쉬 모델(221)이라고 한다.
도 17은 본 개시에 따른 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 방법의 일 예를 보여주는 도면이다.
먼저 3차원 객체 모델(200)을 직육면체(230)로 둘러싼다. 이후 직육면체를 구성하는 각각의 평면에서 수직한 방향으로 3차원 객체 모델을 향해 광선을 발사한다. 3차원 객체 모델을 향해 광선을 발사하기 위해 직육면체를 구성하는 6면을 각각 일정한 간격의 격자 구조로 나눈다. 도 17(a)에서는 직육면체(230)의 6면 중 상면(231)을 일정한 간격의 격자 구조(232)로 나눈 것을 도시하였다. 이후 각 격자 포인트(233)에서 3차원 객체 모델(200)을 향해 수직인 방향으로 광선을 발사한다. 수직으로 발사한 광선과 3차원 객체 모델(200)의 표면(201)이 교차하는 지점(210)을 도 16(b)에 도시하였다. 도 17에서는 이해를 돕기 위해서 3차원 객체 모델(200)이 화면에 표시된 것처럼 하여 직육면체(230)로 3차원 객체 모델(200)을 둘러싸고 있으며 수직으로 발사한 광선과 3차원 객체 모델(200)의 표면(201)이 교차하는 지점(210)을 눈으로 볼 수 있도록 표시하였으나 화면에 표시하지 않고서도 수직으로 발사한 광선과 3차원 객체 모델(200)의 표면(201)이 교차하는 지점(210)을 구할 수 있다. 예를 들어 그래픽 카드를 사용하여 그래픽 작업(예 : off-screen rendering)을 통해 수직으로 발사한 광선과 3차원 객체 모델(200)의 표면(201)이 교차하는 지점(210)을 구할 수 있으며 또는 3차원 데이터가 있다면 평면의 방정식과 직선의 방정식을 동시에 만족하는 해를 구하는 간단한 선형대수학으로도 수직으로 발사한 광선과 3차원 객체 모델(200)의 표면(201)이 교차하는 지점(210)을 구할 수 있는 등 다양한 공지된 기술을 사용할 수 있다. 삼각 메쉬 모델(221)의 정밀도를 향상시키고자 하는 경우에는 격자 구조(232)에서 격자 사이의 간격을 줄이면 된다. 도 17(b)는 동일한 작업을 직육면체(230)를 구성하는 우측 평면(234)에 대해서 진행하여 얻은 삼각 메쉬 모델(222)을 보여준다. 도 17(c)는 동일한 작업을 직육면체(230)를 구성하는 모든 평면에 대해서 진행하여 얻은 각각의 결과를 합친 삼각 메쉬 모델(223)을 보여준다. 도 17(c)를 보면 3차원 객체 모델(200)이 삼각 메쉬 모델(223)로 변형되었다. 이와 같이 만들어진 삼각 메쉬 모델(221, 222, 223)을 데이터로 저장한 것을 삼각 메쉬 형태의 데이터라 하며 대용량의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화 할 수 있다.
도 18은 본 개시에 따른 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 방법의 다른 일 예를 보여주는 도면이다.
도 17에 기재된 방법의 경우 건물의 실내라든가 철봉 막대기처럼 안이 비어있는 구조물의 안쪽 표면에 대해서는 삼각 메쉬를 구성할 수 없다. 예를 들어 테이블 모양의 3차원 객체 모델(300)의 경우 도 18(b)와 같이 직육면체(310) 1개로 3차원 객체 모델(300)을 감싼다면 3차원 객체 모델(300)의 4개 기둥(301, 302, 303, 304)의 안쪽 면은 직육면체(310)를 구성하는 어떤 평면에서도 보이지 않기 때문에 삼각 메쉬로 나타낼 수 없다. 즉 도 18(c)가 4개 기둥(301, 302, 303, 304)에 대해 삼각 메쉬 모델로 생성될 모습이다. 이러한 문제점을 피하기 위해 삼각 메쉬 형태의 데이터로 변환하고자 하는 3차원 객체 모델이 외부에서 보이지 않는 부분이 있는 경우에는 도 18(d)와 같이 3차원 객체 모델(300)을 둘러싼 직육면체(310)를 8개의 하위 직육면체(311, 312, 313, 314, 315, 316, 317, 318)로 분할하고, 이후 각각의 직육면체를 사용하여 삼각 메쉬 모델을 구한다. 이후 각각 구한 삼각 메쉬 모델을 합쳐서 외부에서 보이지 않는 구조를 갖는 3차원 객체 모델(300)에 대하여 외부에서 보이지 않는 구조가 포함된 삼각 메쉬 모델을 얻을 수 있다. 도 18(d)에서는 하위 직육면체의 수를 8개로 하였지만 필요에 따라 하위 직육면체의 수는 늘리거나 줄일 수 있다.
도 19 내지 도 21은 본 개시에 따라 경량화된 삼각 메쉬 형태의 데이터에 의해 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 방법의 일 예를 보여주는 도면이다.
삼각 메쉬 형태의 데이터를 사용하여 생성된 삼각 메쉬 모델의 정밀도(LOD)를 조정하는 것은 도 4에서 설명한 것처럼 LOD를 높이기 위해서는 삼각 메쉬 모델에 사용된 삼각형의 수를 늘려야 하며 LOD를 낮추기 위해서는 삼각 메쉬 모델에 사용된 삼각형의 수를 줄여야 한다. 본 개시에서는 삼각 메쉬 형태의 데이터를 경량화하기 위해서 삼각 메쉬 모델에 사용된 삼각형의 수를 줄이는 방법을 제공한다.
먼저 도 19(a)와 같은 삼각 메쉬 모델(400)이 존재할 때, 삼각 메쉬 모델을 구성하는 삼각형의 엣지(edge)는 프론티어(Frontier) 엣지(401)와 이너(Inner) 엣지(402)로 구분한다. 프론티어 엣지(401)는 삼각 메쉬(400)의 가장자리에 해당하는 엣지를 가리키고, 이너 엣지(402)는 삼각 메쉬 모델(400)의 안쪽에 있는 엣지를 가리킨다. 프론티어 및 이너 엣지를 논리적으로 구분하는 방법은 간단하다. 특정 엣지를 변으로 갖는 삼각형이 1개일 때는 프론티어 엣지이고, 해당 엣지를 변으로 하는 삼각형이 2개일 때는 이너 엣지이다. 본 개시에서 삼각 메쉬 모델에 사용된 삼각형의 수를 줄이는 방법을 엣지 소멸(collapse) 기법이라 한다. 엣지 소멸 기법은 엣지를 소멸시켜서 삼각형을 소멸시키는 방법이다. 엣지를 소멸시킨다는 의미는 엣지의 한쪽 끝점을 반대쪽 끝점으로 이동하여 일치시켜서 해당 엣지의 길이를 0이 되게 하여 기하학적으로 없앤다는 뜻이다. 예를 들어 도 19(b)와 같이 소멸시키고자 하는 엣지(403)를 화살표 방향으로 이동하여 엣지(403)의 길이를 0이 되게 하면 삼각형(404, 404)이 소멸된다. 엣지 소멸을 통해 LOD를 낮출 것인지 여부를 결정하는 기준은 소멸되는 엣지가 프론티어 엣지인가 아니면 이너 엣지인가 여부에 따라 다르다. 소멸되는 엣지가 이너 엣지인 경우는 도 20에서 설명한다. 소멸되는 엣지가 프론티어 엣지인 경우는 도 21에서 설명한다.
도 20을 보면 소멸되는 엣지가 이너 엣지인 경우, 소멸된 이너 엣지에 의해 모양이 변하는 삼각형 모두에 대해 모양이 변하기 전의 각각의 normal vector와 모양이 변한 후의 각각의 normal vector가 이루는 각도를 기준으로 낮아진 정밀도가 허용범위 이내인지 여부를 판단한다. 예를 들어 도 20(a)를 보면 바닥 모양은 같은데 높이가 다른 2 개의 피라미드 구조의 삼각 메쉬 모델(410, 420)에 대해 오른쪽 능변의 이너 엣지(411, 421)를 화살표 방향으로 소멸시키면 도 20(b)와 같이 동일한 모습의 두 개의 삼각형으로 이루어진 직사각형의 삼각 메쉬 모델(430)이 된다. 2 개의 삼각 메쉬 모델(410, 420) 각각에 대해 이너 엣지를 소멸시키는 과정에서 각각의 삼각 메쉬 모델(410, 420)의 삼각형(412, 422)의 normal vector 각도 변화를 삼각 메쉬 모델(410, 420)의 정면에서 바라보면 도 20(c)와 같다. 즉 높이가 높은 삼각 메쉬 모델(410)의 삼각형(412)의 모양이 변하기 전 normal vector(413)와 모양이 변한 후의 normal vector(414)가 이루는 각도(415)를 구할 수 있다. 동일한 방법으로 높이가 낮은 삼각 메쉬 모델(420)의 삼각형(422)의 모양이 변하기 전 normal vector(423)와 모양이 변한 후의 normal vector(424)가 이루는 각도(425)를 구할 수 있다. 구해진 각도 값과 기준값을 비교하여 삼각 메쉬 모델(410, 420)의 낮아진 정밀도가 허용범위 이내인지 여부를 판단한다. 허용범위 이내인지 여부를 결정하는 기준값은 미리 설정해 놓는다. 허용범위 이내인지 여부를 결정하는 기준값은 사용자의 인지 여부를 기준으로 결정할 수 있다. 예를 들어 사용자가 인지할 수 있을 정도를 넘어서는 모양 변경은 허용되지 않도록 할 수 있다. 이해를 돕기 위해 도 20에 기재된 높이가 다른 삼각 메쉬 모델(410, 420)로 설명하면, 높이가 높은 삼각 메쉬 모델(410)의 normal vector가 이루는 각도(415)가 기준값보다 큰 경우에는 이너 엣지(411)를 소멸시키지 않고 높이가 낮은 삼각 메쉬 모델(420)의 Normal vector가 이루는 각도(415)가 기준값보다 작은 경우에는 이너 엣지(421)를 소멸시킨다. 즉 정해진 기준값에 따라 기준값보다 작은 변화가 있는 경우에만 이너 엣지를 소멸시켜 삼각 메쉬 형태의 데이터 크기를 경량화한다. 따라서 정해진 기준값이 여러 개인 경우 복수의 정밀도를 갖는 삼각 메쉬 형태의 데이터를 만들 수 있다.
또한 이너 엣지가 소멸 가능한지를 알아보기 위해 해당 이너 엣지의 2개의 끝점 중 어느 것을 움직일지에 대해 선택하는 기준은, 끝점을 움직였을 경우 영향을 받는 인접 엣지들이 모두 이너 엣지인 경우에만 허용한다. 2개의 끝점을 움직였을 때 두 경우 모두 이너 엣지들만 영향을 받는다면 두 경우 모두 이너 엣지가 소멸 가능한지 여부를 테스트 한다.
도 21을 보면 소멸되는 엣지가 프론티어 엣지인 경우, 소멸된 프론티어 엣지에 연결되어 있는 인접한 프론티어 엣지의 소멸 전후 발생한 각도 차이를 기준값과 비교하여 낮아진 정밀도가 허용범위 이내인지 여부를 판단한다. 예를 들어 도 21(a)의 삼각 메쉬 모델(500)의 프론티어 엣지(501)의 양쪽 끝점은 항상 다른 프론티어 엣지(502, 503)에 연결되어 있으므로, 하나의 프론티어 엣지(501)를 소멸시키면 반드시 2개의 인접한 프론티어 엣지(502, 503)들 중 1개는 영향을 받게 된다. 따라서 프론티어 엣지(501) 소멸 작업에 의해 영향을 받는 인접한 프론티어 엣지(502, 503)의 소멸 작업 전후의 각도 차이를 기준값과 비교하여 소멸 적용 여부를 결정한다. 물론 허용범위 이내인지 여부를 결정하는 기준값은 사용자의 인지 여부를 기준으로 결정할 수 있다. 도 21(b)를 보면 프론티어 엣지(501)를 오른쪽 화살표 방향으로 움직여 소멸시키는 경우 소멸 작업의 영향을 받은 인접 프론티어 엣지(502)의 각도 변화(504)가 기준값보다 크므로 엣지 소멸을 수행할 수 없고, 프론티어 엣지(501)를 왼쪽 화살표 방향으로 움직여 소멸시키는 경우 소멸 작업의 영향을 받은 인접 프론티어 엣지(503)의 각도 변화(505)가 기준값보다 작으므로 엣지 소멸을 수행할 수 있다고 판단할 수 있다. 도 21(c)는 삼각 메쉬 모델(510)을 본 개시에 따른 엣지 소멸 기법을 사용하여 경량화한 삼각 메쉬 모델(511)을 보여준다.
도 22 내지 도 23은 본 개시를 적용한 실시 예를 보여주는 도면이다.
3차원 데이터를 사용한 3차원 객체 모델(610)을 삼각 메쉬 형태의 데이터로 경량화 후 정밀도를 조정하여 얻은 복수의 LOD에 따른 삼각 메쉬 모델(611, 612, 613, 614)에 텍스처(texture)를 적용한 것(600, 601, 602, 603, 604)을 보여주는 도면이다. 3차원 객체 모델(610)은 삼각 메쉬로 이루어진 삼각 메쉬 모델이다. 다만 삼각 메쉬 모델을 구성하고 있는 삼각 메쉬의 수가 410,346 개로 고정밀 삼각 메쉬 모델에 해당한다. 고정밀도를 갖는 삼각 메쉬 모델(610)에 대해 격자 구조를 적용하여 경량화된 삼각 메쉬 모델(611)을 얻었다. 본 실시 예에서는 격자 구조의 간격을 50cm로 하였으며, 격자 구조의 간격은 필요에 따라 변경할 수 있다. 이후 엣지 소멸 기법을 복수의 기준값을 적용하여 다양한 정밀도를 갖는 삼각 메쉬 모델(612, 613, 614)를 얻었다. 본 실시 예에서는 가장 정밀도가 낮은 경우에 이너 엣지 소멸 기준값은 20 °이고 프론티어 엣지의 소멸 기준값은 5°를 적용하였으며, 필요에 따라 기준값은 변경할 수 있다. 가장 낮은 정밀도를 갖는 삼각 메쉬 모델(614)을 구성하고 있는 삼각형은 5,252개 이며 3차원 객체 모델(610)에 비해 1.28%의 크기를 갖는 데이터 경량화가 이루어졌다.
본 개시는 대용량의 3차원 데이터를 실시간으로 웹 서비스하는 모든 분야에 적용될 수 있다.
이하 본 개시의 다양한 실시 형태에 대하여 설명한다.
(1) 웹 클라이언트와 서버를 이용하여, 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 있어서, 서버 측에서, 웹 클라이언트에 전송될 정보를 가공하는 정보 가공 단계; 그리고, 웹 클라이언트의 요청에 따라, 웹 클라이언트의 화면에 디스플레이 될 정보를 서버가 웹 클라이언트로 전송하는 정보 전송 단계;를 포함하며, 정보 가공 단계에서, 가공되는 정보는 내부 객체를 포함하는 3차원 객체에 대한 정보를 포함하며, 3차원 객체에 대한 정보는 해당 3차원 객체에 대해 적어도 하나의 제1 하위 큐브 및 제2 하위 큐브를 각각 설정하고, 제1 하위 큐브를 사용하여 가시성 색인을 가공하고 제2 하위 큐브를 사용하여 공간 색인을 가공하며, 정보 전송 단계에서, 가시성 색인 중 공간 색인과 중첩되는 가시성 색인에 해당하는 내부 객체를 정보 전송하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(2) 가시성 색인은 각각의 제1 하위 큐브 내부에 카메라가 위치할 때, 제1 하위 큐브를 구성하는 평면을 통해 보여지는 내부 객체를 카메라가 바라보는 평면 방향에 대한 구분없이 카메라가 바라보는 모든 평면 방향에 대해 색인화 한 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(3) 공간 색인은 각각의 제2 하위 큐브 내부에 위치하는 내부 객체를 색인화 한 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(4) 제1 하위 큐브는 해당 3차원 객체에 대해 제1 메인 큐브를 설정하고, 제1 메인 큐브의 가로/세로/높이 변을 2n개로 분할한 후, 해당 분할 지점을 지나는 평면을 통해, 8n개의 제1 하위 큐브를 만드는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(5) 제1 하위 큐브의 크기가 제2 하위 큐브의 크기보다 작은 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(6) 웹 클라이언트의 요청은 카메라 위치와 촬영 방향에 대한 정보를 포함하며, 서버는 카메라 위치와 촬영 방향을 바탕으로 대응하는 제2 하위 큐브를 찾는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(7) 서버는 카메라 위치와 촬영 방향을 바탕으로 대응하는 제1 하위 큐브를 찾는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(8) 정보 가공 단계에서, 각각의 제2 하위 큐브의 공간 색인에 대해 각각의 제1 하위 큐브의 가시성 색인 중 각각의 제2 하위 큐브의 공간 색인과 중첩되는 각각의 제1 하위 큐브의 가시성 색인 정보를 가공하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
(9) 웹 서비스를 위한 3차원 데이터를 처리하는 방법에 있어서, 3차원 객체의 3차원 데이터를 수신하는 단계; 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계; 그리고 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계;를 포함하며, 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계는 수신된 3차원 객체의 3차원 데이터를 사용하여 3차원 객체 모델을 생성하는 단계; 생성된 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 단계; 그리고 3차원 객체 모델의 표면과 광선이 교차하는 지점을 이용하여 삼각 메쉬 모델을 구성하는 단계;를 포함하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(10) 3차원 객체 모델을 향해 광선(ray)을 발사하여 3차원 객체 모델의 표면과 광선이 교차하는 지점을 선정하는 단계는 3차원 객체 모델을 직육면체로 둘러싼 후 직육면체를 구성하는 각각의 평면에서 수직한 방향으로 3차원 객체 모델을 향해 광선을 발사하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(11) 3차원 객체 모델을 직육면체로 둘러싼 후 직육면체를 구성하는 각각의 평면을 일정한 간격의 격자 구조로 나눈 후, 격자 포인트에서 3차원 객체 모델을 향해 광선을 발사하는 웹 서비를 위한 3차원 데이터를 처리하는 방법.
(12) 3차원 객체 모델을 둘러싼 직육면체를 n 개의 하위 직육면체로 분할한 후 각각의 직육면체를 구성하는 각각의 평면에서 수직한 방향으로 3차원 객체 모델을 향해 광선을 발사하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(13) 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계는 삼각 메쉬 모델을 구성하는 삼각형 각각의 엣지를 프론티어 엣지(Frontier Edge)와 이너 엣지(Inner edge)로 구분하는 단계; 삼각 메쉬 모델을 구성하는 삼각형 각각에 대해 프론티어 엣지와 이너 엣지 중 적어도 하나의 엣지를 소멸시키는 단계; 그리고 소멸된 엣지에 의해 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 단계;를 포함하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(14) 이너 엣지를 소멸시키는 경우, 소멸되는 이너 엣지에 영향을 받는 엣지가 모두 이너 엣지인 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(15) 소멸된 엣지에 의해 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 단계는 소멸된 엣지가 이너 엣지인 경우, 소멸된 이너 엣지에 의해 모양이 변하는 삼각형 모두에 대해 모양이 변하기 전의 각각의 normal vector와 모양이 변한 후의 각각의 normal vector가 이루는 각도를 기준으로 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(16) 소멸된 엣지에 의해 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 단계는 소멸된 엣지가 프론티어 엣지인 경우, 소멸된 프론티어 엣지에 연결되어 있는 인접한 프론티어 엣지의 소멸 전후 발생한 각도 차이를 기준으로 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(17) 웹 서비스를 위한 3차원 데이터를 처리하는 방법에 있어서, 3차원 객체의 3차원 데이터를 수신하는 단계; 수신된 3차원 객체의 3차원 데이터를 삼각 메쉬 형태의 데이터로 경량화하는 단계; 그리고 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계;를 포함하며, 경량화된 삼각 메쉬 형태의 데이터로 생성되는 삼각 메쉬 모델의 정밀도를 조정하는 단계는 삼각 메쉬 모델을 구성하는 삼각형 각각의 엣지를 프론티어 엣지와 이너 엣지로 구분하는 단계; 삼각 메쉬 모델을 구성하는 삼각형 각각에 대해 프론티어 엣지와 이너 엣지 중 적어도 하나의 엣지를 소멸시키는 단계; 그리고 소멸된 엣지에 의해 낮아진 정밀도가 허용범위 이내인지 여부를 판단하는 단계;를 포함하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(18) 이너 엣지를 소멸시키는 경우, 소멸되는 이너 엣지에 영향을 받는 엣지가 모두 이너 엣지인 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
(19) 소멸된 엣지에 의해 낮아진 정밀도가 허용치 이내인지 여부를 판단하는 단계는 소멸된 엣지가 이너 엣지인 경우, 소멸된 이너 엣지에 의해 모양이 변하는 삼각형 모두에 대해 모양이 변하기 전의 각각의 normal vector와 모양이 변한 후의 각각의 normal vector가 이루는 각도를 기준으로 허용범위를 판단하는 웹 서비스를 위한 3차원 데이터를 처리하는 방법.
본 개시에 따른 하나의 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 의하면, 응답 속도가 향상된 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법이 제공된다.
또한 본 개시에 따른 다른 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 의하면, 가시성 색인 및 공간 색인을 이용하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법이 제공된다.
또한 본 개시에 따른 또 다른 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 의하면, 프러스텀 컬링(frustum culling) 후 오클루젼 컬링(occlusion culling)을 효과적으로 제공할 수 있게 된다.
또한 본 개시에 따르면, 3차원 데이터를 처리하는 속도가 향상된 웹 서비스가 가능하다.
또한 본 개시에 따르면, 정밀도 높고 용량이 큰 3차원 데이터를 쉽게 경량화할 수 있다.

Claims (8)

  1. 웹 클라이언트와 서버를 이용하여, 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법에 있어서,
    서버 측에서, 웹 클라이언트에 전송될 정보를 가공하는 정보 가공 단계; 그리고,
    웹 클라이언트의 요청에 따라, 웹 클라이언트의 화면에 디스플레이 될 정보를 서버가 웹 클라이언트로 전송하는 정보 전송 단계;를 포함하며,
    정보 가공 단계에서, 가공되는 정보는 내부 객체를 포함하는 3차원 객체에 대한 정보를 포함하며, 3차원 객체에 대한 정보는 해당 3차원 객체에 대해 적어도 하나의 제1 하위 큐브 및 제2 하위 큐브를 각각 설정하고, 제1 하위 큐브를 사용하여 가시성 색인을 가공하고 제2 하위 큐브를 사용하여 공간 색인을 가공하며,
    정보 전송 단계에서, 가시성 색인 중 공간 색인과 중첩되는 가시성 색인에 해당하는 내부 객체를 정보 전송하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  2. 청구항 1에 있어서,
    가시성 색인은 각각의 제1 하위 큐브 내부에 카메라가 위치할 때, 제1 하위 큐브를 구성하는 평면을 통해 보여지는 내부 객체를 카메라가 바라보는 평면 방향에 대한 구분없이 카메라가 바라보는 모든 평면 방향에 대해 색인화 한 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  3. 청구항 1에 있어서,
    공간 색인은 각각의 제2 하위 큐브 내부에 위치하는 내부 객체를 색인화 한 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  4. 청구항 1에 있어서,
    제1 하위 큐브는 해당 3차원 객체에 대해 제1 메인 큐브를 설정하고, 제1 메인 큐브의 가로/세로/높이 변을 2n개로 분할한 후, 해당 분할 지점을 지나는 평면을 통해, 8n개의 제1 하위 큐브를 만드는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  5. 청구항 1에 있어서,
    제1 하위 큐브의 크기가 제2 하위 큐브의 크기보다 작은 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  6. 청구항 1에 있어서,
    웹 클라이언트의 요청은 카메라 위치와 촬영 방향에 대한 정보를 포함하며, 서버는 카메라 위치와 촬영 방향을 바탕으로 대응하는 제2 하위 큐브를 찾는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  7. 청구항 7에 있어서,
    서버는 카메라 위치와 촬영 방향을 바탕으로 대응하는 제1 하위 큐브를 찾는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
  8. 청구항 1에 있어서,
    정보 가공 단계에서, 각각의 제2 하위 큐브의 공간 색인에 대해 각각의 제1 하위 큐브의 가시성 색인 중 각각의 제2 하위 큐브의 공간 색인과 중첩되는 각각의 제1 하위 큐브의 가시성 색인 정보를 미리 가공하는 3차원 지리 정보 시스템(GIS) 웹 서비스를 제공하는 방법.
PCT/KR2018/003004 2018-01-30 2018-03-14 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법 WO2019151569A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/618,560 US11158124B2 (en) 2018-01-30 2018-03-14 Method of providing 3D GIS web service
US16/700,419 US11217017B2 (en) 2018-01-30 2019-12-02 Methods for processing 3D data for use in web services

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180011368 2018-01-30
KR10-2018-0011368 2018-01-30
KR10-2018-0017780 2018-02-13
KR1020180017780A KR102056788B1 (ko) 2018-02-13 2018-02-13 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/618,560 A-371-Of-International US11158124B2 (en) 2018-01-30 2018-03-14 Method of providing 3D GIS web service
US16/700,419 Continuation US11217017B2 (en) 2018-01-30 2019-12-02 Methods for processing 3D data for use in web services

Publications (1)

Publication Number Publication Date
WO2019151569A1 true WO2019151569A1 (ko) 2019-08-08

Family

ID=67478369

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/003004 WO2019151569A1 (ko) 2018-01-30 2018-03-14 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법

Country Status (2)

Country Link
US (2) US11158124B2 (ko)
WO (1) WO2019151569A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017200527A1 (en) * 2016-05-16 2017-11-23 Hewlett-Packard Development Company, L.P. Generating a shape profile for a 3d object
CN112685382B (zh) * 2020-12-25 2021-07-30 四川省交通勘察设计研究院有限公司 一种基于bim+gis的公路工程数量表提取分类重构方法及系统
CN113934684B (zh) * 2021-12-16 2022-04-29 四川省交通勘察设计研究院有限公司 一种数据格式自动转换方法、装置、电子设备及存储介质
CN115409906B (zh) * 2022-11-02 2023-03-24 中国测绘科学研究院 一种大规模倾斜摄影模型轻量化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259452B1 (en) * 1997-04-14 2001-07-10 Massachusetts Institute Of Technology Image drawing system and method with real-time occlusion culling
US20130321593A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation View frustum culling for free viewpoint video (fvv)
KR101756802B1 (ko) * 2016-02-12 2017-07-12 가이아쓰리디 주식회사 3차원 지리 정보 시스템(gis) 웹 서비스를 제공하는 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2625345A1 (fr) * 1987-12-24 1989-06-30 Thomson Cgr Procede de visualisation en trois dimensions d'objets codes numeriquement sous forme arborescente et dispositif de mise en oeuvre
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
US6278457B1 (en) * 1998-01-15 2001-08-21 International Business Machines Corporation Methods and apparatus for performing sampling based synthesis of three-dimensional geometric models
US6580425B1 (en) * 2000-02-28 2003-06-17 Mitsubishi Electric Research Laboratories, Inc. Hierarchical data structures for surface elements
US6771261B2 (en) * 2001-08-30 2004-08-03 Intel Corporation Error metric for mesh simplification processing
KR100419482B1 (ko) * 2001-12-18 2004-02-21 한국전자통신연구원 비균등 공간 분할법에 의한 메쉬 간략화 방법
US8760450B2 (en) * 2007-10-30 2014-06-24 Advanced Micro Devices, Inc. Real-time mesh simplification using the graphics processing unit
KR100956416B1 (ko) 2008-07-30 2010-05-06 (주) 우대칼스 3차원 지리 정보 클라이언트 장치와 서버 장치 및 이를포함한 3차원 지리 정보 시스템
US8483519B2 (en) * 2008-12-22 2013-07-09 Ipointer Inc. Mobile image search and indexing system and method
US8860723B2 (en) * 2009-03-09 2014-10-14 Donya Labs Ab Bounded simplification of geometrical computer data
US9070216B2 (en) 2011-12-14 2015-06-30 The Board Of Trustees Of The University Of Illinois Four-dimensional augmented reality models for interactive visualization and automated construction progress monitoring
US8766979B2 (en) * 2012-01-20 2014-07-01 Vangogh Imaging, Inc. Three dimensional data compression
US10521520B2 (en) * 2013-02-14 2019-12-31 Nocturnal Innovations LLC Highly scalable cluster engine for hosting simulations of objects interacting within a space
KR101465483B1 (ko) 2013-12-23 2014-11-26 한국건설기술연구원 Lod데이터를 구성하는 bim데이터 처리 시스템
WO2016106365A1 (en) 2014-12-22 2016-06-30 Robert Bosch Gmbh System and methods for generating procedural window lighting effects
US10043309B2 (en) * 2015-12-14 2018-08-07 Microsoft Technology Licensing, Llc Maintaining consistent boundaries in parallel mesh simplification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259452B1 (en) * 1997-04-14 2001-07-10 Massachusetts Institute Of Technology Image drawing system and method with real-time occlusion culling
US20130321593A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation View frustum culling for free viewpoint video (fvv)
KR101756802B1 (ko) * 2016-02-12 2017-07-12 가이아쓰리디 주식회사 3차원 지리 정보 시스템(gis) 웹 서비스를 제공하는 방법

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
KIM, HAK JUN.: "Let's Integrate BIM/AEC and 3D GIS on Your Web Browserl", LET'S INTEGRATE BIM/AEC AND 3D GIS ON YOUR WEB BROWSERL. PLANT CHOSUN CONFERENCE 2018, 19 January 2018 (2018-01-19), pages 1 - 34 *
SHIN, SANG HEE ET AL.: "A web based BIM/GIS integration platform on top of open source", A WEB BASED BIM/GIS INTEGRATION PLATFORM ON TOP OF OPEN SOURCE . GEOBIM, 24 November 2017 (2017-11-24), pages 1 - 55 *
SHIN, SANG HEE ET AL.: "Let's Integrate BIM/AEC and 3D GIS on top of FOSS4G", LET'S INTEGRATE BIM/AEC AND 3D GIS ON TOP OF FOSS4G TOKYO 2017, 15 September 2017 (2017-09-15) *
SHIN, SANG HEE ET AL.: "MAGO 3D- A Brand New Geo-BIM Platform on top of Cesium & World Wind.", SLIDESHARE- FOSS4G BOSTON 2017, 20 August 2017 (2017-08-20), pages 1 - 51, Retrieved from the Internet <URL:https://www.slideshare.net/endofcap/mago3d-a-brand-new-geobim-platform-on-top-of-cesium-world-wind> *
SHIN, SANG HEE ET AL.: "MAGO 3D- Let's Integrate BIM and 3D GIS on top of FOSS4G!. 2017", SLIDESHARE- FOSS4G- EUROPE 2017, 20 July 2017 (2017-07-20), pages 1 - 84, Retrieved from the Internet <URL:https://www.slideshare.net/endofcap/mago3d-lets-integrate-bim-and-3d-gis-on-top-of-foss4g> *
SHIN, SANG HEE ET AL.: "mago3D, Innovation with 3D by adding Z-axis in your browser", SLIDESHARE- FOSSAG 2017 KYOTO, 15 October 2017 (2017-10-15), pages 1 - 42, Retrieved from the Internet <URL:https://www.slideshare.net/endofcap/mago3d-innovation-with-3d-by-adding-zaxis-in-your-browser> *
SHIN, SANG HEE: "Web-based BIM/AEC/3D GIS Integration Visualization Platform", SLIDESHARE, 16 October 2017 (2017-10-16), XP055629116, Retrieved from the Internet <URL:http://slideshare.net/endofcap/mago3d> [retrieved on 20180724] *

Also Published As

Publication number Publication date
US20200105058A1 (en) 2020-04-02
US11217017B2 (en) 2022-01-04
US11158124B2 (en) 2021-10-26
US20200167997A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
WO2019151569A1 (ko) 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
US6229549B1 (en) High-speed three-dimensional texture mapping systems and methods
US8907950B2 (en) Driving simulation apparatus, wide-angle camera video simulation apparatus, and image deforming/compositing apparatus
US20060080072A1 (en) Optimized rendering of dynamic moving bodies
WO2005120170A2 (en) 3d line-of-sight (los) visualization in user interactive 3d virtual reality environments
WO2018004154A1 (ko) 혼합현실 디스플레이 장치
CN113808261B (zh) 一种基于全景图的自监督学习场景点云补全的数据集生成方法
CN103226838A (zh) 地理场景中移动监控目标的实时空间定位方法
KR101756802B1 (ko) 3차원 지리 정보 시스템(gis) 웹 서비스를 제공하는 방법
US20190228536A1 (en) Depth-map-based ground detection method and apparatus
WO2011034305A2 (ko) 건축물 이미지의 계층적 매칭 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN112435337A (zh) 一种景观可视域分析方法及系统
JP4178469B2 (ja) 空中写真画像データーセットの構成方法
WO2011159085A2 (en) Method and apparatus for ray tracing in a 3-dimensional image system
KR102030594B1 (ko) 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
WO2019112096A1 (ko) 육각 렌즈를 이용한 집적영상 시스템의 시점영상 매핑 방법
KR20190097853A (ko) 웹 서비스를 위한 3차원 데이터를 처리하는 방법 및 이를 사용한 시스템
WO2018128424A1 (ko) 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
KR101877739B1 (ko) 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
KR20030022110A (ko) 영상 생성 기능을 갖는 시뮬레이션 장치 및 영상 생성단계를 갖는 시뮬레이션 방법
WO2024101776A1 (ko) 3차원 빌딩 모델 및 도로 모델을 이용한 3차원 거리뷰 모델 생성 방법 및 시스템
JP3143208B2 (ja) 模擬視界発生方法
Wang et al. Study on the interconnection and interoperability between urban 3D visualization and geographic information system
Khudhair SIMULATION SYSTEM TECHNICAL S
Xiao et al. Parallel algorithm for multi-viewpoint viewshed analysis on the GPU grounded in target cluster segmentation

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: 18904306

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18904306

Country of ref document: EP

Kind code of ref document: A1