This application claims the benefit of Korean Patent Application No. 10-2005-0006574, filed on Jan. 25, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to car navigation, and more particularly, to a method, apparatus, and medium for three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment and a method, apparatus, and medium for three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment.
2. Description of the Related Art
Recently, an increase in the number of cars on roads has caused a serious problem of traffic congestion. In order to solve the traffic congestion, there have been developed car navigation systems such as a global positioning system (GPS). The car navigation system has basic functions of tracking a position of a car and displaying the position on a road map. The car navigation system has additional functions of monitoring traffic situations on roads and providing traffic situation information to drivers.
A well-visualized car navigation system enables drivers to accurately locate their destination on the road map. In addition, when a car runs at a high speed, a three-dimensionally visualized road map of the car navigation system provides more convenience and safety to a driver than a two-dimensional map does. Buildings and geographical features are depicted three-dimensionally on the three-dimensionally visualized road map, so that drivers can perceive them intuitively.
Conventional car navigation systems store two-dimensional data and visualize the data two-dimensionally. Since complex objects such as flyovers are two-dimensionally visualized, the users may confuse the objects.
In a three-dimensional graphics environment, in a case where different parts of an object do not exist on the same plane (a non-coplanar case) or a case where projections of the different parts of an object on the same plane intersect each other (a self-intersection case), visualization of an object may not be accurate. Since the flyover data belongs to the two cases, it is necessary to transform the two-dimensional flyover data to three-dimensional flyover data with a particular process.
Additional aspects, features, and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.
The present invention provides a method and apparatus for three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment and a computer-readable medium having embodied thereon a computer program for the method.
The present invention also provides a method and apparatus for three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment and a computer-readable medium having embodied thereon a computer program for the method.
According to an aspect of the present invention, there is provided a method of three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment, comprising: generating a division line list including one or more division lines of dividing a polygon constituting the two-dimensional flyover data into two regions; selecting a division line for reducing the number of overlapped regions of the polygon among the division lines included in the division line list; and separating the divided regions from the polygon by applying the selected division line to the polygon.
According to another aspect of the present invention, there is provided an apparatus for three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment, comprising: a division line list generation unit generating a division line list including one or more division lines of dividing a polygon constituting the two-dimensional flyover data into two regions; a division line selection unit selecting a division line for reducing the number of overlapped regions of the polygon among the division lines included in the division line list; and a division line applying unit separating the divided regions from the polygon by applying the selected division line to the polygon.
According to still another aspect of the present invention, there is provided a method of three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment, comprising: separating divided regions of the polygon constituting the two-dimensional flyover data; dividing each of the separated regions of the polygon into one or more triangles; generating three-dimensional flyover data by adding height coordinates to the respective vertexes of the divided triangles; and visualizing the three-dimensional flyover data.
According to yet another aspect of the present invention, there is provided an apparatus for three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment, comprising: an overlapped region separation unit separating overlapped regions of the polygon constituting the two-dimensional flyover data; a triangulation unit dividing each of the separated regions of the polygon into one or more triangles; a height coordinate addition unit generating three-dimensional flyover data by adding height coordinates to the respective vertexes of the divided triangles; and a visualization unit visualizing the three-dimensional flyover data.
According to an aspect of the present invention, there is provided a method of three-dimensionally transforming two-dimensional flyover data in a three- dimensional graphics environment, comprising: selecting a division line for reducing a number of overlapped regions of a polygon among a plurality of division lines, which divide a polygon comprising the two dimensional flyover data into regions; and separating the divided regions from the polygon by applying the selected division line to the polygon.
According to an aspect of the present invention, there is provided at least one computer-readable medium storing instructions that control at least one processor to perform a method of three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment, wherein the method comprises: selecting a division line for reducing a number of overlapped regions of a polygon among a plurality of division lines, which divide a polygon comprising the two dimensional flyover data into regions; and separating the divided regions from the polygon by applying the selected division line to the polygon.
These and/or other aspects, features, and advantages of the present invention will become apparent and more readily appreciated from the following description of the exemplary embodiments, with reference to the accompanying drawings of which:
Reference will now be made in detail to exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Exemplary embodiments are described below to explain the present invention by referring to the figures.
Exemplary embodiments include a method, apparatus, and medium for three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment and a method, apparatus, and medium for three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment.
The overlapped region separation unit 100 separates overlapped regions of a polygon constituting the two-dimensional flyover data 10.
The triangulation unit 200 divides each of the separated regions 12 of the polygon into one or more triangles 14.
The height coordinate addition unit 300 adds height coordinates to vertexes of the triangles 14 to generate three-dimensional flyover data 16.
The visualization unit 400 visualizes the three-dimensional flyover data 16.
Firstly, the overlapped regions of the polygon constituting the two-dimensional flyover data 10 are separated (S100). The overlapped regions of the polygon, that is, intersections cause problems in three-dimensional visualization of the two-dimensional flyover data 10. Therefore, in order to three-dimensionally visualize the two-dimensional flyover data 10 accurately, the overlapped regions of the polygon need to be separated.
After the overlapped regions of the polygon are separated, each of the separated regions is divided into one or more triangles 14 (S200). In general, the data format that can be most easily handled in a graphic system is a triangle. Therefore, the complex polygon is divided into triangles. The triangulation unit 200 according to an exemplary embodiment of the present invention uses an ear cutting algorithm.
After each of the separated regions is divided into one or more triangles 14, height coordinates are added to the respective vertexes of the divided triangles 14 (S300). As a result, the three-dimensional flyover data 16 is generated.
The generated three-dimensional flyover data 16 is three-dimensionally visualized by the visualization unit 400 (S400).
The division line list generation unit 110 generates a division line list 20. The division line list 20 denotes a list including one or more division lines. The division line denotes a line dividing a polygon constituting the two-dimensional flyover data 10 into two or more regions.
The division line selection unit 120 selects a division line 22 among the division lines included in the division line list 20, so that the number of intersections, that is, the number of overlapped regions of the polygon can be reduced when the division line is applied to the polygon.
The division line applying unit 130 applies the division line 22 selected by the division line selection unit 120 to the polygon.
As described above, the division line denotes a line dividing the polygon into one or more regions. The division line satisfies three conditions: a first condition that the division line connects two vertexes among vertexes constituting the polygon; a second condition that the division line does not intersect side lines constituting the polygon; and a third condition that the division line exists within the polygon. Firstly, in order to search the division line, two vertexes are selected among the vertexes constituting the polygon. Next, it is determined whether or not a line connecting the two selected vertexes intersects the side lines constituting the polygon. Next, it is determined whether or not the line exists within the polygon. If the line satisfies the three conditions, the line is treated as a division line. After the division line is searched, the division line is added to the division line list 20.
The determination whether or not the two lines intersect each other may be performed by using the vector product.
Like this, vectors are generated from the vertexes constituting the given lines, and then, the results of the vector products of the generated vectors are calculated, so that it can be.
A line E2 does not intersect a side line constituting the polygon and exists within the polygon. Therefore, the line E2 is a division line. By applying the division line E2, the polygon can be divided into two polygons, each of which includes some of the vertexes of the original polygon.
After the division line list 20 is generated, a division line is selected among the division lines so that the number of intersections can be reduced.
The ear list generation unit 210 generates an ear list 28 by finding an ear vertex among vertexes of separated regions 26 of the polygon (S220). The ear vertex denotes a vertex of a polygon, which satisfies two conditions. A first condition is that the line connecting the two adjacent vertexes of a vertex do not intersect side lines constituting the separated region 26 of the polygon. A second condition is that the line exists within the separated region 26 of the polygon. In order to generate the ear list 28, the ear list generation unit 210 selects one vertex of the separated region 26 of the polygon and adjacent vertexes thereof. Next, the ear list generation unit 210 determines whether or not the line between the adjacent vertexes intersect the side lines constituting the separated region 26 of the polygon. If the two conditions are satisfied, the selected vertex is added to the ear list 28.
The ear selection unit 220 selects a vertex 30 having an internal angle closest to 90° among the vertexes included in the ear list 28 (S230). As a result, in the following triangulation operation, a triangle close to a right triangle can be obtained by using the selected vertex 30. By the triangulation operation, two side lines including the selected vertex and another line between the adjacent vertexes of the selected vertex can be connected at a near right angle, so that more natural roads or flyovers can be constructed.
The triangle separation unit 230 separates a triangle formed with the selected vertex 30 and adjacent side lines thereof from the separated region 26 of the polygon (S240).
The triangulation unit 200 determines whether or not the remaining region is a triangle (S210). If the remaining region is a triangle, the triangulation operation ends. If not, the operations S220 to S240 repeat until the remaining region is triangle.
The vertex V1 has both adjacent vertexes V2 and V9. A line E1 connecting the both adjacent vertexes V2 and V9 does not intersect the side lines of the given polygon. The line E1 exists within the polygon. Therefore, the vertex V1 is an ear vertex.
The vertex V2 has both adjacent vertexes V1 and V3. A line connecting the adjacent vertexes V1 and V3 exists outside the polygon. Therefore, the vertex V2 is not an ear vertex.
The vertex V3 has both adjacent vertexes V2 and V4. A line E3 connecting the both adjacent vertexes V2 and V4 does not intersect the side lines of the polygon. The line E3 exists within the polygon. Therefore, the vertex V3 is an ear vertex.
The vertex V7 has both adjacent vertexes V6 and V8. A line E7 connecting the adjacent vertexes V6 and V8 intersects a side line of the polygon. Therefore, the vertex V7 is not an ear vertex.
As a result of the determination, the ear vertexes V1, V3, and V6 are added to the ear list 28.
The ear selection unit 220 selects an ear vertex having an internal angle closest to 90° among the ear vertexes. As shown in
Since the remaining region is not a triangle, the triangulation operation repeats. As a result of the repeating triangulation operation, the original polygon is divided into a plurality of triangles as shown in
As described above, the overlapped region separation unit 100, the triangulation unit 200, and the height coordinate addition unit 300 constitute the two-dimensional-flyover-data three-dimensional visualization apparatus according to an exemplary embodiment of the present invention. The two-dimensional-flyover-data three-dimensional visualization apparatus utilizes these components.
The visualization unit 400 visualizes the three-dimensional flyover data 16 obtained by using the overlapped region separation unit 100, the triangulation unit 200, and the height coordinate addition unit 300. The visualization unit 400 visualizes different portions of the three-dimensional flyover data 16 in different method.
Firstly, the visualization unit 400 visualizes a shadow portion of the flyover. The shadow portion is visualized on the ground by setting the height of the shadow portion as 0. In addition, a transparency operation is performed to provide a transparency effect. The transparency operation is performed by setting a transparency function in a rendering device.
In the shadow-portion visualization, in order to prevent a z-fighting phenomenon at the ground, a z-test function in the rendering device must be set to stop (z-test off). Next, the ground is subject to a rendering process, and then, the flyover is subject to the rendering process. After the rendering process on the shadow portion ends, the z-test function restarts (z-test on).
After the rendering process on the shadow portion ends, upper surfaces, lower surfaces, and guardrails are subject to the rendering process. Firstly, a back-face culling function is set to the rendering device. The upper surfaces of the flyover are subject to a texture mapping process and a single-surface rendering process. The lower surfaces of the flyover are subject to a colored polygon process, in which colors are applied to triangles, and the singe-surface rendering process. The guardrails are subject to the colored polygon process and a both-surface rendering process.
According to exemplary embodiments of a method and apparatus for three-dimensionally transforming two-dimensional flyover data in a three-dimensional graphics environment and exemplary embodiments of a method and apparatus for three-dimensionally visualizing two-dimensional flyover data in a three-dimensional graphics environment, division lines are selectively applied to a polygon to separate overlapped regions from the polygon, an ear cutting algorithm is applied to triangulate the polygon, and various different visualization processes are performed on different portions of the flyover data, so that the two-dimensional flyover data can be effectively transformed into the three-dimensional flyover data and various appearance of the flyover can be visualized. Accordingly, a shape and position of the flyover can be intuitively perceived by users, so that convenience and safety can be provided to the users.
In addition to the above described exemplary embodiments, exemplary embodiments of the present invention can also be implemented by executing computer readable code/instructions in/on a medium, e.g., a computer readable medium. The medium can correspond to any medium/media permitting the storing of the computer readable code.
The computer readable code/instructions can be recorded/transferred on a medium in a variety of ways, with examples of the medium including magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.) and optical recording media (e.g., CD-ROMs, or DVDs. The medium may also be a distributed network, so that the computer readable code/instructions are stored and executed in a distributed fashion. The computer readable code/instructions may be executed by one or more processors.
Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0006574 | Jan 2005 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
5361333 | Ahlquist et al. | Nov 1994 | A |
5522018 | Takeda et al. | May 1996 | A |
6169552 | Endo et al. | Jan 2001 | B1 |
6384834 | Watanabe | May 2002 | B1 |
6424911 | Yamashita et al. | Jul 2002 | B2 |
6593926 | Yamaguchi et al. | Jul 2003 | B1 |
6622085 | Amita et al. | Sep 2003 | B1 |
6788310 | Politis | Sep 2004 | B1 |
6867787 | Shimizu et al. | Mar 2005 | B1 |
6917877 | Yang | Jul 2005 | B2 |
7023432 | Fletcher et al. | Apr 2006 | B2 |
7133044 | Maillot et al. | Nov 2006 | B2 |
7321373 | Yap | Jan 2008 | B2 |
Number | Date | Country |
---|---|---|
1 182 611 | Feb 2002 | EP |
Number | Date | Country | |
---|---|---|---|
20060164416 A1 | Jul 2006 | US |