KR100550130B1 - Line clipping method and method for displaying three dimensional image using line clipping - Google Patents

Line clipping method and method for displaying three dimensional image using line clipping Download PDF

Info

Publication number
KR100550130B1
KR100550130B1 KR1020030086182A KR20030086182A KR100550130B1 KR 100550130 B1 KR100550130 B1 KR 100550130B1 KR 1020030086182 A KR1020030086182 A KR 1020030086182A KR 20030086182 A KR20030086182 A KR 20030086182A KR 100550130 B1 KR100550130 B1 KR 100550130B1
Authority
KR
South Korea
Prior art keywords
line
dimensional
clipping
view volume
projection
Prior art date
Application number
KR1020030086182A
Other languages
Korean (ko)
Other versions
KR20050052672A (en
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
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020030086182A priority Critical patent/KR100550130B1/en
Priority to US10/993,275 priority patent/US20050116948A1/en
Priority to RU2004133828/09A priority patent/RU2296368C2/en
Priority to EP04292780A priority patent/EP1538569A3/en
Priority to CN200410091695.5A priority patent/CN1624721A/en
Publication of KR20050052672A publication Critical patent/KR20050052672A/en
Application granted granted Critical
Publication of KR100550130B1 publication Critical patent/KR100550130B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Image Generation (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)

Abstract

투영중심위치와 투영평면의 사이에, 투영평면과 평행한 클리핑 평면을 형성하고, 그 클리핑 평면에서의 클리핑만으로 3차원 라인들을 에러가 발생됨이 없이 화면에 표시한다.A clipping plane parallel to the projection plane is formed between the projection center position and the projection plane, and the three-dimensional lines are displayed on the screen without an error only by clipping at the clipping plane.

투영중심위치를 기준으로 투영평면에 투영할 3차원 영상내에서 3차원 라인을 구성하는 모든 노드들의 z축 값을 클리핑 평면의 z축 값과 각기 비교하여 뷰 볼륨 안 또는 밖에 위치하는 노드로 판단하고, 판단 결과 각각의 3차원 라인의 모든 노드들이 뷰 볼륨 안에 있을 경우에 출력할 3차원 라인으로 판단하며, 3차원 라인의 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있을 경우에 뷰 볼륨 안의 노드들과, 3차원 라인과 클리핑 평면이 교차되는 교차점들로 새로운 3차원 라인을 재구성한 후 출력할 3차원 라인으로 설정하며, 이러한 라인 클리핑을 이용하여 3차원 지도 등을 비롯한 소정의 3차원 영상들의 3차원라인들을 클리핑하면서 화면에 표시한다.Based on the projection center position, the z-axis values of all nodes constituting the 3D line in the 3D image to be projected on the projection plane are compared with the z-axis values of the clipping plane, respectively, and are determined as nodes located inside or outside the view volume. The result of the determination is that the three-dimensional line to be output when all nodes of each three-dimensional line are in the view volume. When the nodes of the three-dimensional line are in and out of the view volume, the nodes in the view volume and the three-dimensional line are determined. Reconstruct a new three-dimensional line with intersections where the line and the clipping plane intersect, and set it as a three-dimensional line to be output. This line clipping is used to clip three-dimensional lines of predetermined three-dimensional images including a three-dimensional map. Display on the screen.

3차원 지도, 3차원 영상, 라인 클리핑, 클리핑, 투영평면, 클리핑 평면3D Map, 3D Image, Clipping Line, Clipping, Projection Plane, Clipping Plane

Description

라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의 표시방법{Line clipping method and method for displaying three dimensional image using line clipping}Line clipping method and method for displaying three dimensional image using line clipping}

도 1은 일반적인 3차원 그래픽스의 처리과정에 포함되어 있는 클리핑을 설명하기 위한 도면.1 is a view for explaining clipping included in a process of general 3D graphics.

도 2a 및 도 2b는 투영중심의 후방에 존재하는 데이터들에 대한 역투영 현상을 설명하기 위한 도면.2A and 2B are diagrams for explaining a reverse projection phenomenon for data existing behind the projection center.

도 3은 3차원 지도의 표시에서 발생되는 출력 오류를 보인 도면.3 shows an output error occurring in the display of a three-dimensional map.

도 4는 3차원 라인의 클리핑 및 투영의 실제 개념을 설명하기 위한 도면.4 is a diagram for explaining the actual concept of clipping and projection of three-dimensional lines.

도 5는 종래의 라인 클리핑 방법을 설명하기 위한 도면.5 is a view for explaining a conventional line clipping method.

도 6은 본 발명의 라인 클리핑 방법이 적용되는 네비게이션 시스템의 구성을 예로 들어 보인 블록도.6 is a block diagram showing an example of a configuration of a navigation system to which the line clipping method of the present invention is applied.

도 7a 내지 도 7c는 본 발명의 라인 클리핑 방법에 따라 라인 클리핑을 수행하면서 2차원 지도를 3차원 지도로 변환하여 화면에 표시하는 과정을 예로 들어 보인 신호흐름도.7A to 7C are signal flow diagrams illustrating an example of converting a 2D map to a 3D map and displaying the same on a screen while performing line clipping according to the line clipping method of the present invention.

도 8은 본 발명의 라인 클리핑 방법에서 클리핑 평면과 교차하는 3차원 라인의 교차점 좌표를 계산하는 동작을 설명하기 위한 도면.8 is a view for explaining the operation of calculating the intersection coordinates of the three-dimensional line intersecting the clipping plane in the line clipping method of the present invention.

도 9는 본 발명의 라인 클리핑 방법의 개념을 설명하기 위한 도면.9 is a view for explaining the concept of the line clipping method of the present invention.

본 발명은 3차원 네비게이션 시스템이나 3차원 게임 등에 있어서, 3차원 지도 등과 같은 소정의 3차원 영상에서 노드와 링크의 구조를 가지는 3차원 라인을 표시패널의 화면상에 표시할 경우에 3차원 라인에서 필요 없는 라인을 제거하여 3차원 처리의 계산량을 줄일 수 있는 라인 클리핑 방법과, 그 라인 클리핑으로 3차원 영상의 3차원 라인을 클리핑하면서 화면상에 3차원 영상을 표시하는 라인 클리핑을 이용한 3차원 영상의 표시방법에 관한 것이다.According to the present invention, in a three-dimensional navigation system or a three-dimensional game, a three-dimensional line having a structure of a node and a link in a predetermined three-dimensional image such as a three-dimensional map is displayed on the screen of the display panel. 3D image using a line clipping method that can reduce the amount of calculation of 3D processing by eliminating unnecessary lines, and line clipping that displays a 3D image on the screen while clipping the 3D line of the 3D image with the line clipping It relates to the display method of.

일반적인 3차원 그래픽스의 처리과정 중에는 화면상에 표시되지 않는 3차원 영상을 클리핑하는 클리핑이 포함되어 있다. 상기 클리핑은 예를 들면, 도 1에 도시된 바와 같이 시점(view point)인 투영중심위치(100)에서 투영평면(110)에 뷰 볼륨(120)의 안쪽에 위치한 3차원 영상의 데이터들을 투영시키고, 뷰 볼륨의 경계면 바깥쪽 즉, 투영평면(110), 뷰 볼륨(120)의 상, 하, 좌, 우 및 후방의 여섯 면에서 바깥쪽에 위치하는 3차원 영상의 데이터들을 제거하는 것으로서 3차원 처리에 필요한 데이터의 양을 줄여 계산량을 줄이고, 처리속도를 향상시킬 수 있도록 하기 위한 것이다.During the process of general 3D graphics, clipping includes clipping a 3D image that is not displayed on the screen. The clipping projects, for example, data of a three-dimensional image located inside the view volume 120 on the projection plane 110 at the projection center position 100 that is the view point as shown in FIG. 1. 3D processing by removing data of the 3D image located outside the boundary of the view volume, that is, the projection plane 110 and the six sides of the top, bottom, left, right, and rear sides of the view volume 120. This is to reduce the amount of data required to reduce the amount of computation and to improve the processing speed.

