KR100550127B1 - Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same - Google Patents

Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same Download PDF

Info

Publication number
KR100550127B1
KR100550127B1 KR1020030086183A KR20030086183A KR100550127B1 KR 100550127 B1 KR100550127 B1 KR 100550127B1 KR 1020030086183 A KR1020030086183 A KR 1020030086183A KR 20030086183 A KR20030086183 A KR 20030086183A KR 100550127 B1 KR100550127 B1 KR 100550127B1
Authority
KR
South Korea
Prior art keywords
line
clipping
dimensional
node
nodes
Prior art date
Application number
KR1020030086183A
Other languages
Korean (ko)
Other versions
KR20050052673A (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 KR1020030086183A priority Critical patent/KR100550127B1/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 KR20050052673A publication Critical patent/KR20050052673A/en
Application granted granted Critical
Publication of KR100550127B1 publication Critical patent/KR100550127B1/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)
  • Processing Or Creating Images (AREA)
  • Instructional Devices (AREA)

Abstract

3차원라인의 근사 클리핑으로 클리핑속도를 향상시키고, 낮은 성능의 모바일 기기에서도 3차원 지도 등의 3차원 영상을 화면에 표시할 수 있다.Approximate clipping of three-dimensional lines improves the clipping speed, and even a low-performance mobile device can display three-dimensional images such as three-dimensional maps on the screen.

투영중심위치를 기준으로 투영평면에 투영할 3차원 영상 내에서 3차원 라인을 구성하는 모든 노드들을 뷰 볼륨 안 또는 밖에 위치하는 노드로 판단하고, 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있는 3차원라인을 뷰 볼륨 안의 노드들로 새로운 3차원라인으로 구성하는 것으로 뷰 볼륨 안에 위치하는 3차원라인의 노드의 개수를 탐색하여 탐색한 개수만큼 메모리의 영역을 할당하고, 뷰 볼륨 안에 위치하는 노드의 좌표 값을 메모리의 해당 영역에 저장하여 새로운 3차원라인을 구성하거나, 3차원라인을 노드들을 순차적으로 선택하여 뷰 볼륨 안에 위치하는 노드일 경우에 그 노드의 좌표 값을 메모리의 해당 영역에 저장하며, 뷰 볼륨 밖에 위치하는 노드일 경우에 그 노드가 3차원라인의 시작노드인지의 여부를 판단하여, 시작노드일 경우에 처음으로 뷰 볼륨 안에 위치하는 노드의 좌표 값을 메모리의 해당 영역에 저장하며, 시작노드가 아닐 경우에 상기 메모리에 저장한 바로 이전 노드의 좌표 값을 복사하여 메모리의 해당 영역에 저장한다.Based on the projection center position, all nodes constituting the 3D line in the 3D image to be projected on the projection plane are determined as nodes located inside or outside the view volume, and the 3D line where the nodes span inside and outside the view volume is viewed. It consists of nodes in the volume as a new three-dimensional line. It searches for the number of nodes in the three-dimensional line located in the view volume, allocates the memory area as many as the number of the searched nodes, and stores the coordinate values of the nodes in the view volume. If the node is located in the view volume by selecting nodes in the 3D line sequentially, it saves the coordinate value of the node in the corresponding area of memory. If the node is located, it is determined whether the node is the start node of the 3D line. Storing the coordinates of the nodes situated in the zone of the memory, and if not the starting node copies the right coordinate values of the previous node stored in the memory and stores it in the area of the memory.

3차원 지도, 3차원 영상, 근사 클리핑, 3차원라인, 투영평면, 네비게이션3D Map, 3D Image, Approximate Clipping, 3D Line, Projection Plane, Navigation

Description

3차원 라인의 근사 클리핑 방법 및 이를 이용한 3차원 영상의 표시방법{Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same}Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same}

도 1은 일반적인 3차원 그래픽스의 처리과정에 포함되어 있는 라인 클리핑을 설명하기 위한 도면.1 is a diagram for explaining line 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 three-dimensional line clipping and projection.

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

도 6은 본 발명의 3차원라인 클리핑이 적용되는 네비게이션 시스템의 구성을 보인 블록도.Figure 6 is a block diagram showing the configuration of a navigation system to which the three-dimensional line clipping 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은 도 7b에서 새로운 3차원라인을 구축하는 일 실시 예를 보인 신호흐름도.8 is a signal flow diagram showing an embodiment of constructing a new three-dimensional line in FIG. 7B.

도 9a 및 도 9b는 도 8에서 새로운 3차원라인을 구축하는 과정을 설명하기 위한 도면.9A and 9B are views for explaining a process of constructing a new three-dimensional line in FIG.

도 10은 도 7b에서 새로운 3차원라인을 구축하는 다른 실시 예를 보인 신호흐름도.FIG. 10 is a signal flow diagram illustrating another embodiment of constructing a new three-dimensional line in FIG. 7B. FIG.

도 11a 및 도 11b와, 도 12a 및 도 12b는 도 10에서 새로운 3차원라인을 구축하는 과정을 설명하기 위한 도면.11A and 11B, and FIGS. 12A and 12B are diagrams for explaining a process of constructing a new three-dimensional line in FIG. 10.

본 발명은 3차원 네비게이션 시스템이나 3차원 게임 등에 있어서, 3차원 지도 등과 같은 소정의 3차원 영상에서 노드와 링크의 구조를 가지는 3차원라인을 근사(近似) 클리핑하는 3차원라인의 근사 클리핑 방법과, 그 3차원라인의 근사 클리핑을 이용하여 소정의 3차원 영상의 3차원라인들을 근사 클리핑하면서 화면에 표시하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법에 관한 것이다.The present invention provides an approximate clipping method of a three-dimensional line that approximates a three-dimensional line having a node and link structure in a predetermined three-dimensional image such as a three-dimensional map in a three-dimensional navigation system or a three-dimensional game. The present invention relates to a 3D image display method using an approximate clipping of a 3D line to be displayed on a screen while performing an approximate clipping of 3D lines of a predetermined 3D image using approximate clipping of the 3D line.

보다 상세하게는 투영평면에 걸쳐져 있는 3차원라인들에 대하여 투영평면과의 교차점을 구하지 않고, 투영 중심위치와 투영평면의 사이에 형성한 클리핑 평면 안쪽에 위치하는 뷰 볼륨(view volume)내의 노드들만으로 새로운 구조의 3차원라인을 구성하는 3차원라인의 근사 클리핑 방법과, 그 3차원라인의 근사 클리핑을 이용하여 3차원 지도 등과 같은 소정의 3차원 영상의 3차원라인들을 근사 클리핑하고, 투영평면에의 투영하여 화면에 표시하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법에 관한 것이다.More specifically, the nodes of the view volume located inside the clipping plane formed between the projection center position and the projection plane, without obtaining the intersection point of the projection plane for the three-dimensional lines that span the projection plane. Approximate clipping of three-dimensional lines of a predetermined three-dimensional image such as a three-dimensional map by using an approximate clipping method of the three-dimensional line constituting the three-dimensional line of the new structure, and an approximate clipping of the three-dimensional line, The present invention relates to a 3D image display method using approximate clipping of a 3D line to be projected on a screen.

일반적인 3차원 그래픽스의 처리과정 중에는 화면상에 표시되지 않는 3차원 영상을 제거하는 클리핑이 포함되어 있다. 상기 클리핑은 예를 들면, 도 1에 도시된 바와 같이 시점(view point)인 투영중심위치(100)에서 투영평면(110)에 뷰 볼륨(120)의 안쪽에 위치한 3차원 영상의 데이터들을 투영시키고, 뷰 볼륨의 경계면 바깥쪽 즉, 투영평면(110), 뷰 볼륨(120)의 상, 하, 좌, 우 및 후방의 여섯 면에서 바깥쪽에 위치하는 3차원 영상의 데이터들을 제거하는 것으로서 3차원 처리에 필요한 데이터의 양을 줄여 계산량을 줄이고, 처리속도를 향상시킬 수 있도록 하기 위한 것이다.In general, 3D graphics processing includes clipping to remove 3D images that are 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 back projected in the opposite direction to the expectation, so line clipping must be performed. 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 3D line 220 are positioned 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는 3차원라인의 클리핑과 투영의 실제 개념을 설명하기 위한 도면으로서 투영평면(400)에서 3차원라인(410)을 클리핑하고, 투영중심위치(420)에서 투영평면(400)의 안쪽 즉, 뷰 볼륨의 내의 노드들만이 투영평면(400)에 투영되는 것을 보이고 있다. 여기서, 3차원라인(410)과 투영평면(400)이 교차되는 교차점의 계산과, 새로운 3차원라인의 구조를 위하여 메모리의 할당이 필요하다. 예를 들면, 원래, v0∼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 three-dimensional line. The three-dimensional line 410 is clipped at the projection plane 400, and the projection plane 400 is positioned at the projection center position 420. Only nodes in the view volume are 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, originally, nv1, nv2 and nv3 are added to the intersection of the projection plane 400 with respect to the three-dimensional line 410 consisting of nodes and links of v0 to v4, and v0 and v3 outside the view volume are removed. The three-dimensional line 410 has 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.

그러나 상기한 종래의 기술은 3차원라인을 구성하는 각 노드들과 링크들을 순차적으로 탐색하면서 뷰 볼륨의 6개의 경계 면에서 교차되는지의 여부를 판단하 고, 교차될 경우에 교차점을 계산해야 되며, 새로운 노드 및 링크로 이루어지는 3차원라인의 구조체를 저장하기 위하여 메모리를 재할당해야 되는 등의 복잡한 과정을 수행해야 되어 처리속도가 매우 느리고, 이로 인하여 이동통신 단말기 등과 같이 낮은 성능의 모바일 기기에서 3차원 지도 등과 같은 3차원 영상을 표시할 수 없는 문제점이 있었다.However, in the above-described conventional technique, it is necessary to determine whether the intersections occur at the six boundary planes of the view volume while sequentially searching the nodes and the links constituting the 3D line, and calculate the intersection point when the intersections are performed. In order to store the structure of the three-dimensional line consisting of new nodes and links, a complicated process such as reallocating memory must be performed, and thus, the processing speed is very slow, which causes three-dimensional processing in a low-performance mobile device such as a mobile communication terminal. There was a problem in that a three-dimensional image such as a map cannot be displayed.

본 발명의 목적은 3차원라인을 근사 클리핑하여 클리핑속도를 향상시키고, 효율적으로 수행할 수 있는 3차원라인의 근사 클리핑 방법 및 이를 이용한 3차원 영상의 표시방법을 제공하는데 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide an approximate clipping method of a 3D line and a method of displaying a 3D image using the same, which can be performed by performing an approximate clipping of a 3D line to improve a clipping speed.

본 발명의 다른 목적은 이동통신 단말기 등과 같이 낮은 성능의 모바일 기기에서도 3차원 지도 등과 같은 3차원 영상을 화면에 표시할 수 있는 3차원라인의 근사 클리핑 방법 및 이를 이용한 3차원 영상의 표시방법을 제공하는데 있다.Another object of the present invention is to provide an approximate clipping method of a 3D line that can display a 3D image such as a 3D map on a screen even in a low performance mobile device such as a mobile communication terminal, and a 3D image display method using the same. It is.

이러한 목적을 가지는 본 발명의 3차원라인의 근사 클리핑 방법 및 이를 이용한 3차원 영상의 표시방법은, 3차원라인을 클리핑할 경우에 투영평면에 교차되는 3차원라인들과 투영평면과의 교차점을 구하여 투영평면에의 투영을 위한 새로운 구조의 3차원라인을 생성하지 않고, 투영중심위치와 투영평면의 사이에 클리핑평면을 형성하고, 그 클리핑 평면의 안쪽인 뷰 볼륨 안쪽의 노드들만을 연결하여 새로운 구조의 3차원라인을 형성한 후 투영평면에 투영하여 화면에 표시함으로써 3차원라인의 근사 클리핑에 따라 발생되는 에러 부분이 투영평면과 클리핑평면의 사이에 위치되어 화면에는 근사 클리핑에 따른 에러부분이 표시되지 않도록 하는 것이다. Approximate clipping method of the three-dimensional line and display method of the three-dimensional image using the same of the present invention having the above object, by the intersection of the projection plane and the three-dimensional lines intersecting the projection plane when clipping the three-dimensional line Instead of creating a 3D line of new structure for projection onto the projection plane, a clipping plane is formed between the projection center position and the projection plane, and only the nodes inside the view volume inside the clipping plane are connected to the new structure. After the 3D line is formed, it is projected onto the projection plane and displayed on the screen so that an error part generated by the approximate clipping of the 3D line is located between the projection plane and the clipping plane, and the error part due to the approximate clipping is displayed on the screen. It is not to be.                         