그리고 3차원 라인을 투영평면에 투영할 경우에 3차원 라인의 한쪽 끝이 될 수도 있는 투영중심위치의 후방에 존재하는 노드들은 기대와는 반대방향으로 역투 영되므로 라인 클리핑을 수행하여 제거해야 된다. 즉, 도 2a에 도시된 바와 같이 투영중심위치(200)에서 뷰 볼륨(210) 상의 3차원 라인(220)을 투영평면(230)에 투영할 경우에 투영평면(230)에는 2차원 라인(240)으로 투영된다. 그러나, 도 2b에 도시된 바와 같이 투영중심위치(200)가 전진하여 3차원 라인(220)의 일측 노드의 좌표(x, y, z)가 투영중심위치(200)의 후방에 위치하게 되면, 이 노드의 좌표(x, y, z)가 투영평면(120)의 무한 아래의 투영좌표(xp, yp)로 떨어져 투영평면(240)에는 실제와 상이한 2차원 라인(240a)으로 투영되는 오류가 발생하게 된다.In the case of projecting the 3D line onto the projection plane, nodes existing behind the projection center position, which may be one end of the 3D line, are reversely projected in the opposite direction to the expectation, so the line clipping must be removed. That is, as shown in FIG. 2A, when the 3D line 220 on the view volume 210 is projected on the projection plane 230 at the projection center position 200, the 2D line 240 is formed on the projection plane 230. Projected to However, as shown in FIG. 2B, when the projection center position 200 is advanced and the coordinates (x, y, z) of one node of the three-dimensional line 220 are located behind the projection center position 200, The coordinates (x, y, z) of this node are dropped to the projection coordinates (x p , y p ) below infinity of the projection plane 120 and projected on the projection plane 240 as a two-dimensional line 240a different from the actual one. An error will occur.

도 3은 이러한 오류가 발생되는 실제의 예를 보인 것으로서 화면에 표시되는 3차원 지도에서 도로 및 물줄기 등이 실제와는 상이하게 공중에 떠 있는 상태로 표시됨을 알 수 있다.3 shows an example of the actual occurrence of such an error, and it can be seen that a road and a stream of water, etc., are displayed in a state of floating in the air differently from the reality in the 3D map displayed on the screen.

도 4는 라인의 클리핑과 투영의 실제 개념을 설명하기 위한 도면으로서 투영평면(400)에서 3차원 라인(410)을 클리핑하고, 투영중심위치(420)에서 투영평면(400)의 안쪽 즉, 뷰 볼륨의 내의 노드들만이 투영평면(400)에 투영되는 것을 보이고 있다. 여기서, 3차원 라인(410)과 투영평면(400)이 교차되는 교차점의 계산과, 새로운 3차원 라인의 구조를 위하여 메모리의 할당이 필요하다. 예를 들면, 원래, v0, v1, v2, v3 및 v4의 노드와 링크로 이루어진 3차원 라인(410)에 대하여 투영평면(400)과의 교차점에 nv1, nv2 및 nv3을 더하고, 뷰 볼륨 밖의 v0 및 v3을 제거하여, nv1, v1, v2, nv2, nv3 및 v4의 5개의 노드로 이루어지는 새로운 구조의 3차원라인(410)으로 변경하는 것이다.FIG. 4 is a view for explaining the actual concept of clipping and projection of a line, and clipping the three-dimensional line 410 in the projection plane 400 and the inside of the projection plane 400 at the projection center position 420, that is, the view. Only nodes within the volume are shown projected onto the projection plane 400. Here, memory allocation is required for the calculation of the intersection point at which the 3D line 410 and the projection plane 400 intersect and the structure of the new 3D line. For example, for a three-dimensional line 410 originally composed of nodes and links of v0, v1, v2, v3, and v4, add nv1, nv2 and nv3 to the intersection with the projection plane 400, and v0 outside the view volume. And removing v3, and changing to a three-dimensional line 410 of a new structure consisting of five nodes nv1, v1, v2, nv2, nv3, and v4.

이러한 라인 클리핑에 있어서, 종래에는 6면 즉, 투영평면과, 뷰 볼륨의 상, 하, 좌, 우 및 후방의 6면에서 각기 라인 클리핑을 수행하였다. 예를 들면, 도 5에 도시된 바와 같이 v0, v1, v2, v3, v4, v5 및 v6 7개의 노드들로 이루어진 3차원라인(500)에 대하여 투영중심위치(510)를 기준으로 투영평면(520)과 뷰 볼륨(530)의 상, 하, 좌, 우 및 후면의 여섯 면에서 3차원 라인(500)과의 교차점인 ve2, ve4 및 ve6을 계산하여 ve0(v0), ve1(v1), ve2, ve4, ve5(v5) 및 ve6로 이루어지는 새로운 구조의 3차원라인을 구성하였다.In such line clipping, line clipping is conventionally performed on six surfaces, that is, a projection plane and six surfaces on the top, bottom, left, right, and rear sides of the view volume. For example, as shown in FIG. 5, with respect to the three-dimensional line 500 consisting of seven nodes v0, v1, v2, v3, v4, v5, and v6, the projection plane (based on the projection center position 510) 520 and ve2, ve4, and ve6, the intersections of the three-dimensional lines 500 on the six sides of the top, bottom, left, right, and back of the view volume 530, and calculate ve0 (v0), ve1 (v1), A new three-dimensional line consisting of ve2, ve4, ve5 (v5) and ve6 was constructed.

그러나 상기한 종래의 기술은 투영평면과, 뷰 볼륨의 상, 하, 좌, 우 및 후방의 6면에서 3차원 라인에 대하여 라인 클리핑을 수행하였으므로 계산량이 많고, 이로 인하여 3차원 라인에 대한 처리속도가 느려 이동통신 단말기 등과 같이 낮은 성능의 모바일 기기에서 3차원 지도 등과 같은 3차원 영상을 표시할 수 없는 문제점이 있었다.However, the conventional technique described above has a large amount of computation because line clipping is performed on the projection plane and six planes on the top, bottom, left, right, and rear sides of the view volume. Due to the slowness, there was a problem in that a low performance mobile device such as a mobile communication terminal cannot display a 3D image such as a 3D map.

본 발명의 목적은 3차원 지도 등과 같은 3차원 영상의 표시에 있어서, 계산량을 줄이고, 계산 효율을 높일 수 있는 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의 표시방법을 제공하는데 있다.An object of the present invention is to provide a 3D image display method using a line clipping method and a line clipping method that can reduce the amount of calculation and increase the calculation efficiency in displaying a 3D image such as a 3D map.

본 발명의 다른 목적은 3차원 지도를 포함하는 3차원 영상의 표시에서 3차원 라인 성분들의 표시속도를 증대시킬 수 있는 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의 표시방법을 제공하는데 있다.Another object of the present invention is to provide a line clipping method that can increase the display speed of three-dimensional line components in a three-dimensional image including a three-dimensional map and a three-dimensional image display method using line clipping.

본 발명의 또 다른 목적은 낮은 성능의 모바일 기기에 화면상에 3차원 지도 를 표시할 수 있는 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상의 표시방법을 제공하는데 있다.It is still another object of the present invention to provide a line clipping method for displaying a 3D map on a screen in a low performance mobile device and a 3D image display method using line clipping.

이러한 목적을 가지는 본 발명은, 뷰 볼륨의 여섯 개 평면에 대하여 클리핑을 요구하는 일반 3차원 그래픽스의 일반 처리과정과는 달리 시점인 투영중심위치와 투영평면의 사이에, 투영평면과 평행한 클리핑 평면을 형성하고, 그 클리핑 평면에서의 클리핑만으로 3차원 라인들을 에러가 발생됨이 없이 화면에 표시할 수 있는 새로운 방법을 제안한다.The present invention having the above object is a clipping plane parallel to the projection plane between the projection center position and the projection plane, which is different from the general processing of general three-dimensional graphics that requires clipping for six planes of the view volume. We propose a new method that can form 3D lines and display them on the screen only without clipping in the clipping plane.

본 발명의 제 1 특징에 따르면, 노드와 링크로 이루어지는 일반적인 구조의 3차원 라인을 입력하여 사용한다.According to a first aspect of the invention, a three-dimensional line of a general structure consisting of nodes and links is input and used.

본 발명의 제 2 특징에 따르면, 2차원 지도데이터를 로딩하거나 또는 미리 3차원 모델링된 데이터를 로딩할 경우에 1차 클리핑을 수행하고, 투영변환을 수행하기 전에 2차 클리핑을 수행한다.According to a second aspect of the present invention, when loading 2D map data or loading 3D modeled data in advance, the first clipping is performed, and the second clipping is performed before the projection transformation is performed.

본 발명의 제 3 특징에 따르면, 상기 1차 클리핑은 2차원 지도데이터 또는 3차원 모델링된 데이터를 로딩할 경우에 투영중심위치를 기준으로 주변의 2차원 지도데이터 또는 3차원 모델링된 데이터만을 로딩하는 것으로 실행된다. 즉, 투영평면에 투영할 뷰 볼륨 안을 포함하는 소정 영역의 데이터만을 로딩함으로써 메모리 사용의 효율을 높이는 간접 클리핑이 이루어진다.According to a third aspect of the present invention, the first clipping loads only the two-dimensional map data or the three-dimensional modeled data based on the projection center position when loading the two-dimensional map data or the three-dimensional modeled data. Is executed. That is, indirect clipping is performed to increase the efficiency of memory use by loading only data of a predetermined region including the view volume to be projected onto the projection plane.