본 발명의 제 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차원 모델링된 데이터만을 로딩하는 것으로 실행된다. 즉, 투영평면에 투영할 소정 영역의 데이터만을 로딩함으로써 메모리 사용의 효율을 높이는 간접적인 1차 클리핑이 이루어진다.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 primary clipping is performed to increase the efficiency of memory use by loading only data of a predetermined area 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. An arbitrary plane parallel to the projection plane is defined as a clipping plane, and direct clipping is performed on 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 second clipping in the fourth aspect is performed on three-dimensional lines spanning the projection plane, and all nodes constituting the three-dimensional line are removed 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차원 라인과 투영평면이 교차되는 교차점들을 구하는 일반적인 클리핑을 수행하지 않고, 3차원 라인을 구성하는 노드들 중에서 뷰 볼륨 안의 노드들만으로 이루어지는 새로운 구조의 3차원라인을 구성한다. 이렇게 함으로써 뷰 볼륨 경계의 6개면에서 3차원라인이 교차되는지의 여부를 판단하고, 교차될 경우에 교차점을 계산해야 되는 복잡한 과정을 생략함으로써 3차원라인에 대한 클리핑의 처리속도를 향상시킬 수 있다.According to a sixth aspect of the present invention, in the second clipping process, the three-dimensional line that spans the projection plane does not perform general clipping to find intersections where the three-dimensional line and the projection plane intersect, and constitutes the three-dimensional line. Among the nodes, we construct a new three-dimensional line consisting of only the nodes in the view volume. In this way, it is possible to improve the processing speed of clipping on the three-dimensional line by determining whether the three-dimensional line intersects at six faces of the view volume boundary and omitting the complicated process of calculating the intersection point when the intersection occurs.

본 발명의 제 7 특징에 따르면, 새로운 구조의 3차원라인을 구성하기 위하여 3차원라인에서 뷰 볼륨 안에 위치하는 노드의 수로 메모리를 할당하거나 또는 3차원라인의 모드를 저장할 메모리의 구조를 변경하지 않고, 뷰 볼륨 밖의 노드들의 좌표 값으로 뷰 볼륨 안의 인접위치에 위치하는 노드의 좌표 값을 복사하여 설정하는 방법을 사용한다.According to a seventh aspect of the present invention, in order to construct a three-dimensional line of a new structure, the memory is allocated to the number of nodes located in the view volume in the three-dimensional line without changing the structure of the memory to store the mode of the three-dimensional line. This method uses the method of copying and setting the coordinate values of nodes located in adjacent positions in the view volume as the coordinate values of nodes outside the view volume.

본 발명의 제 8 특징에 따르면, 상기 제 7 특징에서 뷰 볼륨 안에 위치하는 노드의 수로 메모리를 할당할 경우에 3차원 라인의 노드들을 순차적으로 탐색하면서 뷰 볼륨 안에 위치하는 노드만으로 이루어지는 새로운 구조의 3차원라인을 구성하고, 그 새로운 구조의 3차원라인을 투영평면에 투영하여 2차원으로 변환한 후 화면에 표시한다.According to an eighth aspect of the present invention, in the seventh aspect, when allocating memory by the number of nodes located in the view volume, the new structure 3 includes only nodes located in the view volume while sequentially searching for nodes of the three-dimensional line. A dimensional line is constructed, and the three-dimensional line of the new structure is projected on the projection plane, converted into two dimensions, and displayed on the screen.

본 발명의 제 9 특징에 따르면, 상기 제 7 특징에서 뷰 볼륨 밖의 노드들의 좌표 값을 뷰 볼륨 안의 인접위치에 위치하는 노드의 좌표 값으로 복사하는 것은, 3차원라인의 노드들을 순차적으로 탐색하면서 뷰 볼륨 밖의 노드들을 골라내고, 그 뷰 볼륨 밖의 노드들의 좌표 값으로 이전의 뷰 볼륨 안에 위치하는 노드의 좌표 값을 복사함으로써 메모리의 구조를 변경하거나 재 할당하지 않고, 간단하고, 빠른 속도로 3차원 라인을 재구성한다.According to a ninth aspect of the present invention, in the seventh aspect, copying the coordinate values of the nodes outside the view volume to the coordinate values of the nodes located at adjacent positions in the view volume, while sequentially searching for nodes of the 3D line A simple, fast three-dimensional line, without changing or re-allocating the memory structure by picking nodes outside the volume and copying the coordinate values of the nodes located in the previous view volume to the coordinate values of the nodes outside that view volume. Reconstruct

본 발명의 제 10 특징에 따르면, 상기 제 9 특징에서 3차원라인의 시작 노드가 뷰 볼륨 밖에 위치할 경우에 3차원라인의 노드들 중에서 최초로 뷰 볼륨 안에 위치하는 노드를 찾고, 그 최초로 뷰 볼륨 안에 위치하는 노드의 좌표값을 이전의 노드의 좌표 값으로 복사하여 새로운 구조의 3차원라인을 구성한다.According to a tenth aspect of the present invention, in the ninth aspect, when the start node of the 3D line is located outside the view volume, the node located in the view volume is first found among the nodes of the 3D line. Coordinate value of the located node is copied to the coordinate value of the previous node to form a three-dimensional line of the new structure.

본 발명의 제 11 특징에 따르면, 본 발명에 따라 3차원라인을 근사 클리핑함에 따라 약간의 클리핑 오류가 발생할 수 있고, 이 오류는 화면에 표시할 경우에 화면의 하단부에 나타나게 되는 것으로서 상기 클리핑 평면을 투영중심위치에 가깝게 형성하여 투영평면과는 멀어지게 함으로써 3차원 영상을 투영평면에 투영하여 화면에 표시할 경우에 오류부분이 표시되지 않도록 한다.According to an eleventh aspect of the present invention, a slight clipping error may occur as an approximate clipping of a three-dimensional line in accordance with the present invention, and this error appears at the bottom of the screen when displayed on the screen. It is formed close to the projection center position so as to be far from the projection plane so that an error part is not displayed when the 3D image is projected on the projection plane and displayed on the screen.