본 발명의 제 4 특징에 따르면, 상기 2차 클리핑은 3차원 라인을 이루는 구성 요소들 중에서 투영평면과 투영중심위치의 후방에 위치하는 있는 라인 및 노드를 제거하는 것으로서 투영중심위치와 투영평면의 사이에 투영평면과 평행한 임의 의 평면을 정하여 클리핑 평면으로 규정하고, 이 클리핑 평면에서 직접 클리핑을 수행한다. 여기서, 클리핑 평면의 바깥쪽을 뷰 볼륨 밖이라고 하고, 클리핑 평면의 안쪽을 뷰 볼륨 안이라고 한다.According to a fourth aspect of the present invention, the secondary clipping removes the line and the node located behind the projection plane and the projection center position among the components constituting the three-dimensional line, and between the projection center position and the projection plane. Define a clipping plane that is parallel to the projection plane and define the clipping plane, and perform clipping directly from this clipping plane. Here, the outside of the clipping plane is called the outside of the view volume, and the inside of the clipping plane is called the inside of the view volume.

본 발명의 제 5 특징에 따르면, 상기 제 4 특징에서의 2차 클리핑은 클리핑 평면에 걸친 3차원 라인들에 대하여만 실시하며, 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖에 있으면 모두 제거하며, 모든 노드가 뷰 볼륨 안에 있으면, 그대로 투영평면에 투영한다.According to a fifth aspect of the present invention, the secondary clipping in the fourth aspect is performed only on three-dimensional lines across the clipping plane, and removes all nodes constituting the three-dimensional line if they are outside the view volume, If all nodes are in the view volume, they are projected onto the projection plane.

본 발명의 제 6 특징에 따르면, 상기 2차 클리핑의 과정에서 3차원 라인과 클리핑 평면이 교차되는 교차점들을 구하고, 이 교차점과 뷰 볼륨 안에 위치하는 노드들로 새로운 구조의 3차원 라인을 형성한다.According to a sixth aspect of the present invention, in the process of the second clipping, intersection points where the three-dimensional line and the clipping plane intersect are obtained, and nodes located in the intersection point and the view volume form a three-dimensional line having a new structure.

본 발명의 제 7 특징에 따르면, 상기 제 6 특징에서 새로운 3차원 라인을 형성할 경우에 일단 3차원 라인과 클리핑 평면의 교차점 수를 구하고, 3차원 라인의 전체 노드 수에서 뷰 볼륨 밖에 위치하는 노드의 수를 뺀 값에 교차점 수를 더한 만큼의 메모리를 재할당한다.According to a seventh aspect of the present invention, in the case of forming a new three-dimensional line in the sixth aspect, the number of intersection points of the three-dimensional line and the clipping plane is obtained once, and the node is located outside the view volume in the total number of nodes of the three-dimensional line. Reallocate memory by subtracting the number of points plus the number of intersections.

본 발명의 제 8 특징에 따르면, 3차원 라인과 클리핑 평면의 교차점 좌표를 소정의 매개변수 방정식으로 나타낼 수 있고, 이 매개변수 방정식은 클리핑 평면의 z축 값을 k 라고 할 경우의 매개변수 t를 구하여 해결할 수 있는 것으로서 3차원 라인과 클리핑 평면이 교차되는 교차점의 좌표를구한다.According to the eighth aspect of the present invention, the coordinates of the intersection point of the three-dimensional line and the clipping plane can be represented by a predetermined parameter equation, and this parameter equation denotes the parameter t when the z-axis value of the clipping plane is k. As a solution to this problem, the coordinates of the intersection points of the 3D lines and the clipping planes are obtained.

본 발명의 제 9 특징에 따르면, 상기 제 6 특징에서의 2차 클리핑의 실제 과정은, 클리핑 평면에 걸친 3차원 라인의 각 링크들을 순서대로 탐색해 가면서 상기 제 7 특징에서의 새로운 구조의 3차원 라인의 노드들의 좌표 값들을 결정한다.According to a ninth aspect of the present invention, the actual process of secondary clipping in the sixth aspect is a three-dimensional structure of the new structure in the seventh aspect, while sequentially searching each link of the three-dimensional line across the clipping plane. Determine the coordinate values of the nodes of the line.

상기 새로운 구조의 3차원 라인의 노드들의 좌표 값의 결정은 다음과 같다.The determination of the coordinate values of the nodes of the three-dimensional line of the new structure is as follows.

현재 노드에서 다음 노드의 진행이 뷰 볼륨 안에서 뷰 볼륨 밖으로 진행하는 것일 경우에 현재 노드의 좌표 값을 새로운 구조의 3차원 라인에 할당하고, 현재 링크와 교차되는 클리핑 평면의 교차점 계산 및 결과를 새로운 구조의 3차원 라인에 추가한다. If the progress of the next node from the current node is to progress out of the view volume, assign the coordinate values of the current node to the three-dimensional line of the new structure, and calculate the intersection point of the clipping plane that intersects the current link and the result. Add to the 3D line of.

현재 노드에서 다음 노드의 진행이 뷰 볼륨 밖에서 뷰 볼륨 안으로 진행하는 것일 경우에 현재 링크와 교차되는 클리핑 평면의 교차점 계산 및 결과를 새로운 구조의 3차원 라인에 추가한다.If the progression of the next node from the current node is to proceed out of the view volume into the view volume, the intersection calculation and result of the clipping plane intersecting the current link is added to the three-dimensional line of the new structure.

현재 노드와 다음노드가 모두 뷰 볼륨 안에 있을 경우에는 현재 노드의 좌표 값을 새로운 구조의 3차원 라인에 할당한다.If both the current node and the next node are in the view volume, the coordinates of the current node are assigned to the three-dimensional line of the new structure.

현재 노드와 다음 노드가 모두 뷰 볼륨 밖에 있을 경우에는 아무 일도 수행하지 않는다.Do nothing if both the current node and the next node are outside the view volume.

본 발명의 제 10 특징에 따르면, 상기한 바와 같은 과정을 통해 결정된 뷰 볼륨 안의 3차원 라인들을 일반 3차원 그래픽스의 처리과정대로 투영평면에 투영하고, 렌더링하여 화면에 표시된다.According to a tenth aspect of the present invention, the three-dimensional lines in the view volume determined through the above-described process are projected onto the projection plane according to the processing of general three-dimensional graphics, rendered and displayed on the screen.

이러한 본 발명의 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상 표시방법에 따르면, 네비게이션 시스템에서의 3차원 지도 처리과정이나, 3차원 게임 등에서의 3차원 모델링에 대한 계산량을 현격히 줄일 수 있으며, 위치기반기술의 발전에 따른 여러 가지 응용에서의 3차원 지도표시 등에 유용하게 사용될 수 있다.According to the three-dimensional image display method using the line clipping method and the line clipping of the present invention, the amount of calculation for the three-dimensional map processing in the navigation system, three-dimensional modeling in the three-dimensional game, etc. can be significantly reduced, and location-based It can be usefully used for 3D map display in various applications according to the development of technology.

이하, 첨부된 도 6 내지 도 9의 도면을 참조하여 본 발명의 라인 클리핑 방법 및 라인 클리핑을 이용한 3차원 영상 표시방법을 보다 상세히 설명한다.Hereinafter, a line clipping method and a 3D image display method using line clipping according to the present invention will be described in detail with reference to the accompanying drawings of FIGS. 6 to 9.

도 6은 본 발명의 라인 클리핑 방법이 적용되는 네비게이션 시스템의 구성을 예로 들어 보인 블록도이다. 이에 도시된 바와 같이 3개 이상의 GPS 위성(600)이 송신하는 위치 데이터를 수신하는 GPS 수신부(610)와, 2차원 지도 데이터를 미리 저장하고 있는 지도 저장부(620)와, 사용자의 조작에 따른 명령을 입력받는 명령 입력부(630)와, 상기 GPS 수신부(610)가 수신한 위치 데이터로 이동체의 현재위치를 판단하고 판단한 현재위치를 기준으로 상기 지도 저장부(620)로부터 소정 지역의 2차원 지도 데이터를 독출하며, 독출한 2차원 지도로 3차원 지도를 생성하여 표시하면서 이동체의 주행경로를 안내하는 제어부(640)와, 상기 제어부(640)의 제어에 따라 3차원 지도와 함께 이동체의 현재위치 및 주행경로 등을 표시패널(660)에 표시하는 표시 구동부(650)로 구성된다.6 is a block diagram illustrating an example of a configuration of a navigation system to which the line clipping method of the present invention is applied. As shown therein, a GPS receiver 610 for receiving location data transmitted by three or more GPS satellites 600, a map storage unit 620 for storing two-dimensional map data in advance, and a user's manipulation The command input unit 630 for receiving a command and the position data received by the GPS receiver 610 to determine the current position of the moving object based on the determined current position from the map storage unit 620 2D map of the predetermined area A controller 640 for guiding a driving route of the moving object while reading and generating and displaying a 3D map with the read 2D map, and the current position of the moving object together with the 3D map under the control of the controller 640. And a display driver 650 for displaying a driving route and the like on the display panel 660.

이러한 구성을 가지는 네비게이션 시스템은 복수의 GPS 위성(600)이 위치 데이터를 송신하고, 그 송신하는 위치 데이터를 GPS 수신부(610)가 수신하여 제어부(640)로 입력시킨다.In a navigation system having such a configuration, a plurality of GPS satellites 600 transmits position data, and the GPS receiver 610 receives the transmitted position data and inputs the position data to the controller 640.

네비게이션 시스템의 제어부(640)는 이동체가 주행할 경우에 GPS 수신부(610)로부터 입력되는 위치 데이터로 이동체의 현재위치를 판단하고, 판단한 이동체의 현재위치를 기준으로 하여 소정 지역의 2차원 지도를 지도 저장부(620)에서 독출한다. 그리고 제어부(640)는 상기 독출한 2차원 지도를 이용하여 본 발명의 라인 클리핑 방법에 따라 라인을 클리핑하면서 3차원 지도를 생성하고, 생성한 3차원 지도를 표시 구동부(650)로 출력하여 표시패널(660)에 3차원 지도를 표시하며, 그 표시한 3차원 지도에 상기 판단한 이동체의 현재위치를 화살표 등으로 함께 표시하면서 이동체의 주행을 안내한다.The controller 640 of the navigation system determines the current position of the moving object based on the position data input from the GPS receiver 610 when the moving object travels, and maps the 2D map of the predetermined area based on the determined current position of the moving object. Read from the storage unit 620. The controller 640 generates a 3D map while clipping a line according to the line clipping method of the present invention using the read 2D map, and outputs the generated 3D map to the display driver 650 to display the display panel. A three-dimensional map is displayed at 660, and the running position of the moving object is guided while the current position of the determined moving object is displayed together with an arrow or the like on the displayed three-dimensional map.

여기서, 상기 네비게이션 시스템은 이동체에 고정 설치된 것을 예로 들어 설명한 것으로서 모바일용 기기에 설치될 경우에는 지도 저장부(620)의 저장 용량이 한계가 있으므로 명령 입력부(630)의 명령에 따라, 지도를 제공하는 지도 제공용 서버에 접속하여 소정 영역 예를 들면, 서울특별시 전역의 2차원 지도를 다운로드받고, 그 다운로드받은 2차원 지도를 지도 저장부(620)에 저장한 후 사용할 수도 있다.Here, the navigation system is described as being fixed to the moving object as an example, and when installed in a mobile device, since the storage capacity of the map storage unit 620 is limited, according to the command of the command input unit 630, to provide a map. It is also possible to access a map providing server, download a two-dimensional map of a predetermined area, for example, Seoul, and store the downloaded two-dimensional map in the map storage unit 620 for use.

도 7a 내지 도 7c는 본 발명의 라인 클리핑 방법에 따라 상기 제어부(640)가 라인을 클리핑하면서 2차원 지도를 3차원 지도로 변환하여 화면에 표시하는 과정을 예로 들어 보인 신호흐름도이다. 도 7a에 도시된 바와 같이 단계(700)에서 제어부(640)는 3차원 지도를 생성할 기준위치 좌표를 입력한다. 여기서, 상기 기준위치 좌표는, GPS 수신부(610)의 수신신호로 검출한 이동체의 현재 위치를 기준위치 좌표로 입력할 수 있고, 또는 사용자가 명령 입력부(630) 등을 통해 입력하는 좌표를 기준위치 좌표로 입력할 수 있다.7A to 7C are signal flow diagrams illustrating a process of the controller 640 converting a 2D map into a 3D map and displaying it on the screen while clipping the line according to the line clipping method of the present invention. As shown in FIG. 7A, in step 700, the controller 640 inputs reference position coordinates for generating a 3D map. Here, the reference position coordinates may input the current position of the moving object detected by the reception signal of the GPS receiver 610 as reference position coordinates, or the reference position is a coordinate input by the user through the command input unit 630 or the like. Can be entered in coordinates.

상기 단계(700)에서 기준위치 좌표의 입력이 완료되면, 제어부(640)는 단계(710)에서 3차원 지도 또는 3차원 모델들을 표시패널(660)에 표시하기 위한 3차원 환경 초기화 과정을 수행한다. 상기 단계(710)에서의 3차원 환경 초기화 과정은, 단계(711)에서 라이팅 환경을 초기화한다. 상기 단계(711)의 라이팅 환경 초기화는, 시점(view point), 시선, 광원의 방향, 광원의 세기 및 건물들의 각 면의 각도 등에 따라 건물 각 면을 표시할 색상 및 농도 등을 설정한다. 다음 단계(712)에서는 깊이 버퍼를 초기화 즉, 시점으로부터 소정의 표시 대상물이 표시되는 위치까지의 거리를 나타내는 깊이버퍼를 초기화하고, 단계(713)에서 화면의 바탕색을 클리어하여 소정의 색상으로 설정한다.When the input of the reference position coordinates is completed in step 700, the controller 640 performs a 3D environment initialization process for displaying 3D maps or 3D models on the display panel 660 in step 710. . In the process of initializing the 3D environment in step 710, the lighting environment is initialized in step 711. In the initializing of the lighting environment of step 711, the color and the density to display each side of the building are set according to the view point, the line of sight, the direction of the light source, the intensity of the light source, and the angle of each side of the building. In the next step 712, the depth buffer is initialized, that is, the depth buffer indicating the distance from the viewpoint to the position where the predetermined display object is displayed is initialized, and in step 713, the background color of the screen is cleared and set to the predetermined color. .

상기 단계(710)의 3차원 환경 초기화 과정이 완료되면, 단계(720)에서 시점 설정과정을 수행한다. 상기 단계(720)의 시점 설정과정은, 단계(721)에서 시점의 위치를 설정한다. 상기 시점의 위치 설정은 예를 들면, 상기 입력한 기준위치 좌표의 위치를 기준으로 미리 설정된 소정의 높이 위치를 시점으로 설정한다. 다음 단계(722)에서는 상기 설정한 시점의 위치로부터 3차원 지도 또는 3차원 모델을 바라보는 방향인 시선을 설정한다.When the three-dimensional environment initialization process of step 710 is completed, a viewpoint setting process is performed in step 720. In the viewpoint setting process of step 720, the position of the viewpoint is set in step 721. In the position setting of the viewpoint, for example, a predetermined height position preset based on the input position of the reference position coordinate is set as the viewpoint. In a next step 722, a line of sight that is a direction of looking at the 3D map or the 3D model is set from the position of the set viewpoint.

상기 단계(720)에서의 시점 설정과정이 완료되면, 제어부(640)는 단계(730)에서 3차원 좌표를 투영 평면에 투영하여 투영 변환할 투영 파라미터를 설정한다.When the viewpoint setting process in step 720 is completed, the control unit 640 sets a projection parameter to be projected by converting the three-dimensional coordinates to the projection plane in step 730.

그리고 상기한 단계(710)의 3차원 환경의 초기화 과정, 단계(720)의 시점설정과정 및 단계(730)의 투영 파라미터 설정동작을 순차적으로 수행함과 동시에 제어부(640)는 단계(740)에서 3차원 지도로 변환할 2차원 지도 데이터를 지도 저장부(620)로부터 로딩한다. 여기서, 상기 2차원 지도데이터의 로딩은 상기 단계(700)에서 입력한 현재위치좌표를 기준으로 하여 그 부근의 지도 도엽만을 지도 저장부(620)로부터 로딩함으로써 1차 클리핑이 이루어지게 한다.In addition, the controller 640 performs step 3 in step 740 while sequentially performing the initialization process of the three-dimensional environment in step 710, the viewpoint setting step in step 720, and the projection parameter setting operation in step 730. The 2D map data to be converted into the 3D map is loaded from the map storage unit 620. Here, the loading of the 2D map data is performed by loading only the map map in the vicinity of the map storage unit 620 based on the current position coordinate input in the step 700 so that the first clipping is performed.

다음 단계(750)에서는 상기 로딩한 2차원 지도의 데이터를 3차원으로 모델링하는 3차원 모델링 과정을 수행한다. 상기 단계(750)에서의 3차원 모델링 과정은, 단계(751)에서 예를 들면, 로딩한 2차원 지도의 데이터에서 3차원 바닥면의 지도를 생성 예를 들면, 도로, 녹지, 강 및 호수 등의 라인을 설정하고, 단계(752)에서 각 건물들의 노드의 높이를 설정하며, 단계(753)에서 상기 설정한 높이로 각 건물들을 생성한 후, 단계(754)에서 이동체의 주행정보의 궤적을 화살표 또는 점선 등으로 생성한다.In a next step 750, a 3D modeling process of modeling the loaded 2D map data in 3D is performed. The three-dimensional modeling process in the step 750, for example, generates a map of the three-dimensional floor surface from the data of the loaded two-dimensional map in step 751, for example, roads, green areas, rivers and lakes, etc. Set the line of, set the height of the node of each building in step 752, generate each building to the set height in step 753, and then in step 754 the trajectory of the traveling information of the moving object is set. Create by arrow or dotted line.