이러한 본 발명에 따르면, 3차원영상을 처리하여 화면에 표시할 경우에 계산량을 현격하게 감소시키고, 계산속도가 빨라 이동통신 단말기 등과 같이 낮은 성능의 모바일 기기에서 3차원 지도 등과 같은 3차원 영상을 표시할 수 있다.According to the present invention, when processing and displaying the 3D image on the screen, the amount of calculation is significantly reduced, and the calculation speed is fast, and the 3D image such as a 3D map is displayed on a low performance mobile device such as a mobile communication terminal. can do.

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

도 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, a map is provided according to the command of the command input unit 630. It is also possible to access a map providing server to download a 2D map of a predetermined area, for example, Seoul, and store the downloaded 2D map in the map storage unit 620.

도 7a 내지 도 7c는 본 발명의 라인 클리핑 방법에 따라 상기 제어부(640)가 라인 클리핑을 수행하면서 2차원 지도를 3차원 지도로 변환하여 화면에 표시하는 과정을 예로 들어 보인 신호흐름도이다. 도 7a에 도시된 바와 같이 단계(700)에서 제어부(640)는 3차원 지도를 생성할 기준위치 좌표를 입력한다. 여기서, 상기 기준위치 좌표는, GPS 수신부(610)의 수신신호로 검출한 이동체의 현재 위치를 기준위치 좌표로 입력할 수 있고, 또는 사용자가 명령 입력부(630) 등을 통해 입력하는 좌표를 기준위치 좌표로 입력할 수 있다.7A to 7C are signal flow diagrams illustrating a process of converting a 2D map into a 3D map and displaying it on a screen while the controller 640 performs line clipping 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 screen of the display panel 660 in step 710. Perform. 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-1)에서 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖인지를 판단하고, 단계(772-2)에서 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 안인지를 판단한다.Performing secondary clipping in step 772 determines whether all nodes constituting the 3D line are out of the view volume in step 772-1, and configures the 3D line in step 772-2. Determine if all nodes are in view volume.

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

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

또한 상기 단계(772-1)(772-2)의 판단 결과 3차원 라인을 구성하는 모든 노드들이 뷰 볼륨 밖이거나 또는 뷰 볼륨 안이 모두 아닐 경우에는 3차원 라인이 클리핑 평면에 걸쳐져 있는 것으로서 단계(772-4)에서 클리핑 평면에 걸쳐져 있는 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-1 and 772-2, the step 377 is as covering the clipping plane. In (4), the structure of the three-dimensional line spanning the clipping plane is changed to construct the three-dimensional line of the new structure.

도 8은 상기 단계(772-4)에서 새로운 3차원라인을 구축하는 일 실시 예의 과정을 보인 신호흐름도이다. 이에 도시된 바와 같이 제어부(640)는 단계(800)에서 3차원라인을 구성하는 모든 노드들을 순차적으로 탐색하여 뷰 볼륨 안에 위치하는 노드들의 개수를 판단하고, 단계(810)에서 상기 판단한 노드들의 개수만큼 메모리의 저장영역을 할당한 후 단계(820)에서 3차원라인을 구성하는 각 노드들을 순차적으로 탐색하면서 새로운 구조의 3차원라인을 구축한다.8 is a signal flow diagram illustrating a process of an embodiment of constructing a new three-dimensional line in step 772-4. As shown in FIG. 2, the controller 640 sequentially searches all the nodes constituting the 3D line to determine the number of nodes located in the view volume, and in step 810, the number of the nodes determined. After allocating the storage area of the memory as much as possible, in step 820, each node constituting the 3D line is sequentially searched to construct a 3D line having a new structure.

상기 단계(820)의 새로운 3차원라인의 구축은, 단계(821)에서 3차원라인의 첫 번째 노드를 선택하고, 단계(822)에서 상기 선택한 노드가 뷰 볼륨 안에 위치하는지의 여부를 판단하여, 뷰 볼륨 안에 위치할 경우에는 단계(823)에서 그 노드의 좌표 값을 상기 메모리에 저장하고, 뷰 볼륨 안에 위치하지 않을 경우에는 메모리에 저장하지 않는다.The construction of the new three-dimensional line of step 820 includes selecting the first node of the three-dimensional line in step 821, and determining whether the selected node is located in the view volume in step 822, If located in the view volume, the coordinate value of the node is stored in the memory in step 823, and not stored in the memory if not located in the view volume.

다음 단계(824)에서는 다음 노드가 있는지의 여부를 판단하여 다음 노드가 있을 경우에 단계(825)에서 다음 노드를 선택한 후 상기 단계(822)로 복귀하여 뷰 볼륨 안에 위치하는지의 여부에 따라 메모리에 저장하는 동작을 반복 수행하며, 단계(824)에서 다음 노드가 없을 경우에 복귀한다.In the next step 824, it is determined whether there is a next node, and if there is a next node, the next node is selected in step 825, and then returned to step 822 to store in the memory depending on whether it is located in the view volume. The operation of storing is repeated, and if there is no next node in step 824, the process returns.

이러한 본 발명의 새로운 3차원라인을 구축하는 일 실시 예는 예를 들면, 도 9a에 도시된 바와 같이 7개의 노드 v0, v1, v2, v3, v4, v5 및 v6으로 이루어지는 3차원라인에 대하여 클리핑 평면(900)의 안쪽인 뷰 볼륨 안에 위치하는 노드들 v0, v1, v5 및 v6의 개수 4를 판단하여 도 9b에 도시된 바와 같이 4개의 노드들의 좌표 값을 저장할 메모리(910)의 영역을 할당하고, 할당한 메모리(910)의 영역에 노드 v0, v1, v5 및 v6의 좌표 값 ve0, ve1, ve5 및 ve6을 각기 저장하여 새로운 구조의 3차원라인을 구축한다.An embodiment of constructing a new three-dimensional line of the present invention, for example, as shown in Figure 9a clipping for a three-dimensional line consisting of seven nodes v0, v1, v2, v3, v4, v5 and v6 The number of nodes v0, v1, v5, and v6 located in the view volume inside the plane 900 is determined to allocate an area of the memory 910 to store the coordinate values of the four nodes as shown in FIG. 9B. The coordinate values ve0, ve1, ve5, and ve6 of the nodes v0, v1, v5, and v6 are stored in the allocated memory 910, respectively, to construct a three-dimensional line having a new structure.