여기서, 상기 단계(740)에서의 2차원 지도 데이터의 로딩과, 단계(750)의 3차원 모델링 과정은 네비게이션 시스템에서 3차원 지도를 3차원 지도를 변환하여 표시할 경우를 예로 들어 설명한 것이다. 그러나 3차원 영상을 표시하는 게임 등에서는 미리 3차원 모델이 저장수단에 저장되어 있으므로 상기한 단계(740)에서의 2차원 지도 데이터의 로딩과, 단계(750)의 3차원 모델링 과정을 수행하지 않고, 저장수단으로부터 상기 기준위치의 좌표를 기준으로 소정 영역의 3차원 모델을 직접 로딩할 수 있다.Here, the loading of the two-dimensional map data in the step 740 and the three-dimensional modeling process of the step 750 will be described by taking a case where a three-dimensional map is converted and displayed in the navigation system as an example. However, in a game displaying a 3D image, the 3D model is stored in the storage unit in advance, so that the loading of the 2D map data in step 740 and the 3D modeling process of step 750 are not performed. The 3D model of the predetermined region may be directly loaded from the storage means based on the coordinates of the reference position.

다음 단계(760)에서 제어부(640)는 시점 변환과정을 수행한다. 상기 단계(760)의 시점 변환과정은, 상기 3차원 모델링 과정에서 3차원으로 확장된 모델의 노드들의 3차원 좌표에 대하여 시점을 기준으로 3차원 이동 및 3차원 회전을 수행하여 시점을 기준으로 하는 시점 기준의 좌표계로 변환한다.In the next step 760, the controller 640 performs a viewpoint conversion process. In the viewpoint transformation process of the step 760, three-dimensional movement and three-dimensional rotation with respect to the three-dimensional coordinates of the nodes of the model extended in the three-dimensional model in the three-dimensional modeling process to perform the three-dimensional rotation Convert to a coordinate system based on the viewpoint.

상기 단계(760)에서의 시점 변환과정의 수행이 완료되면, 제어부(640)는 도 7b에 도시된 바와 같이 단계(770)에서 2차 클리핑을 수행하여 3차원에서의 뷰 볼륨 밖의 구성요소들을 모두 제거한다.Upon completion of the viewpoint conversion process in step 760, the controller 640 performs the second clipping in step 770 as shown in FIG. 7B to remove all the components outside the view volume in 3D. Remove

상기 단계(770)의 2차 클리핑은, 먼저 단계(771)에서 3차원 영상을 구성하는 모든 노드들의 z축 값을 클리핑 평면의 z축 값(k)과 비교하여 노드들의 z축 값이 z≥k일 경우에는 뷰 볼륨 안으로 판단하고, z<k일 경우에는 뷰 볼륨 밖으로 판단한 후 단계(772)에서 모든 3차원 라인들의 노드들을 순차적으로 뷰 볼륨 밖 또는 뷰 볼륨 안 인지를 탐색하면서 2차 클리핑을 수행한다.In the second clipping of the step 770, first, in step 771, the z-axis value of all nodes constituting the 3D image is compared with the z-axis value k of the clipping plane so that the z-axis value of the nodes is z≥ If k is determined into the view volume, if z <k, it is judged outside the view volume, and then in step 772, the nodes of all three-dimensional lines are sequentially searched to see if they are out of or within the view volume. Perform.

상기 단계(772)에서의 2차 클리핑 수행은, 단계(772-10)에서 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖인지를 판단하고, 단계(772-20)에서 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 안인지를 판단한다.Performing the second clipping in step 772 determines whether all nodes constituting the 3D line are out of the view volume in step 772-10, and configures the 3D line in step 772-20. Determine if all nodes are in view volume.

상기 단계(772-10)의 판단 결과 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖일 경우에 제어부(640)는 단계(772-30)에서 상기 뷰 볼륨 밖의 3차원 라인을 버린 후 단계(772-60)에서 모든 3차원 라인에 대한 탐색이 완료되었는지의 여부를 판단하고, 완료되지 않았을 경우에 단계(772-10)로 복귀하여 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖인지 또는 안인 지의 여부를 판단하는 동작을 반복 수행한다.If all nodes constituting the 3D line are out of the view volume, the control unit 640 discards the 3D line outside the view volume in step 772-30 after step 772-10. In step 60), it is determined whether the search for all three-dimensional lines is completed, and if not, the process returns to step 772-10 to determine whether all nodes constituting the three-dimensional lines are out of view volume or not. Repeat the operation of determining.

그리고 상기 단계(772-20)의 판단 결과 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 안일 경우에는 제어부(640)는 단계(772-50)에서 출력할 3차원 라인으로 판단하고, 단계(772-60)에서 모든 3차원 라인에 대한 탐색이 완료되었는지의 여부를 판단하며, 완료되지 않았을 경우에 단계(772-10)로 복귀하여 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖인지 또는 안인 지의 여부를 판단하는 동작을 반복 수행한다.If all nodes constituting the 3D line are within the view volume, the controller 640 determines that the 3D line is the 3D line to be output in step 772-50. In step 60), it is determined whether the search for all three-dimensional lines has been completed, and if not, the process returns to step 772-10 to determine whether all nodes constituting the three-dimensional lines are outside the view volume or not. Repeat the operation of determining.

또한 상기 단계(772-10)(772-20)의 판단 결과 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖이거나 또는 뷰 볼륨 안이 모두 아닐 경우에는 3차원 라인이 클리핑 평면에 걸쳐져 있는 것으로서 단계(772-40)에서 클리핑 평면에 걸쳐져 있는 3차원 라인의 구조를 변경하여 새로운 구조의 3차원 라인을 구축한다.In addition, when all nodes constituting the 3D line are outside the view volume or not within the view volume as a result of the determination of the steps 772-10 and 772-20, the step 377 is as covering the clipping plane. In (40), the structure of the three-dimensional line that spans the clipping plane is changed to construct the three-dimensional line of the new structure.

상기 단계(772-40)에서의 새로운 구조의 3차원 라인 구축은, 단계(772-41)에서 새로운 3차원 라인 구조체에 대한 메모리를 할당하고, 단계(772-42)에서 3차원 라인의 링크들을 노드들의 순서대로 탐색하면서 새로운 구조의 3차원 라인의 노드 값들을 결정한다.Constructing a new structure of three-dimensional lines in steps 772-40 allocates memory for the new three-dimensional line structure in steps 772-41, and links of three-dimensional lines in steps 772-42. Searching in the order of the nodes, we determine the node values of the 3D line of the new structure.

상기 단계(772-42)에서의 새로운 구조의 3차원 라인의 노드 값 결정은 다음과 같다.The node value determination of the three-dimensional line of the new structure in steps 772-42 is as follows.

현재 노드에서 다음 노드의 진행이 뷰 볼륨 안에서 뷰 볼륨 밖으로 진행하는 것일 경우에 현재 노드의 좌표 값을 새로운 구조의 3차원 라인에 할당하고, 현재 링크와 교차되는 클리핑 평면의 교차점 계산 및 결과를 새로운 구조의 3차원 라인에 추가한다.If the progress of the next node from the current node is to progress out of the view volume, assign the coordinate values of the current node to the three-dimensional line of the new structure, and calculate the intersection point of the clipping plane that intersects the current link and the result. Add to the 3D line of.

현재 노드에서 다음 노드의 진행이 뷰 볼륨 밖에서 뷰 볼륨 안으로 진행하는 것일 경우에 현재 링크와 교차되는 클리핑 평면의 교차점 계산 및 결과를 새로운 구조의 3차원 라인에 추가한다.If the progression of the next node from the current node is to proceed out of the view volume into the view volume, the intersection calculation and result of the clipping plane intersecting the current link is added to the three-dimensional line of the new structure.

여기서, 상기 교차점 계산은 다음과 같다.Here, the intersection calculation is as follows.

도 8에 도시된 바와 같이 시점 기준으로 원점 O인 투영중심위치(800)에서 z 축으로 k의 위치에 위치하는 클리핑 평면(810)에 노드 A(x1, y1, z1) 및 노드 B(x2, y2, z2)로 연결되는 3차원 라인(820)이 걸쳐져 있다고 가정하면, 클리핑 평면(810)과 3차원 라인(820)이 교차되는 교차점의 좌표 (x, y, z)는 다음의 수학식 1과 같이 구할 수 있다.As shown in FIG. 8, nodes A (x1, y1, z1) and node B (x2, 2) are located on a clipping plane 810 located at a position k in the z axis from the projection center position 800 that is the origin O as a viewpoint. Assuming that the three-dimensional line 820 connected to y2, z2 spans, the coordinates (x, y, z) of the intersection point at which the clipping plane 810 and the three-dimensional line 820 intersect are represented by the following equation (1). It can be obtained as

Figure 112003045660299-pat00001
Figure 112003045660299-pat00001

여기서, 클리핑 평면(810)의 z축 값이 k이므로 매개변수 t는 다음의 수학식 2와 같이 구할 수 있다.Here, since the z-axis value of the clipping plane 810 is k, the parameter t may be obtained as in Equation 2 below.

Figure 112003045660299-pat00002
Figure 112003045660299-pat00002

그러면, 클리핑 평면(810)과 3차원 라인(820)이 교차되는 교차점의 좌표 (x, y, z)는 다음의 수학식 3과 같이 된다.Then, the coordinates (x, y, z) of the intersection where the clipping plane 810 and the three-dimensional line 820 intersect, are expressed by Equation 3 below.

Figure 112003045660299-pat00003
Figure 112003045660299-pat00003

그리고 현재 노드와 다음노드가 모두 뷰 볼륨 안에 있을 경우에는 현재 노드 의 좌표 값을 새로운 구조의 3차원 라인에 할당한다.If both the current node and the next node are in the view volume, the coordinates of the current node are assigned to the three-dimensional line of the new structure.

현재 노드와 다음 노드가 모두 뷰 볼륨 밖에 있을 경우에는 아무 일도 수행하지 않는다.Do nothing if both the current node and the next node are outside the view volume.

상기한 새로운 구조의 3차원 라인의 노드 값 결정은, 탐색할 노드와 링크를 하나씩 증가시키면서 반복 수행하고, 현재 링크 및 노드가 끝일 경우에 종료한다.The node value determination of the three-dimensional line of the new structure is repeated while increasing the nodes to be searched and the link by one, and ends when the current link and the node are the end.

즉, 본 발명은 도 9에 도시된 바와 같이 투영중심위치(900)와 투영평면(910)의 사이에 z축 좌표 값이 k인 임의의 클리핑 평면(920)을 형성하고, 그 클리핑 평면(920)에서 라인 클리핑을 수행하는 것으로서 v0, v1, v2, v3, v4, v5 및 v6으로 이루어지는 3차원 라인(930)에 대하여 클리핑 평면(920)의 바깥쪽에 위치하는 노드 v2 및 v3을 제거하고, 클리핑 평면(920)과 교차되는 ve2 및 ve3을 구하여 v0, v1, ve2, ve3, v4, v5 및 v6으로 이루어지는 새로운 구조의 3차원 라인을 구한다.That is, the present invention forms an arbitrary clipping plane 920 having a z-axis coordinate value k between the projection center position 900 and the projection plane 910 as shown in FIG. 9, and the clipping plane 920. To remove the nodes v2 and v3 located outside the clipping plane 920 for the three-dimensional line 930 consisting of v0, v1, v2, v3, v4, v5, and v6 By ve2 and ve3 intersecting the plane 920 is obtained a three-dimensional line of a new structure consisting of v0, v1, ve2, ve3, v4, v5 and v6.

상기한 바와 같은 단계(772-40)에서의 새로운 구조의 3차원 라인 구축이 완료되면, 제어부(640)는 상기 구축한 새로운 구조의 3차원 라인을 단계(772-50)에서 출력할 3차원 라인으로 판단하고, 단계(772-60)에서 모든 3차원 라인에 대한 탐색이 완료되었는지의 여부를 판단하여 완료되지 않았을 경우에 단계(772-10)으로 복귀하여 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖인지 또는 안인 지의 여부를 판단하는 동작을 반복 수행한다.When the three-dimensional line construction of the new structure is completed in step 772-40 as described above, the control unit 640 outputs the three-dimensional line of the constructed new structure in step 772-50. In step 772-60, it is determined whether the search for all three-dimensional lines is completed. If not, the process returns to step 772-10, where all nodes constituting the three-dimensional lines are viewed. Repeats the operation to determine whether the volume is outside or not.

그리고 상기 단계(772-60)에서 모든 3차원 라인들에 대한 탐색이 완료되면, 제어부(640)는 단계(773)에서 3차원 영상의 모든 다각형들과 지명 위치들에 대하여 뷰 볼륨 밖의 구성요소들을 모두 제거하고, 단계(774)에서 서로 가려진 3차원 면들 을 제거한다.When the search for all three-dimensional lines is completed in the steps 772-60, the control unit 640 removes the components outside the view volume for all the polygons and place names of the three-dimensional image in step 773. Remove all and remove the three-dimensional faces that are hidden from each other in step 774.

상기 단계(770)에서의 2차 클리핑이 완료되면, 제어부(640)는 단계(780)에서 투영변환을 수행한다.When the secondary clipping in step 770 is completed, the controller 640 performs projection transformation in step 780.

상기 단계(780)의 투영변환은, 단계(781)에서 상기 시점 기준의 좌표계로 변환한 각각의 노드들의 3차원 좌표들에 대하여 투영평면에 투영변환을 실시하여 투영된 2차원 좌표 값을 구하고, 단계(782)에서 각각의 투영된 2차원 좌표 값 즉, 투영좌표를 화면좌표로 변환한다.In the projection transformation of the step 780, the projection transformation is performed on the projection plane with respect to the three-dimensional coordinates of each node converted into the coordinate system of the viewpoint based on the viewpoint, and the projected two-dimensional coordinate value is obtained. In step 782, each projected two-dimensional coordinate value, i.e., projection coordinate, is converted into screen coordinates.

다음 단계(790)에서는 화면 표시과정을 수행한다. 상기 단계(790)의 화면 표시과정은, 단계(791)에서 도로, 녹지, 강 및 호수 등의 평면객체 부분의 다각형 다각라인을 출력하고, 단계(792)에서 이동체의 주행궤적의 다각 라인을 출력하며, 단계(793)에서 각각의 3차원 건물들의 다각형을 출력하며, 단계(794)에서 텍스트 데이터를 출력하여 화면에 표시한다.In the next step 790, a screen display process is performed. In the screen display process of step 790, in step 791, the polygonal polygonal line of the planar object portion such as roads, green areas, rivers and lakes is output, and in step 792, the polygonal line of the traveling trajectory of the moving object is output. In operation 793, polygons of respective 3D buildings are output, and in operation 794, text data is output and displayed on the screen.

한편, 상기에서는 본 발명을 특정의 바람직한 실시 예에 관련하여 도시하고 설명하였지만, 이하의 특허청구범위에 의해 마련되는 본 발명의 정신이나 분야를 이탈하지 않는 한도 내에서 본 발명이 다양하게 개조 및 변화될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 알 수 있다. 즉, 상기에서는 3차원 네비게이션 시스템에서 2차원 지도 데이터를 3차원으로 변환하여 화면에 표시하는 것에 라인 클리핑을 적용하여 설명한 것으로서 본 발명을 실시함에 있어서는 이에 한정되지 않고, 표시패널의 화면상에 3차원 영상을 표시하는 각종 응용분야에 간단히 적용하여 실시할 수 있다.On the other hand, while the present invention has been shown and described with respect to specific preferred embodiments, various modifications and changes of the present invention without departing from the spirit or field of the invention provided by the claims below It can be easily understood by those skilled in the art. That is, the above-described method is described by applying line clipping to converting 2D map data into 3D and displaying them on the screen in the 3D navigation system, and the present invention is not limited thereto. It can be simply applied to various application fields for displaying an image.

이상에서 설명한 바와 같이 본 발명은 3차원 영상을 표시할 경우에 필요 없는 데이터들을 제거하여 계산량을 줄이고, 계산 효율이 향상되며, 3차원 영상의 표시속도가 증대되며, 또한 핸드폰 등 낮은 성능의 모바일 기기에서 3차원 지도의 표시가 가능하게 되는 효과가 있다.As described above, the present invention eliminates unnecessary data when displaying a 3D image, thereby reducing a calculation amount, improving a calculation efficiency, increasing a display speed of a 3D image, and a low-performance mobile device such as a mobile phone. In this case, the 3D map can be displayed.

Claims (12)