도 10은 상기 단계(772-4)에서 새로운 3차원라인을 구축하는 다른 실시 예의 과정을 보인 신호흐름도이다. 이에 도시된 바와 같이 제어부(640)는 단계(1000)에서 3차원라인을 구성하는 모든 노드들을 순차적으로 탐색하면서 뷰 볼륨 안에 첫 번째로 위치하는 노드의 좌표 값을 메모리에 임시로 저장한 후 단계(1010)에서 3차원 라인을 구성하는 각 노드들을 순차적으로 탐색하면서 새로운 구조의 3차원라인을 구축한다.10 is a signal flow diagram illustrating another exemplary process of constructing a new three-dimensional line in step 772-4. As shown in FIG. 1, the controller 640 temporarily searches for all nodes constituting the 3D line in step 1000 and temporarily stores coordinate values of the node located first in the view volume in a memory. In step 1010, each node constituting the 3D line is sequentially searched to construct a 3D line having a new structure.

상기 단계(1010)에서의 새로운 3차원라인의 구축은, 단계(1011)에서 순차적으로 하나의 노드를 선택 즉, 첫 번째 노드를 선택하고, 단계(1012)에서 상기 선택한 노드가 뷰 볼륨 밖에 위치하는 노드인지의 여부를 판단하여 뷰 볼륨 밖에 위치하지 않고, 뷰 볼륨 안에 위치하는 노드일 경우에 단계(1013)에서 그 뷰 볼륨 안에 위치하는 노드의 좌표 값을 메모리에 그대로 저장한다.In step 1010, the construction of a new three-dimensional line may be performed by selecting one node sequentially in step 1011, that is, selecting the first node, and in step 1012, the selected node is located outside the view volume. If it is a node that is located outside the view volume and is located outside the view volume, in step 1013, the coordinate values of the node located in the view volume are stored in the memory as it is.

그리고 상기 단계(1012)의 판단 결과 뷰 볼륨 밖에 위치하는 노드일 경우에 제어부(640)는 단계(1014)에서 상기 선택한 노드가 3차원라인의 시작 노드인지의 여부를 판단하여, 시작노드일 경우에 단계(1015)에서 상기 임시 저장한 노드의 좌표 값 즉, 3차원라인의 노드들 중에서 뷰 볼퓸 안에 위치하는 첫 번째 노드의 좌표 값을 현재노드의 좌표 값으로 저장하며, 상기 단계(1014)의 판단 결과 시작노드가 아닐 경우에 바로 이전 노드의 좌표 값을 현재노드의 좌표 값으로 복사하여 저장한다.In the case where the node is located outside the view volume as a result of the determination in step 1012, the controller 640 determines whether the selected node is the start node of the 3D line in step 1014, and when the node is the start node. In step 1015, the coordinate value of the temporarily stored node, that is, the coordinate value of the first node located in the view ball among the nodes of the 3D line, is stored as the coordinate value of the current node, and the determination of the step 1014 is performed. If the result is not a start node, the coordinate value of the previous node is copied and saved as the coordinate value of the current node.

다음 단계(1017)에서는 다음 노드가 있는지의 여부를 판단하고, 다음 노드가 있을 경우에 단계(1011)로 복귀하여 다음 노드를 선택하고, 상기한 동작을 반복 수행하면서 다음 노드의 메모리에 좌표 값을 저장한다.In the next step 1017, it is determined whether there is a next node, and if there is a next node, the process returns to step 1011, selects the next node, and repeats the above operation, and the coordinate value is stored in the memory of the next node. Save it.

이러한 본 발명의 새로운 3차원라인을 구축하는 다른 실시 예는 예를 들면, 도 11a에 도시된 바와 같이 클리핑 평면(1100)에 걸쳐져 있는 3차원라인(1110)을 7개의 노드 v0∼v6을 순차적으로 탐색하면서 뷰 볼륨 안에 위치하는 노드 v0 및 v1에 대해서는 도 11b에 도시된 바와 같이 노드 v0, v1, v5 및 v6의 좌표 값 ve0, ve1, ve5 및 ve6을 메모리(1120)에 저장하고, 뷰 볼륨 밖에 위치하는 노드 v2, v3 및 v4에 대해서는 바로 이전의 뷰 볼륨 안에 위치하는 노드 v1의 좌표 값 ve1을 순차적으로 복사하여 저장한다.Another embodiment of constructing a new three-dimensional line of the present invention, for example, as shown in Figure 11a is a three-dimensional line 1110 that spans the clipping plane 1100, the seven nodes v0 to v6 sequentially For the nodes v0 and v1 located in the view volume while browsing, the coordinate values ve0, ve1, ve5 and ve6 of the nodes v0, v1, v5 and v6 are stored in the memory 1120 as shown in FIG. For the nodes v2, v3, and v4 located, the coordinate values ve1 of the node v1 located in the immediately previous view volume are copied and stored sequentially.

그리고 도 12a에 도시된 바와 같이 클리핑 평면(1200)에 걸쳐져 있는 7개의 노드 v0∼v6으로 이루어진 3차원라인(1200)의 시작노드 v0이 뷰 볼륨 밖에 있을 경우에는 3차원라인(1200)의 노드 v0∼v6들 중에서 처음으로 뷰 볼륨 안에 위치하는 노드 v2를 탐색하고, 그 노드 v2의 좌표 값 ve2를 도 12b에 도시된 바와 같이 노드 v0의 좌표 값으로 복사하여 메모리(1220)에 저장하며, 뷰 볼륨 밖에 위치하는 노드 v1의 좌표 값으로는 노드 v0의 좌표 값으로 저장한 ve2를 복사하여 저장하며, 또한 뷰 볼륨 밖에 위치하는 노드 v3 및 v4의 좌표 값으로 노드 v2의 좌표 값 ve2를 순차적으로 복사하여 새로운 구조의 3차원 라인을 구성한다.As shown in FIG. 12A, when the start node v0 of the three-dimensional line 1200 including seven nodes v0 to v6 spanning the clipping plane 1200 is outside the view volume, the node v0 of the three-dimensional line 1200 is out of view. The node v2 located in the view volume is searched for the first time from ˜v6, the coordinate value ve2 of the node v2 is copied to the coordinate value of the node v0 as shown in FIG. 12B, and stored in the memory 1220. Copy and save ve2 stored as the coordinate value of node v0 as the coordinate value of node v1 located outside, and also copy the coordinate value ve2 of node v2 as the coordinate values of nodes v3 and v4 located outside the view volume. Construct a three-dimensional line with a new structure.

상기 단계(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.

여기서, 본 발명의 근사 클리핑에 따라 발생되는 오류가 투영평면의 하단 가장자리 영역에 투영되어 화면에 표시될 수 있다. 그러므로 본 발명에서는 상기 단계(782)에서 투영좌표를 화면좌표로 변환할 경우에 투영평면의 하단 가장자리의 오류가 표시되는 영역을 제외한 화면 표시영역을 설정하고, 그 화면 표시영역 내의 3차원 영상의 투영좌표를 화면좌표로 변환한다.Here, an error generated according to the approximate clipping of the present invention may be projected on the lower edge area of the projection plane and displayed on the screen. Therefore, in the present invention, when converting the projection coordinate to the screen coordinate in step 782, a screen display area is set except for an area where an error of the bottom edge of the projection plane is displayed, and projection of the 3D image within the screen display area. Convert coordinates to screen coordinates.

즉, 본 발명에서 3차원라인을 근사 클리핑 함에 따라 발생되는 오류를, 클리핑 평면에서 근사 클리핑하여 1차로 오류가 화면에 표시되는 것을 방지하고, 투영좌표를 화면좌표로 변환할 경우에 투영평면의 하단부의 소정 영역을 제거하여 2차로 근사 클리핑에 따른 오류가 화면에 표시되지 않도록 한다.That is, in the present invention, an error generated by approximate clipping of a 3D line is approximately clipped on the clipping plane to prevent an error from being displayed on the screen in the first place, and the lower end of the projection plane when the projection coordinate is converted to the screen coordinate. By removing a predetermined region of the image, the error due to the second approximation clipping is not displayed on the screen.

다음 단계(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차원라인의 근사 클리핑을 적용하여 설명한 것으로서 본 발명을 실시함에 있어서는 이에 한정되지 않고, 표시패널의 화면상에 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 approximate clipping of three-dimensional lines to converting two-dimensional map data to three-dimensional and displaying them on the screen in the three-dimensional navigation system, and the present invention is not limited thereto. It can be simply applied to various application fields for displaying a 3D image on the screen.

이상에서 설명한 바와 같이 본 발명은 3차원 라인에 대하여 클리핑평면의 안쪽인 뷰 볼륨 안에 위치하는 노드들로 새로운 구조의 3차원라인을 구성함으로써 3차원라인의 클리핑속도가 매우 빠르고, 3차원영상 처리의 계산량을 현격하게 감소시켜 계산속도가 매우 빠르며, 이로 인하여 이동통신단말기 등과 같은 낮은 성능의 모바일 기기에서도 3차원지도 등과 같은 3차원 영상을 표시할 수 있다.As described above, according to the present invention, the clipping speed of the 3D line is very fast by constructing the 3D line of the new structure by the nodes located in the view volume inside the clipping plane with respect to the 3D line. The computational speed is greatly reduced by significantly reducing the amount of computation, which enables the display of three-dimensional images such as three-dimensional maps even in low-performance mobile devices such as mobile communication terminals.

Claims (15)

투영 중심위치와 투영평면의 사이에 3차원 라인을 클리핑할 클리핑 평면을 생성하고, 상기 투영중심위치를 기준으로 투영평면에 투영할 3차원 영상내에서 3차원 라인을 구성하는 모든 노드들의 z축 값을 상기 클리핑 평면의 z축 값과 각기 비교하여 각 노드가 뷰 볼륨(view volume) 안 또는 뷰 볼륨 밖의 어느 위치에 위치하는 노드인지를 판단하는 위치 판단과정;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 position determination step of determining whether each node is located in a view volume or outside of the view volume by comparing a value with a z-axis value of the clipping plane, respectively; 상기 위치 판단과정에서 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있는 3차원라인에 대하여 뷰 볼륨 안의 노드들만으로 새로운 3차원라인을 구성하는 클리핑 과정으로 이루어진 3차원라인의 근사 클리핑 방법.3. An approximate clipping method of a 3D line consisting of a clipping process of constructing a new 3D line using only nodes in a view volume with respect to a 3D line where nodes are stretched in and out of the view volume. 제 1 항에 있어서, 상기 클리핑 평면은;The device of claim 1, wherein the clipping plane comprises: 상기 투영중심위치와 투영평면의 사이에 위치하는 것을 특징으로 하는 3차원라인의 근사 클리핑 방법.Approximate clipping method of the three-dimensional line, characterized in that located between the projection center position and the projection plane. 제 1 항에 있어서, 상기 클리핑 과정은;The method of claim 1, wherein the clipping process; 3차원라인을 구성하는 노드들 중에서 뷰 볼륨 안에 위치하는 노드의 개수를 탐색하는 제 10 과정;A tenth step of searching for the number of nodes located in the view volume among the nodes constituting the 3D line; 상기 제 10 과정에서 탐색한 노드의 개수만큼 메모리에 좌표 값을 저장할 영역을 할당하는 제 11 과정; 및An eleventh step of allocating an area for storing coordinate values in a memory as many as the number of nodes searched in the tenth step; And 상기 제 10 과정에서 탐색한 뷰 볼륨 안에 위치하는 노드들의 좌표 값을 상 기 제 11 과정에서 메모리에 할당한 노드의 해당 영역에 저장하여 새로운 3차원라인을 구성하는 제 12 과정으로 이루어지는 것을 특징으로 하는 3차원라인의 근사 클리핑 방법.And a twelfth step of constructing a new three-dimensional line by storing coordinate values of nodes located in the view volume searched in the tenth step in a corresponding area of the node allocated to the memory in the eleventh step. Approximate Clipping Method for 3D Lines. 제 1 항에 있어서, 상기 클리핑 과정은;The method of claim 1, wherein the clipping process; 3차원라인을 구성하는 노드들 중에서 처음으로 뷰 볼륨 안에 위치하는 노드를 탐색하는 제 20 과정;A twentieth step of searching for a node located in the view volume for the first time among nodes constituting the 3D line; 3차원라인을 구성하는 노드들을 순차적으로 선택하여 뷰 볼륨 안 또는 밖에 위치하는지의 여부를 판단하는 제 21 과정;A twenty-first step of sequentially selecting nodes constituting the 3D line to determine whether they are located inside or outside the view volume; 상기 제 21 과정에서 뷰 볼륨 안에 위치하는 노드일 경우에 그 노드의 좌표 값을 메모리의 해당 영역에 저장하는 제 22 과정;A twenty-second step of storing coordinate values of the node in a corresponding area of the memory when the node is located in the view volume in the twenty-first step; 상기 제 21 과정에서 뷰 볼륨 밖에 위치하는 노드일 경우에 그 노드가 3차원라인의 시작노드인지의 여부를 판단하는 제 23 과정;A twenty-third step of determining whether the node is the start node of the 3D line when the node is located outside the view volume in the twenty-first step; 상기 제 23 과정의 판단 결과 시작노드일 경우에 상기 제 20 과정에서 탐색한 처음으로 뷰 볼륨 안에 위치하는 노드의 좌표 값을 메모리의 해당 영역에 저장하는 제 24 과정; 및A twenty-fourth step of storing, in the corresponding region of the memory, the coordinate values of the node located in the view volume for the first time found in the twenty-first step when the determination result of the twenty-third step is a start node; And 상기 제 23 과정의 판단 결과 시작노드가 아닐 경우에 상기 제 22 과정 또는 제 24 과정에서 메모리에 저장한 바로 이전 노드의 좌표 값을 복사하여 메모리의 해당 영역에 저장하는 제 25 과정으로 이루어지는 것을 특징으로 하는 3차원라인의 근사 클리핑 방법.In a case in which the determination result of the twenty-third step is not a start node, the twenty-fifth step of copying the coordinate values of the immediately preceding node stored in the memory in the twenty-second or twenty-fourth step and storing them in a corresponding region of the memory is performed. Approximate clipping method for 3D lines. 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차원라인을 구성하고, 뷰 볼륨 밖의 구성요소들을 제거하며, 상호간에 가려진 3차원 면들을 제거하는 클리핑 과정;In the 3D image transformed into the coordinate system of the viewpoint based on the viewpoint transformation process, the 3D lines spanning the clipping plane are constructed as nodes in the view volume, and new components are removed from the view volume. A clipping process of removing three-dimensional faces that are obscured; 상기 클리핑 과정에서 클리핑하고 남은 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차원 영상의 표시방법.3. A display method of a 3D image using approximate clipping of a 3D line, which is a display process of displaying a 3D image converted into screen coordinates in 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차원라인을 구성하고, 뷰 볼륨 밖의 구성요소들을 제거하며, 상호간에 가려진 3차원 면들을 제거하는 클리핑 과정;In the 3D image transformed into the coordinate system of the viewpoint based on the viewpoint transformation process, the 3D lines spanning the clipping plane are constructed as nodes in the view volume, and new components are removed from the view volume. A clipping process of removing three-dimensional faces that are obscured; 상기 클리핑 과정에서 클리핑하고 남은 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. 제 5 항 또는 제 6 항에 있어서, 상기 기준위치 좌표는;The method of claim 5 or 6, wherein the reference position coordinates; GPS 수신신호로 검출한 이동체의 위치좌표 또는 사용자가 입력하는 좌표인 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.A method of displaying a three-dimensional image using approximate clipping of a three-dimensional line, characterized in that the position coordinate of the moving object detected by the GPS reception signal or the coordinate input by the user. 제 5 항 또는 제 6 항에 있어서, 상기 3차원 환경 초기화 과정은;The method of claim 5 or 6, wherein the three-dimensional environment initialization process; 시점, 시선, 광원의 방향, 광원의 세기 및 건물들의 각 면의 각도 등에 따라 건물 각 면을 표시할 색상 및 농도를 설정하고, 시점으로부터 소정의 표시 대상물이 표시되는 위치까지의 거리를 나타내는 깊이버퍼를 초기화하며, 화면의 바탕색을 소정의 색상으로 설정하는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.Depth buffer indicating the distance from the viewpoint to the position where the predetermined 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 the image and setting the background color of the screen to a predetermined color. 제 5 항 또는 제 6 항에 있어서, 상기 시점 설정과정은;The method of claim 5 or 6, wherein the viewpoint setting process comprises: a; 상기 기준위치 좌표를 기준으로 시점을 설정하고, 그 시점에서의 시선을 설정하는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.3. A method of displaying a 3D image using approximate clipping of a 3D line, wherein the view point is set based on the reference position coordinates, and a line of sight at the view point is set. 제 6 항에 있어서, 상기 3차원 모델링 과정은;The method of claim 6, 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차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.And a trajectory forming process of generating a trajectory of driving information of a moving body after the building generation process. 3. 제 5 항 또는 제 6 항에 있어서, 상기 클리핑과정의 새로운 3차원라인의 구성은;The method of claim 5 or 6, wherein the configuration of the new three-dimensional line of the clipping process; 투영중심위치를 기준으로 투영평면에 투영할 3차원 영상 내에서 3차원 라인을 구성하는 모든 노드들의 z축 값을 클리핑 평면의 z축 값과 각기 비교하여 노드가 뷰 볼륨 안 또는 뷰 볼륨 밖에 위치하는 노드인지를 판단하는 위치 판단과정; 및The z-axis values of all the nodes constituting the three-dimensional line in the three-dimensional image to be projected onto the projection plane based on the projection center position are compared with the z-axis values of the clipping plane, respectively. A position determination process of determining whether the node is a node; And 상기 위치 판단과정에서 노드들이 뷰 볼륨 안과 밖에 걸쳐져 있는 3차원라인에 대하여 뷰 볼륨 안의 노드들로 새로운 3차원라인을 구성하는 클리핑 과정으로 이루어지는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.In the position determination process, a three-dimensional image using approximate clipping of a three-dimensional line is formed by a clipping process of constructing a new three-dimensional line with nodes in the view volume with respect to the three-dimensional line where the nodes span the inside and the outside of the view volume. How to display. 제 11 항에 있어서, 상기 클리핑 평면은;12. The apparatus of claim 11, wherein the clipping plane is selected from the group consisting of: 상기 투영중심위치와 투영평면의 사이에 위치하는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.3D image display method using an approximate clipping of a three-dimensional line, characterized in that located between the projection center position and the projection plane. 제 11 항에 있어서, 상기 클리핑 과정은;The method of claim 11, wherein the clipping process; 3차원라인을 구성하는 노드들 중에서 뷰 볼륨 안에 위치하는 노드의 개수를 탐색하는 제 30 과정;A thirtieth step of searching for the number of nodes located in the view volume among the nodes constituting the 3D line; 상기 제 30 과정에서 탐색한 노드의 개수만큼 메모리에 좌표 값을 저장할 영역을 할당하는 제 31 과정; 및A thirty-first step of allocating an area to store coordinate values in a memory as many as the number of nodes searched in the thirtieth step; And 상기 제 30 과정에서 탐색한 노드의 좌표 값을 상기 제 31 과정에서 할당한 메모리의 해당 영역에 저장하여 새로운 3차원라인을 구성하는 제 32 과정으로 이루어지는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.Using the approximate clipping of the three-dimensional line, comprising the thirty-second process of forming a new three-dimensional line by storing the coordinate values of the node found in the thirtieth step in a corresponding area of the memory allocated in the thirty-first step 3D image display method. 제 11 항에 있어서, 상기 클리핑 과정은;The method of claim 11, wherein the clipping process; 3차원라인을 구성하는 노드들 중에서 처음으로 뷰 볼륨 안에 위치하는 노드를 탐색하는 제 40 과정;A 40 step of searching for a node located in a view volume for the first time among nodes constituting the 3D line; 3차원라인을 구성하는 노드들을 순차적으로 선택하여 뷰 볼륨 안 또는 밖에 위치하는지의 여부를 판단하는 제 41 과정;A step 41 of determining whether the nodes constituting the 3D line are sequentially selected and located in or outside the view volume; 상기 제 41 과정에서 뷰 볼륨 안에 위치하는 노드일 경우에 그 노드의 좌표 값을 메모리의 해당 영역에 저장하는 제 42 과정;A 42nd step of storing coordinate values of the node in a corresponding area of the memory when the node is located in the view volume in step 41; 상기 제 41 과정에서 뷰 볼륨 밖에 위치하는 노드일 경우에 그 노드가 3차원라인의 시작노드인지의 여부를 판단하는 제 43 과정;A 43rd step of determining whether the node is the start node of the 3D line when the node is located outside the view volume in step 41; 상기 제 43 과정의 판단 결과 시작노드일 경우에 상기 제 40 과정에서 탐색한 처음으로 뷰 볼륨 안에 위치하는 노드의 좌표 값을 메모리의 해당 영역에 저장 하는 제 44 과정; 및A 44th step of storing the coordinate values of the node located in the view volume for the first time as found in the 40th step in the corresponding region of the memory when the determination result of the 43rd step is performed; And 상기 제 43 과정의 판단 결과 시작노드가 아닐 경우에 상기 제 42 과정 또는 제 44 과정에서 메모리에 저장한 바로 이전 노드의 좌표 값을 복사하여 메모리의 해당 영역에 저장하는 제 45 과정으로 이루어지는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.In a case where the determination result of step 43 is not the start node, the method comprises a forty-fifth step of copying coordinate values of the immediately preceding node stored in the memory in step 42 or 44 and storing them in a corresponding region of the memory. 3D image display method using approximate clipping of a 3D line. 제 5 항 또는 제 6 항에 있어서, 상기 투영 변환과정에서의 화면좌표 변환은;The method of claim 5 or 6, wherein the screen coordinate transformation in the projection conversion process; 투영평면에서 하단 가장자리의 설정영역을 제외한 화면 표시영역을 설정하고, 그 화면 표시영역 내의 3차원 영상의 투영좌표를 화면좌표로 변환하는 것을 특징으로 하는 3차원라인의 근사 클리핑을 이용한 3차원 영상의 표시방법.The screen display area is set in the projection plane except for the lower edge setting area, and the projection coordinates of the 3D image in the screen display area are converted into the screen coordinates. How to display.
KR1020030086183A 2003-12-01 2003-12-01 Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same KR100550127B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020030086183A KR100550127B1 (en) 2003-12-01 2003-12-01 Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same
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
KR1020030086183A KR100550127B1 (en) 2003-12-01 2003-12-01 Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same

Publications (2)

Publication Number Publication Date
KR20050052673A KR20050052673A (en) 2005-06-07
KR100550127B1 true KR100550127B1 (en) 2006-02-08

Family

ID=37248525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086183A KR100550127B1 (en) 2003-12-01 2003-12-01 Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same

Country Status (1)

Country Link
KR (1) KR100550127B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039788A1 (en) * 2022-08-17 2024-02-22 Baker Hughes Holdings Llc Measuring a feature near the edge of an object

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100735703B1 (en) * 2005-09-13 2007-07-06 엘지전자 주식회사 Data structure and method for charged mobile-type broadcasting
KR100735704B1 (en) * 2005-09-13 2007-07-06 엘지전자 주식회사 Data structure and method for charged mobile-type broadcasting
KR100848687B1 (en) * 2007-01-05 2008-07-28 삼성전자주식회사 3-dimension graphic processing apparatus and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024039788A1 (en) * 2022-08-17 2024-02-22 Baker Hughes Holdings Llc Measuring a feature near the edge of an object

Also Published As

Publication number Publication date
KR20050052673A (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
EP2530433B1 (en) Method of generating a database for a navigation device
CN107423445B (en) A kind of map data processing method, device and storage medium
KR101799945B1 (en) Three-dimensional map drawing, landscape feature data generating method, three-dimensional map drawing method, and computer-readable recording medium
JP4964762B2 (en) Map display device and map display method
KR100506822B1 (en) Method for displaying three dimensional polygon on screen
JP2008077627A (en) Method and system for early z test in three-dimensional image rendering
CN111047682B (en) Three-dimensional lane model generation method and system
EP1126245A2 (en) Device and method for changing map information
EP1538569A2 (en) Line clipping method and method for displaying a three-dimensional image using the same
EP2589933B1 (en) Navigation device, method of predicting a visibility of a triangular face in an electronic map view
CN112221144A (en) Three-dimensional scene path finding method and device and three-dimensional scene map processing method and device
KR100550127B1 (en) Method for approximately clipping three dimensional line and method for displaying three dimensional image using the same
KR100550130B1 (en) Line clipping method and method for displaying three dimensional image using line clipping
KR100513660B1 (en) Method for creating three-dimensional map from two-dimensional map
Jonsson An optimal pathfinder for vehicles in real-world digital terrain maps
KR100517590B1 (en) System and method for processing three dimension data and recording medium having program for three dimension data processing function
JP2002333830A (en) Three-dimensional display of electronic map
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
JP3964099B2 (en) Map display device, recording medium, and map display method
Farias GPU Rasterization Methods for Path Planning and Multi-Agent Navigation
Madureira de Farias GPU Rasterization Methods for Path Planning and Multi-Agent Navigation
KR20170064502A (en) System and method for calculating 3 dimensional path distance

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