투영 중심위치와 투영평면의 사이에 3차원 라인을 클리핑할 클리핑 평면을 생성하고, 상기 투영중심위치를 기준으로 투영평면에 투영할 3차원 영상내에서 3차원 라인을 구성하는 모든 노드들의 z축 값을 상기 클리핑 평면의 z축 값과 각기 비교하여 각 노드가 뷰 볼륨(view volume) 안 또는 뷰 볼륨 밖의 어느 위치에 위치하는 노드인지를 판단하는 제 10 과정;Create a clipping plane to clip the three-dimensional line between the projection center position and the projection plane, and z-axis values of all nodes constituting the three-dimensional line in the three-dimensional image to be projected onto the projection plane based on the projection center position. A tenth step of determining whether each node is located in a view volume or outside a view volume by comparing the values with the z-axis values of the clipping planes; 상기 제 10 과정에서 3차원 라인의 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있을 경우에 뷰 볼륨 안에 위치하는 노드들 및 3차원 라인과 클리핑 평면이 교차되는 교차점들로 새로운 3차원 라인을 재구성하는 제 20 과정으로 이루어진 라인 클리핑 방법.In the tenth step, when the nodes of the 3D line span the inside and the outside of the view volume, the 20th process of reconstructing the new 3D line with nodes located in the view volume and intersections where the 3D line and the clipping plane intersect. Line clipping method. 제 1 항에 있어서, 상기 제 20 과정은;The method of claim 1, wherein the twentieth process comprises: 새로운 3차원 라인에 대한 메모리를 할당하는 제 21 과정;A twenty-first process of allocating a memory for a new three-dimensional line; 3차원 라인이 뷰 볼륨 안의 노드에서 뷰 볼륨 밖의 노드로 진행하는 라인일 경우에 뷰 볼륨 안의 노드와, 두 노드 사이의 라인과 클리핑 평면이 교차되는 교차점을 새로운 3차원 라인의 노드로 설정하는 제 22 과정;When the three-dimensional line is a line proceeding from a node in the view volume to a node outside the view volume, the twenty-second setting of the intersection point between the node in the view volume and the line between the two nodes and the clipping plane is the node of the new three-dimensional line. process; 3차원 라인이 뷰 볼륨 밖의 노드에서 뷰 볼륨 안의 노드로 진행하는 라인일 경우에 두 노드 사이의 라인과 클리핑 평면이 교차되는 교차점을 새로운 3차원 라인의 노드로 설정하는 제 23 과정;A twenty-third step of setting an intersection where a line between two nodes and a clipping plane intersect as a node of a new three-dimensional line when the three-dimensional line is a line traveling from a node outside the view volume to a node in the view volume; 3차원 라인이 뷰 볼륨 안의 노드에서 뷰 볼륨 안의 노드로 진행하는 라인일 경우에 두 노드를 새로운 3차원 라인의 노드로 설정하는 제 24 과정; 및A twenty-fourth step of setting two nodes as nodes of a new three-dimensional line when the three-dimensional line is a line proceeding from a node in the view volume to a node in the view volume; And 상기 제 22 과정 내지 제 24 과정에서 설정한 새로운 3차원 라인의 노드들을 상기 제 21 과정에서 할당한 메모리의 해당 영역에 저장하는 제 25 과정으로 이루어지는 것을 특징으로 하는 라인 클리핑 방법.And a twenty-fifth step of storing the nodes of the new three-dimensional line set in the twenty-second to twenty-fourth steps in a corresponding area of the memory allocated in the twenty-first step. 제 1 항 또는 제 2 항에 있어서, 상기 클리핑 평면은;The device of claim 1 or 2, wherein the clipping plane comprises: 상기 투영중심위치와 투영평면의 사이에 위치하는 것을 특징으로 하는 라인 클리핑 방법.And a line clipping method positioned between the projection center position and the projection plane. 3차원 영상의 표시환경을 초기화하는 3차원 환경 초기화 과정;3D environment initialization process of initializing the display environment of the 3D image; 상기 3차원 환경 초기화 과정 이후에 기준위치 좌표를 기준으로 시점 및 시선을 설정하는 시점 설정과정;A viewpoint setting process of setting a viewpoint and a gaze based on a reference position coordinate after the 3D environment initialization process; 상기 시점 설정과정 이후에 투영 파라미터를 설정하는 투영 파라미터 설정과정;A projection parameter setting step of setting a projection parameter after the viewpoint setting step; 기준위치의 좌표를 기준으로 소정 영역의 3차원 좌표 값의 3차원 영상을 입력받는 3차원 모델 입력과정;A three-dimensional model input process of receiving a three-dimensional image of a three-dimensional coordinate value of a predetermined region based on the coordinate of the reference position; 상기 3차원 모델 입력과정에서 입력한 3차원 영상을 상기 시점 설정과정에서 설정한 시점 기준의 좌표계로 변환하는 시점 변환과정;A viewpoint conversion process of converting the 3D image input during the 3D model input process into a coordinate system based on a viewpoint set in the viewpoint setting process; 상기 시점 변환과정에서 시점 기준의 좌표계로 변환한 3차원 영상 내에서 클리핑 평면에 걸쳐져 있는 3차원 라인들을 재구성하고, 뷰 볼륨 밖의 구성요소들을 제거하며, 상호간에 가려진 3차원 면들을 제거하는 클리핑 과정;A clipping process for reconstructing three-dimensional lines across a clipping plane, removing components outside the view volume, and removing three-dimensional faces that are hidden from each other in the three-dimensional image converted into a coordinate system of a viewpoint based on the viewpoint transformation process; 상기 클리핑 과정에서 클리핑하고 남은 3차원 영상을 상기 투영 파라미터 설정과정에서 설정한 투영 파라미터에 따라 투영평면에 투영하고 투영좌표를 화면좌표로 변환하는 투영 변환과정; 및A projection conversion process of projecting the 3D image remaining after clipping in the clipping process onto a projection plane according to the projection parameter set in the projection parameter setting process and converting projection coordinates into screen coordinates; And 상기 투영 변환과정에서 화면좌표로 변환한 3차원 영상을 화면에 표시하는 표시과정으로 이루어진 라인 클리핑을 이용한 3차원 영상의 표시방법.3. A display method of a 3D image using line clipping comprising a display process of displaying a 3D image converted into screen coordinates on the screen during the projection conversion process. 3차원 영상의 표시환경을 초기화하는 3차원 환경 초기화 과정;3D environment initialization process of initializing the display environment of the 3D image; 상기 3차원 환경 초기화 과정 이후에 기준위치 좌표를 기준으로 시점 및 시선을 설정하는 시점 설정과정;A viewpoint setting process of setting a viewpoint and a gaze based on a reference position coordinate after the 3D environment initialization process; 상기 시점 설정과정 이후에 투영 파라미터를 설정하는 투영 파라미터 설정과정;A projection parameter setting step of setting a projection parameter after the viewpoint setting step; 기준위치의 좌표를 기준으로 소정 영역의 2차원 지도를 로딩하는 로딩 과정;Loading a two-dimensional map of a predetermined area based on the coordinates of the reference position; 상기 로딩과정에서 로딩한 3차원 지도를 3차원 영상으로 모델링하는 3차원 모델링과정;A three-dimensional modeling process of modeling the three-dimensional map loaded in the loading process into a three-dimensional image; 상기 3차원 모델링과정에서 모델링한 3차원 영상을 상기 시점 설정과정에서 설정한 시점 기준의 좌표계로 변환하는 시점 변환과정;A viewpoint conversion process of converting the 3D image modeled in the 3D modeling process into a coordinate system based on a viewpoint set in the viewpoint setting process; 상기 시점 변환과정에서 시점 기준의 좌표계로 변환한 3차원 영상 내에서 클리핑 평면에 걸쳐져 있는 3차원 라인들을 재구성하고, 뷰 볼륨 밖의 구성요소들을 제거하며, 상호간에 가려진 3차원 면들을 제거하는 클리핑 과정;A clipping process for reconstructing three-dimensional lines across a clipping plane, removing components outside the view volume, and removing three-dimensional faces that are hidden from each other in the three-dimensional image converted into a coordinate system of a viewpoint based on the viewpoint transformation process; 상기 클리핑 과정에서 클리핑하고 남은 3차원 영상을 상기 투영 파라미터 설정과정에서 설정한 투영 파라미터에 따라 투영평면에 투영하고 투영좌표를 화면좌표로 변환하는 투영 변환과정; 및A projection conversion process of projecting the 3D image remaining after clipping in the clipping process onto a projection plane according to the projection parameter set in the projection parameter setting process and converting projection coordinates into screen coordinates; And 상기 투영 변환과정에서 화면좌표로 변환한 3차원 영상을 화면에 표시하는 표시과정으로 이루어진 라인 클리핑을 이용한 3차원 영상의 표시방법.3. A display method of a 3D image using line clipping comprising a display process of displaying a 3D image converted into screen coordinates on the screen during the projection conversion process. 제 4 항 또는 제 5 항에 있어서, 상기 기준위치 좌표는;The method of claim 4 or 5, wherein the reference position coordinates; GPS 수신신호로 검출한 이동체의 위치좌표 또는 사용자가 입력하는 좌표인 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.A method of displaying a 3D image using line clipping, characterized in that the position coordinates of the moving object detected by the GPS reception signal or the coordinates input by the user. 제 4 항 또는 제 5 항에 있어서, 상기 3차원 환경 초기화 과정은;The method of claim 4 or 5, wherein the three-dimensional environment initialization process; 시점, 시선, 광원의 방향, 광원의 세기 및 건물들의 각 면의 각도 등에 따라 건물 각 면을 표시할 색상 및 농도를 설정하고, 시점으로부터 소정의 표시 대상물이 표시되는 위치까지의 거리를 나타내는 깊이버퍼를 초기화하며, 화면의 바탕색을 소정의 색상으로 설정하는 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.Depth buffer indicating the distance from the viewpoint to the position where the display object is displayed by setting the color and density to display each side of the building according to the viewpoint, the line of sight, the direction of the light source, the intensity of the light source, and the angle of each side of the building. Initializing and setting the background color of the screen to a predetermined color. 제 4 항 또는 제 5 항에 있어서, 상기 시점 설정과정은;The method of claim 4 or 5, wherein the viewpoint setting process comprises: 상기 기준위치 좌표를 기준으로 시점을 설정하고, 그 시점에서의 시선을 설정하는 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.3. A method of displaying a 3D image using line clipping, wherein a viewpoint is set based on the reference position coordinates, and a gaze at the viewpoint is set. 제 5 항에 있어서, 상기 3차원 모델링 과정은;The method of claim 5, wherein the three-dimensional modeling process; 2차원 지도에서 3차원의 바닥면 지도를 생성하는 바닥면 지도 생성과정;A floor map generation process for generating a three-dimensional floor map from a two-dimensional map; 상기 바닥면 지도 생성과정 이후에 각 건물들의 노드의 높이를 설정하여 설정한 높이로 각 건물들을 생성하는 건물 생성과정; 및A building generation process of generating each building at a height set by setting a height of a node of each building after the floor map generation process; And 상기 건물 생성과정 이후에 이동체의 주행정보의 궤적을 생성하는 궤적 형성과정으로 이루어지는 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.And a trajectory forming step of generating a trajectory of driving information of the moving object after the building generation process. 제 4 항 또는 제 5 항에 있어서, 상기 클리핑 과정의 3차원 라인 재구성은;The method of claim 4 or 5, wherein the three-dimensional line reconstruction of the clipping process; 투영중심위치를 기준으로 투영평면에 투영할 3차원 영상내에서 3차원 라인을 구성하는 모든 노드들의 z축 값을 클리핑 평면의 z축 값과 각기 비교하여 노드가 뷰 볼륨(view volume) 안 또는 뷰 볼륨 밖의 어느 위치에 위치하는 노드인지를 판단하는 제 100 과정;By comparing the z-axis values of all nodes constituting the 3D line with the z-axis values of the clipping plane in the 3D image to be projected onto the projection plane based on the projection center position, the nodes are displayed in the view volume or in the view volume. Determining a location of the node outside the volume in step 100; 상기 제 100 과정에서 3차원 라인의 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있을 경우에 뷰 볼륨 안에 위치하는 노드들 및 3차원 라인과 클리핑 평면이 교차되는 교차점들로 새로운 3차원 라인을 재구성하는 제 110 과정으로 이루어진 라인 클리핑을 이용한 3차원 영상의 표시방법.In step 100, when nodes of the 3D line span the inside and outside of the view volume, a process 110 is performed to reconstruct a new 3D line with nodes located in the view volume and intersections where the 3D line and the clipping plane intersect. 3D image display using line clipping. 제 10 항에 있어서, 상기 클리핑 평면은; 11. The apparatus of claim 10, wherein the clipping plane comprises: 상기 투영중심위치와 투영평면의 사이에 위치하는 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.And a line clipping method positioned between the projection center position and the projection plane. 제 10 항에 있어서, 상기 제 110 과정은;The method of claim 10, wherein the 110 step; 새로운 3차원 라인에 대한 메모리를 할당하는 제 111 과정;Step 111 of allocating memory for the new three-dimensional line; 3차원 라인이 뷰 볼륨 안의 노드에서 뷰 볼륨 밖의 노드로 진행하는 라인일 경우에 뷰 볼륨 안의 노드와, 두 노드 사이의 라인과 클리핑 평면이 교차되는 교차점을 새로운 3차원 라인의 노드로 설정하는 제 112 과정;When the 3D line is a line proceeding from a node in the view volume to a node outside the view volume, the node 112 in which the node in the view volume and the intersection point between the two nodes and the clipping plane intersect is set as the node of the new 3D line. process; 3차원 라인이 뷰 볼륨 밖의 노드에서 뷰 볼륨 안의 노드로 진행하는 라인일 경우에 두 노드 사이의 라인과 클리핑 평면이 교차되는 교차점을 새로운 3차원 라인의 노드로 설정하는 제 113 과정;When the three-dimensional line is a line proceeding from a node outside the view volume to a node in the view volume, step 113 of setting an intersection point at which a line between two nodes intersects a clipping plane as a node of a new three-dimensional line; 3차원 라인이 뷰 볼륨 안의 노드에서 뷰 볼륨 안의 노드로 진행하는 라인일 경우에 두 노드를 새로운 3차원 라인의 노드로 설정하는 제 114 과정; 및Step 114, setting two nodes as nodes of a new three-dimensional line when the three-dimensional line is a line running from a node in the view volume to a node in the view volume; And 상기 제 112 과정 내지 제 114 과정에서 설정한 새로운 3차원 라인의 노드들을 상기 제 111 과정에서 할당한 메모리에 저장하고 출력할 3차원 라인으로 설정하는 제 115 과정으로 이루어지는 것을 특징으로 하는 라인 클리핑을 이용한 3차원 영상의 표시방법.By using the line clipping, the 115th step of setting the nodes of the new three-dimensional line set in the step 112 to 114 to the three-dimensional line to be stored and output in the memory allocated in the step 111 3D image display method.
KR1020030086182A 2003-12-01 2003-12-01 Line clipping method and method for displaying three dimensional image using line clipping KR100550130B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030086182A KR100550130B1 (en) 2003-12-01 2003-12-01 Line clipping method and method for displaying three dimensional image using line clipping
US10/993,275 US20050116948A1 (en) 2003-12-01 2004-11-18 Line clipping method and method for displaying three-dimensional image using the same
RU2004133828/09A RU2296368C2 (en) 2003-12-01 2004-11-19 Method for cutting off a line and method for displaying three-dimensional image based on this method
EP04292780A EP1538569A3 (en) 2003-12-01 2004-11-25 Line clipping method and method for displaying a three-dimensional image using the same
CN200410091695.5A CN1624721A (en) 2003-12-01 2004-11-30 Line clipping method and method for displaying three-dimensional image using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030086182A KR100550130B1 (en) 2003-12-01 2003-12-01 Line clipping method and method for displaying three dimensional image using line clipping

Publications (2)

Publication Number Publication Date
KR20050052672A KR20050052672A (en) 2005-06-07
KR100550130B1 true KR100550130B1 (en) 2006-02-08

Family

ID=37248524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086182A KR100550130B1 (en) 2003-12-01 2003-12-01 Line clipping method and method for displaying three dimensional image using line clipping

Country Status (1)

Country Link
KR (1) KR100550130B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848687B1 (en) * 2007-01-05 2008-07-28 삼성전자주식회사 3-dimension graphic processing apparatus and operating method thereof
CN115147440B (en) * 2022-07-12 2024-04-19 中国建筑西南设计研究院有限公司 Automatic generation method of basic slope line based on surface area clipping method

Also Published As

Publication number Publication date
KR20050052672A (en) 2005-06-07

Similar Documents

Publication Publication Date Title
KR100520708B1 (en) Method for displaying three dimensional map
KR100520707B1 (en) Method for displaying multi-level text data in three dimensional map
US8243065B2 (en) Image presentation method and apparatus for 3D navigation and mobile device including the apparatus
KR100506822B1 (en) Method for displaying three dimensional polygon on screen
JP4964762B2 (en) Map display device and map display method
US8154547B2 (en) Method and system for early Z test in title-based three-dimensional rendering
US8907950B2 (en) Driving simulation apparatus, wide-angle camera video simulation apparatus, and image deforming/compositing apparatus
WO2013114558A1 (en) Map drawing device, navigation device and map drawing method
EP1538569A2 (en) Line clipping method and method for displaying a three-dimensional image using the same
CN111047682B (en) Three-dimensional lane model generation method and system
KR100889470B1 (en) Method and apparatus for 3d path
KR100445428B1 (en) Texture mapping method of 3D feature model using the CCD line camera
KR100550130B1 (en) Line clipping method and method for displaying three dimensional image using line clipping
KR100550127B1 (en) Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same
KR100513660B1 (en) Method for creating three-dimensional map from two-dimensional map
KR100517590B1 (en) System and method for processing three dimension data and recording medium having program for three dimension data processing function
Kang et al. Developing a tile-based rendering method to improve rendering speed of 3d geospatial data with html5 and webgl
Oliveira et al. Incremental texture mapping for autonomous driving
EP1041515A2 (en) Game apparatus
KR100523514B1 (en) Method for displaying the name of two-dimensional place in three-dimensional map
JP7368950B2 (en) Method and apparatus for efficient building footprint identification
KR100624455B1 (en) Lightmap processing method in 3 dimensional graphics environment and apparatus therefor
JPH09305791A (en) Device and method for generating three-dimensional image
JP2001125948A (en) Traveling simulation system and recording medium
KR20120070824A (en) Method for constructing a kd-tree based on polygon importance

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101223

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee