KR101637233B1 - Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof - Google Patents

Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof Download PDF

Info

Publication number
KR101637233B1
KR101637233B1 KR1020140195064A KR20140195064A KR101637233B1 KR 101637233 B1 KR101637233 B1 KR 101637233B1 KR 1020140195064 A KR1020140195064 A KR 1020140195064A KR 20140195064 A KR20140195064 A KR 20140195064A KR 101637233 B1 KR101637233 B1 KR 101637233B1
Authority
KR
South Korea
Prior art keywords
nodes
node
level
tree structure
determining
Prior art date
Application number
KR1020140195064A
Other languages
Korean (ko)
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 KR1020140195064A priority Critical patent/KR101637233B1/en
Application granted granted Critical
Publication of KR101637233B1 publication Critical patent/KR101637233B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • G06F16/90328Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection

Abstract

A data processing method for converting a tree structure into a 3D structure comprises: a step for receiving data related to the tree structure including a plurality of nodes; a step for determining each 3D position coordinate of the nodes included in the tree structure; and a step for displaying the nodes on a 3D coordinate system based on the determined position coordinate. The nodes excluding a root node and a leaf node are circularly arranged on a same level according to an occupation angle arranged to a corresponding node. The occupation angle assigned to each node on the same level is determined by the number of child nodes. Therefore, the complex tree structure having levels and nodes is intuitionally displayed on the 3D.

Description

트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 {DATA PROCESSING METHOD FOR CONVERTING TREE STRUCTURE TO 3 DIMENSIONAL STRUCTURE AND COMPUTER READABLE RECORDING MEDIUM THEREOF}TECHNICAL FIELD [0001] The present invention relates to a data processing method for converting a tree structure into a three-dimensional format, and a computer readable recording medium storing a program for the same. BACKGROUND OF THE INVENTION [0001]

본 발명은 트리 구조를 3차원으로 변환하기 위한 데이터 처리 방법 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 특히, 트리 구조를 구성하는 각 노드들을 자식 노드의 개수를 기반으로 위치를 결정하여 3차원 공간에 배치하기 위한 방법 등에 관한 것이다.The present invention relates to a data processing method for transforming a tree structure into three dimensions and a computer-readable recording medium storing a program therefor. More particularly, the present invention relates to a data processing method for converting a tree structure into a three- Dimensional space, and the like.

근래 조직의 복잡화 및 대형화에 기인하여 기업의 조직도, 본사 및 계열사의 그룹 관계도와 같이 복수의 노드가 상하 관계를 이루면서 구성되는 개념도의 수요가 증대되고 있다. 이러한 상하관계를 나타내기 위한 자료 구조로서 나무를 형상화한 트리 구조가 일반적이다. Recently, due to the complexity and size of the organization, there has been an increasing demand for a conceptual diagram in which a plurality of nodes are formed in a top-down relationship such as an organization chart, a group relationship of a head office and affiliates. As a data structure for representing this vertical relationship, a tree structure that shapes a tree is generally used.

도 1은 일반적인 트리 구조(1000)를 예시한 도면이다. 도 1을 참조하면, 레벨 1(Level 1)에 루트 노드(root node; 101)가 존재하고, 루트 노드(101)를 기초로 레벨을 달리하여 다른 노드들(201, 211, 221, 301, 302, …, 321, 322, 323, 324, 401, 402, 403, 404) 구성된다. 루트 노드(101)에 대해서는 노드들(201, 211, 221)이 자식 노드(child node)일 수 있고, 루트 노드(101)는 노드들(201, 211, 221)의 부모 노드(parent node)일 수 있다. 자식 노드들(201, 211, 221)는 레벨 3에 존재하는 자식 노드들을 가질 수 있다. 레벨 3 의 자식 노드들 중 노드(321)만이 레벨 4 에서 자식 노드를 가지고, 나머지 노드들은 자식 노드가 없다. 이렇듯 자식 노드가 없는 노드를 리프 노드(leaf node)로 명명할 수 있다. 도시된 트리 구조에서, 레벨 3에서 리프 노드는 12개이고, 리프 노드 아닌 노드(321)는 1개이다. 도 1에서 리프 노드는 원형의 표식으로, 리프 노드가 아닌 노드들, 즉 부모 노드들은 정사각형의 표식으로 도시되어 있다. 또한 레벨 4에서 리프 노드는 4개이다. 즉, 도 1의 트리 구조에서 전체 리프 노드는 16개이며, 레벨 3과 레벨 4에 존재한다. 또한, 같은 레벨의 노드들 중 부모 노드가 같은 노드들을 형제 노드(sibling node)라고 한다. 도 1의 트리 구조에서, 레벨 2의 노드들은 모두 형제 노드이다. 그러나, 레벨 3의 노드는 부모 노드가 다른 노드들이 존재하므로, 모두 형제 노드인 것은 아니다. 예를 들어, 노드(301)와 노드(303)은 형제 노드이나, 노드(301)와 노드(312)는 형제 노드가 아니다.1 is a diagram illustrating a general tree structure 1000. Referring to FIG. 1, a root node 101 exists at a level 1 and another node 201, 211, 221, 301, 302 , ..., 321, 322, 323, 324, 401, 402, 403, and 404). For the root node 101, the nodes 201, 211, and 221 may be child nodes, and the root node 101 may be a parent node of the nodes 201, . The child nodes 201, 211, and 221 may have child nodes existing at level 3. Of the level 3 child nodes, only node 321 has child nodes at level 4, and the remaining nodes have no child nodes. A node without a child node can be named as a leaf node. In the illustrated tree structure, there are 12 leaf nodes at level 3 and one node 321 that is not a leaf node. In FIG. 1, the leaf node is a circular marker, and the nodes other than the leaf nodes, i.e., the parent nodes are shown as square marks. At level 4, there are four leaf nodes. That is, in the tree structure of FIG. 1, there are 16 total leaf nodes, and exist at level 3 and level 4. Also, among the nodes of the same level, the same node is called a sibling node. In the tree structure of FIG. 1, nodes of level 2 are all sibling nodes. However, a node of level 3 is not a sibling node, since the parent node exists in other nodes. For example, node 301 and node 303 are sibling nodes, but node 301 and node 312 are not sibling nodes.

도 1에서 나타내는 바와 같이, 트리 구조를 2차원 평면 상에서 표시하는 경우 트리 구조의 깊이, 즉 트리의 가장 높은 레벨의 크기가 커질수록 또는 노드에 대한 자식 노드들이 많아질수록 트리 구조를 나타내는데 필요한 평면의 넓이가 방대해지고 복잡해진다. 즉, 한정된 자원으로 복잡하고 변화 가능성이 많은 트리 구조를 표현하는데 한계가 있다.As shown in FIG. 1, when the tree structure is displayed on a two-dimensional plane, the greater the depth of the tree structure, that is, the size of the highest level of the tree, or as the number of child nodes for the node increases, The area becomes enormous and complicated. That is, there is a limitation in expressing a tree structure that is complex and likely to change with limited resources.

본 발명은 트리 구조를 3차원으로 한정된 자원 내에서 각 노드가 겹치지 않도록 표현할 수 있는 데이터 처리 방법을 제공하기 위한 것이다.The present invention is intended to provide a data processing method capable of expressing a tree structure such that nodes do not overlap within a resource limited to three dimensions.

본 발명은 각 노드의 자식 노드의 개수에 따라 점유각을 달리 하여 동일 레벨상에서 원형으로 배치되도록 하는 데이터 처리 방법을 제공하기 위한 것이다. The present invention is to provide a data processing method for arranging circles on the same level at different occupancy angles according to the number of child nodes of each node.

본 발명의 일 실시예에 따른, 트리 구조를 3차원의 형식으로 변환하는 데이터 처리 방법은, 복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받는 단계; 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계; 상기 노드들 중 루트 노드(root node) 및 리프 노드(leaf node)를 제외한 노드들은 해당 노드에게 배정된 점유각에 따라 동일 레벨 상에서 원형으로 배치되며, 동일 레벨 상에서 각 노드에게 할당되는 점유각은 자식 노드의 개수에 비례하여 결정됨 - ; 및 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계를 포함한다.According to an embodiment of the present invention, there is provided a data processing method for converting a tree structure into a three-dimensional format, comprising: receiving data regarding a tree structure composed of a plurality of nodes; Determining three-dimensional position coordinates of nodes included in the tree structure; Among the nodes, the nodes other than the root node and the leaf node are arranged in a circle on the same level according to the occupancy angle assigned to the corresponding node, Determined in proportion to the number of nodes; And displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates.

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계는, 레벨 간격 및 레벨별 반지름을 결정하는 단계; 루트 노드의 위치를 결정하는 단계; 상기 루트 노드의 위치 및 레벨 간격에 기초하여, 상기 트리 구조에 포함되는 노드들의 y좌표를 각각 결정하는 단계; 각 노드들의 점유각을 결정하는 단계; 및 상기 결정된 점유각 및 레벨별 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정하는 단계를 포함할 수 있다.In one embodiment, determining each of the three-dimensional position coordinates of the nodes included in the tree structure comprises: determining a level interval and a radius for each level; Determining a location of a root node; Determining y coordinates of nodes included in the tree structure based on the position and level interval of the root node; Determining an occupancy angle of each node; And determining an x coordinate and a z coordinate of the nodes included in the tree structure, respectively, based on the determined occupancy angle and the radius according to the level.

일 실시예에서, 상기 노드에게 배정되는 점유각은 다음 수식 1에 의해 결정될 수 있다.In one embodiment, the occupancy angle assigned to the node may be determined by: < EMI ID = 1.0 >

Figure 112014128461742-pat00001
…………………………… (수식 1)
Figure 112014128461742-pat00001
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

(여기서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.)(Where mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + Number.)

본 발명의 다른 실시예에 따른, 트리 구조를 3차원의 형식으로 변환하는 데이터 처리 방법은, 복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받는 단계; 자식 노드의 개수에 기초하여, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계; 상기 결정된 점유각에 기초하여, 상기 트리 구조에 포함되는 노드들의 좌표를 결정하는 단계; 및 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계를 포함한다.According to another embodiment of the present invention, there is provided a data processing method for converting a tree structure into a three-dimensional format, comprising: receiving data regarding a tree structure composed of a plurality of nodes; Determining an occupancy angle of nodes included in the tree structure based on the number of child nodes; Determining coordinates of nodes included in the tree structure based on the determined occupancy angle; And displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates.

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 1에 의해 리프 노드(leaf node)가 없는 레벨의 노드들의 점유각을 결정할 수 있다.In one embodiment, in the step of determining the occupancy angle of the nodes included in the tree structure, the occupancy angle of nodes having no leaf node can be determined by the following equation (1).

Figure 112014128461742-pat00002
…………………………… (수식 1)
Figure 112014128461742-pat00002
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

(여기서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.)(Where mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + Number.)

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 2에 의해 리프 노드(leaf node)가 있는 레벨의 노드들 중 리프 노드의 점유각을 결정할 수 있다.In one embodiment, in the step of determining the occupancy angle of the nodes included in the tree structure, the occupancy angle of the leaf node among the nodes having the leaf node can be determined by the following equation (2).

Figure 112014128461742-pat00003
…………………………… (수식 2)
Figure 112014128461742-pat00003
... ... ... ... ... ... ... ... ... ... ... (Equation 2)

(여기서, θml은 m번째 레벨의 리프 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.)(Where, θ is occupied ml each, c ml of m-th level of the leaf node is the total number of nodes of the m number of the second-level leaf nodes, c m + 1 is m + 1-th level.)

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 3에 의해 리프 노드(leaf node)가 있는 레벨의 노드들 중 리프 노드가 아닌 노드의 점유각을 결정할 수 있다.In one embodiment, in determining the occupancy angle of the nodes included in the tree structure, an occupancy angle of a node other than a leaf node among nodes having a leaf node may be determined according to Equation (3) have.

Figure 112014128461742-pat00004
……………………… (수식 3)
Figure 112014128461742-pat00004
... ... ... ... ... ... ... ... ... (Equation 3)

(여기서, θmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수, cmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수이다.)(Where, θ mk, m occupy each of the k th node in the second level non-leaf nodes, c ml are m number of the second-level leaf nodes, c m + 1 are m + 1 total number of nodes in the second level, c mk Is the number of child nodes of the k-th node that is not the leaf node of the m-th level.)

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 4에 의해 리프 노드(leaf node)만 있는 레벨의 노드의 점유각을 결정할 수 있다.In one embodiment, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a node having only a leaf node can be determined by the following equation (4).

Figure 112014128461742-pat00005
…………………………… (수식 4)
Figure 112014128461742-pat00005
... ... ... ... ... ... ... ... ... ... ... (Equation 4)

(여기서, θp는 리프 노드만 있는 레벨의 노드의 점유각, cp는 리프 노드만 있는 레벨의 노드 개수이다.)(Here, θ p is the occupancy angle of the node having the leaf node only level, and c p is the node number of the leaf node only level.)

일 실시예에서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 5에 의해 리프 노드(leaf node)가 있는 레벨의 노드의 점유각을 결정할 수 있다.In one embodiment, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a node having a leaf node can be determined by the following equation (5).

Figure 112014128461742-pat00006
…………………………… (수식 5)
Figure 112014128461742-pat00006
... ... ... ... ... ... ... ... ... ... ... (Equation 5)

(여기서, θf는 리프 노드가 있는 레벨의 노드의 점유각, cf는 리프 노드가 있는 레벨의 노드 개수이다.)(Where θ f is the occupancy angle of the node with the level of the leaf node, and c f is the number of nodes at the level with the leaf node).

일 실시예에서, 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계는: 상기 노드들을 각각의 결정된 위치 좌표 상에 표시하는 단계; 및 각 노드들의 부모-자식 관계를 선으로 표시하는 단계를 포함할 수 있다.In one embodiment, the step of displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates comprises: displaying the nodes on respective determined position coordinates; And displaying the parent-child relationship of each node in a line.

일 실시예에서, 상기 결정된 점유각에 기초하여, 상기 트리 구조에 포함되는 노드들의 좌표를 결정하는 단계는: 노드들의 y좌표를 결정하는 단계; 다음 수식 6에 의해 각 노드의 x좌표를 결정하는 단계; 및 다음 수식 7에 의해 각 노드의 z좌표를 결정하는 단계를 포함할 수 있다.In one embodiment, determining the coordinates of the nodes included in the tree structure based on the determined occupancy angle comprises: determining y coordinates of the nodes; Determining an x coordinate of each node according to Equation (6); And determining the z coordinate of each node by: < EMI ID = 7.0 >

Figure 112014128461742-pat00007
…………………………… (수식 6)
Figure 112014128461742-pat00007
... ... ... ... ... ... ... ... ... ... ... (Equation 6)

Figure 112014128461742-pat00008
…………………………… (수식 7)
Figure 112014128461742-pat00008
... ... ... ... ... ... ... ... ... ... ... (Equation 7)

(여기에서, xn은 n번째 노드의 x좌표, zn은 n번째 노드의 z좌표, r은 레벨의 반지름, θn은 n번째 노드의 점유각, θ0은 레벨별 초기 각도이다.)(Here, x n is the n-th x-coordinate of the node, z n the n-th node, z coordinate, r is radius, θ n is n occupy the second node each, θ 0 in level by level initial angle.)

본 발명의 또다른 실시예에 따른, 트리 구조를 3차원의 형식으로 표시하는 데이터 처리 방법을 컴퓨터 상에서 실행하기 위한 전자적 코드를 기록한 컴퓨터 판독 가능한 기록 매체에 의하면, 상기 전자적 기록 코드는, 복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받고, 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하며 - 상기 노드들 중 루트 노드(root node) 및 리프 노드(leaf node)를 제외한 노드들은 해당 노드에게 배정된 점유각에 따라 동일 레벨 상에서 원형으로 배치되며, 동일 레벨 상에서 각 노드에게 할당되는 점유각은 자식 노드의 개수에 비례하여 결정됨 -, 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 동작을 컴퓨터 상에서 실행하도록 한다.According to another embodiment of the present invention, there is provided a computer-readable recording medium having recorded thereon an electronic code for executing a data processing method for displaying a tree structure in a three-dimensional format on a computer, And determines the three-dimensional position coordinates of the nodes included in the tree structure, and determines the three-dimensional position coordinates of the nodes included in the tree structure, excluding the root node and the leaf node, Wherein an occupancy angle allocated to each node on the same level is determined in proportion to the number of child nodes, and wherein the occupancy angle of each node is determined based on the determined position coordinates, Execute the operation to display in the dimensional coordinate system on the computer.

일 실시예에서, 상기 노드에게 배정되는 점유각은 다음 수식 1에 의해 결정될 수 있다.In one embodiment, the occupancy angle assigned to the node may be determined by: < EMI ID = 1.0 >

Figure 112014128461742-pat00009
…………………………… (수식 1)
Figure 112014128461742-pat00009
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

(여기서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.)
(Where mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + Number.)

본 발명에 의하면 트리 구조를 3차원으로 한정된 자원 내에서 각 노드가 겹치지 않도록 표현할 수 있다.According to the present invention, the tree structure can be expressed such that nodes do not overlap within a resource defined by three dimensions.

본 발명에 의하면 각 노드의 자식 노드의 개수에 따라 점유각을 달리 하여 동일 레벨 상에서 원형으로 배치되도록 할 수 있다.According to the present invention, it is possible to arrange circles on the same level at different occupancy angles according to the number of child nodes of each node.

따라서, 레벨과 노드가 많은 복잡한 트리 구조를 3차원 상에 직관적으로 표시할 수 있다.
Thus, a complex tree structure with many levels and nodes can be intuitively displayed on three dimensions.

도 1은 일반적인 트리 구조를 설명하기 위한 도면이다.
도 2는 도 1의 트리 구조를 본 발명의 일 실시예에 따라 3차원에 표시한 도면이다.
도 3은 도 2에 도시된 3차원의 노드들을 y방향에서 바라본 평면도이다.
도 4a는 도 3에 도시된 노드들 중 루트 노드를 나타내는 도면이다.
도 4b는 도 3에 도시된 노드들 중 레벨 2의 노드들의 점유각을 결정하는 방법을 설명하기 위한 도면이다.
도 4c는 도 3에 도시된 노드들 중 레벨 3의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.
도 4d는 도 3에 도시된 노드들 중 레벨 3의 노드들의 점유각을 결정하는 제 2 실시예를 설명하기 위한 도면이다.
도 4e는 도 3에 도시된 노드들 중 레벨 4의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.
도 4f는 도 3에 도시된 노드들 중 레벨 4의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.
도 5는 도 2에 도시된 노드들의 y축 방향의 위치를 결정하는 방법을 예시적으로 설명하기 위한 도면이다.
도 6는 결정된 점유각에 기초하여 노드의 x-z 평면 상의 위치를 결정하는 방법을 예시적으로 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법의 일 예를 나타내는 도면이다.
도 8은 도 7의 방법에서 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 결정하는 방법의 일 예를 나타내는 도면이다.
도 9a는 도 8의 방법에서 트리 구조에 포함되는 노드들의 점유각을 결정하는 방법의 제 1 실시예를 나타내는 도면이다.
도 9b는 도 8의 방법에서 트리 구조에 포함되는 노드들의 점유각을 결정하는 방법의 제 2 실시예를 나타내는 도면이다.
1 is a diagram for explaining a general tree structure.
FIG. 2 is a diagram showing the tree structure of FIG. 1 in three dimensions according to an embodiment of the present invention.
FIG. 3 is a plan view of the three-dimensional nodes shown in FIG. 2 in the y direction.
4A is a diagram showing a root node among the nodes shown in FIG.
FIG. 4B is a view for explaining a method of determining an occupancy angle of nodes of level 2 among the nodes shown in FIG. 3. FIG.
FIG. 4C is a diagram for explaining a first embodiment for determining an occupancy angle of nodes of level 3 among the nodes shown in FIG. 3. FIG.
FIG. 4D is a diagram for explaining a second embodiment for determining an occupancy angle of nodes of level 3 among the nodes shown in FIG. 3. FIG.
FIG. 4E is a view for explaining the first embodiment for determining the occupancy angle of nodes of level 4 among the nodes shown in FIG. 3. FIG.
FIG. 4F is a diagram for explaining a first embodiment for determining an occupancy angle of nodes of level 4 among the nodes shown in FIG. 3. FIG.
FIG. 5 is a diagram for explaining a method for determining the position of the nodes shown in FIG. 2 in the y-axis direction.
6 is a diagram for explaining a method for determining a position of a node on an xz plane based on a determined occupancy angle.
7 is a diagram showing an example of a data processing method for converting a tree structure into a three-dimensional format according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of a method for determining three-dimensional position coordinates of nodes included in a tree structure in the method of FIG.
9A is a diagram showing a first embodiment of a method for determining an occupancy angle of nodes included in a tree structure in the method of FIG.
FIG. 9B is a diagram showing a second embodiment of a method for determining an occupancy angle of nodes included in a tree structure in the method of FIG. 8. FIG.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 모호하지 않도록 하기 위해 생략될 것이라는 것을 유의하여야 한다. 또한 본 발명은 여기에서 설명되는 실시 예에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 여기에서 설명되는 실시 예은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that, in the drawings, the same components are denoted by the same reference symbols as possible. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted in order to avoid obscuring the gist of the present invention. Further, the present invention is not limited to the embodiments described herein but may be embodied in other forms. It is to be understood, however, that the invention may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.

도 2는 도 1의 트리 구조를 본 발명의 일 실시예에 따라 3차원에 표시한 도면이다.FIG. 2 is a diagram showing the tree structure of FIG. 1 in three dimensions according to an embodiment of the present invention.

도 2를 참조하면, 3차원 상에 표시된 도 1의 트리 구조의 사시도(2000)가 도시되어 있다. 트리 구조의 최상단에는 레벨 1의 루트 노드(101)가 도시되어 있고, 루트 노드(101)의 하단에 레벨 2의 노드들(201, 211, 221)이 도시되어 있다. 도 2에서 리프 노드는 원형의 표식으로, 리프 노드가 아닌 노드들, 즉 부모 노드들은 정사각형의 표식으로 도시되어 있다. 또한, 레벨 2의 노드들(201, 211, 221) 하단에는 레벨 3의 노드들이 도시되어 있으며, 그 하단에는 레벨 4의 노드들이 도시되어 있다. 도시의 편의를 위해, 레벨 3의 노드들 및 레벨 4의 노드들 중 노드(321)를 제외한 노드들의 참조 기호는 생략되어 있다. 그러나 도 2에 표시된 트리 구조의 노드들 및 부모-자식 관계는 도 1의 트리 구조와 동일하다.Referring to Fig. 2, there is shown a perspective view 2000 of the tree structure of Fig. 1 displayed on three dimensions. At the top of the tree structure, the root node 101 of level 1 is shown and the nodes 201, 211 and 221 of level 2 are shown at the bottom of the root node 101. In FIG. 2, the leaf node is a circular marker, and the nodes other than the leaf nodes, i.e., the parent nodes are shown as square marks. In addition, levels 3 nodes are shown at the lower level nodes 201, 211, and 221, and levels 4 nodes are shown at the lower level. For convenience of illustration, the reference symbols of the nodes other than the node 321 among the nodes of the level 3 and the nodes of the level 4 are omitted. However, the nodes of the tree structure shown in FIG. 2 and the parent-child relationship are the same as the tree structure of FIG.

도 2를 참조하면, 같은 레벨의 노드들은 동일한 y좌표를 가지는 것을 알 수 있다. 또한, 레벨이 달라지면 y좌표가 달라진다. 루트 노드(101)를 제외한 노드들은 각각 같은 레벨의 노드들과 동일한 원주(circumference) 상에 배치된다. 도 2의 도시에서, 노드들이 배치되는 원주의 반지름은 레벨에 따라 다르다. 도 2에서, 레벨이 커짐에 따라, 즉 y좌표가 감소함에 따라 노드들이 배치되는 원주의 반지름이 증가한다. 레벨 2의 노드들(201, 211, 221)이 배치된 원주의 반지름보다, 레벨 3의 노드들(…, 321, …)이 배치된 원주의 반지름이 더 크다. 또한 도 2의 실시예에서는 레벨이 증가함에 따라 달라지는 원주의 반지름이, 레벨 크기에 비례하여 증가하는 것으로 도시되어 있다. 즉, 레벨 3의 노드들이 배치되는 원주의 반지름은 레벨 2의 노드들이 배치되는 원주의 반지름의 두 배이며, 레벨 4의 노드들이 배치되는 원주의 반지름은 레벨 2의 노드들이 배치되는 원주의 반지름의 세 배이다.Referring to FIG. 2, nodes having the same level have the same y-coordinate. Also, if the level is different, the y-coordinate changes. The nodes other than the root node 101 are arranged on the same circumference as the nodes of the same level. In the illustration of Fig. 2, the radius of the circumference in which the nodes are located varies from level to level. In Fig. 2, as the level increases, i. E. The y coordinate decreases, the radius of the circumference where the nodes are located increases. The radius of the circumference where the nodes of level 3 (..., 321, ...) are arranged is larger than the radius of the circumference of the circumference where the nodes of level 2 201, 211, 221 are arranged. Also, in the embodiment of FIG. 2, the radius of the circumference, which increases as the level increases, is shown to increase in proportion to the level size. That is, the radius of the circumference where the nodes of level 3 are arranged is twice the radius of the circumference where the nodes of level 2 are arranged, and the radius of the circumference where the nodes of level 4 are arranged is the radius of the circumference It is three times.

또한, 도 2에서는 레벨이 증가함에 따라 노드들이 배치되는 y좌표의 간격은 동일한 것으로 도시되어 있다. 다시 말하면, 레벨 1의 노드(101)와 레벨 2의 노드들(201, 211, 221)의 y좌표 차이는 레벨 2의 노드들(201, 211, 221)과 레벨 3의 노드들(…, 321, …)의 y좌표 차이와 동일하다. 또한, 레벨 2의 노드들(201, 211, 221)과 레벨 3의 노드들(…, 321, …)의 y좌표 차이는 레벨 3의 노드들(…, 321, …)과 레벨 4의 노드들의 y좌표 차이와 동일하다.Also, in FIG. 2, as the level increases, the intervals of the y coordinates at which the nodes are arranged are shown to be the same. In other words, the y coordinate difference between the level 1 node 101 and the level 2 nodes 201, 211, 221 is the level 2 nodes 201, 211, 221 and the level 3 nodes ... 321 , ...). The difference in y coordinate between the level 2 nodes 201, 211 and 221 and the level 3 nodes (..., 321, ...) corresponds to the level 3 nodes (..., 321, y coordinate difference.

상술한 바와 같이, 도 2의 실시예에서는 레벨이 증가함에 따라 그에 비례하여 노드들이 배치되는 원주의 반지름이 증가하고, 레벨이 증가함에 따라 노드들이 배치되는 y좌표의 간격은 동일하다. 그 결과, 도 2의 트리 구조(2000)는 원뿔(cone) 형태일 수 있다. 실시예에 따라, 레벨에 따른 원주의 반지름 증가율 또는 노드들이 배치되는 y좌표의 간격이 달라질 수 있다. 따라서, 트리 구조는 종(bell) 형태일 수도 있고 뾰족한 뿔 모양일 수도 있다. 본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법에서, 레벨에 따른 y좌표의 간격 및 레벨에 따른 원주의 반지름 증가율은 위에 설명한 방법에 따라 제한되는 것은 아니며, 다양한 방식에 따라 결정될 수 있다. 레벨에 따른 y좌표의 간격 및 레벨에 따른 원주의 반지름 증가율의 결정 방법에 대해서는 도 5를 참조하여 더욱 자세히 후술하기로 한다.
As described above, in the embodiment of FIG. 2, as the level increases, the radius of the circumference where the nodes are arranged increases in proportion to the level, and the intervals of the y coordinates where the nodes are arranged are the same as the level increases. As a result, the tree structure 2000 of FIG. 2 may be in the form of a cone. Depending on the embodiment, the radial rate of increase of the circumference or the spacing of the y-coordinates at which the nodes are arranged may vary. Thus, the tree structure may be in the form of a bell or a sharp horn. In the data processing method for converting the tree structure into the three-dimensional format according to the embodiment of the present invention, the radius increase rate of the circumference according to the interval and the level of the y coordinate depending on the level is not limited by the above- Can be determined according to the method. The method of determining the radius increase rate of the circumference according to the interval and the level of the y coordinate according to the level will be described later in more detail with reference to FIG.

도 3은 도 2에 도시된 3차원의 노드들을 y방향에서 바라본 평면도이다.FIG. 3 is a plan view of the three-dimensional nodes shown in FIG. 2 in the y direction.

도 3을 참조하면, 루트 노드(101)가 중앙에 위치하며, 그를 둘러싼 원주에 레벨 2의 노드들(201, 211, 221)이 존재하고, 그 주위에 레벨 3의 노드들(…, 321, …)이 존재하며, 그 주위에 레벨 4의 노드들이 존재한다. 도 1에서 설명한 바와 마찬가지로, 레벨 2의 노드들은 모두 부모 노드(parent node)이고, 레벨 3의 노드들 중 노드(321)를 제외한 노드들은 모두 리프 노드(leaf node)이다. 또한, 레벨 4의 노드들은 모두 리프 노드이며 노드(321)의 자식 노드(child node)이다. 도 3에서 리프 노드는 원형의 표식으로, 리프 노드가 아닌 노드들, 즉 부모 노드들은 정사각형의 표식으로 도시되어 있다.Referring to FIG. 3, the root node 101 is located at the center, and nodes 2, 201, 211, and 221 of level 2 exist around the circumference of the root node 101, ...), and there are nodes of level 4 around it. 1, the nodes of level 2 are all parent nodes, and the nodes of level 3 except for node 321 are all leaf nodes. In addition, the nodes of level 4 are all leaf nodes and child nodes of node 321. In Fig. 3, the leaf node is a circular marker, and the nodes other than the leaf nodes, i.e., the parent nodes are shown as square marks.

도 3을 참조하면, 레벨 2의 노드들(201, 211, 221)의 점유각은 동일하지 않음을 알 수 있다. 본 명세서에서, "점유각"은 특정 노드가 동일 레벨의 노드들이 위치하는 원주 상에서 얼마나 많은 호(arc)를 차지하는지를 의미하는 수치일 수 있다. 동일 원주 상에서 호의 길이는 각의 크기에 비례하므로, 특정 노드가 원주를 점유하는 정도는 각도에 비례할 수 있다. 점유각이 클수록 해당 노드와 이웃 노드와의 거리는 짧고, 점유각이 작을수록 해당 노드와 이웃 노드와의 거리는 길다.Referring to FIG. 3, it can be seen that the occupancy angles of the nodes 201, 211 and 221 of level 2 are not the same. As used herein, an "occupancy angle" may be a number that indicates how many arcs a particular node occupies on the circumference where nodes of the same level are located. Since the length of the arc on the same circumference is proportional to the magnitude of the angle, the degree to which a particular node occupies the circumference can be proportional to the angle. The larger the occupancy angle, the shorter the distance between the node and the neighboring node, and the smaller the occupancy angle, the longer the distance between the node and the neighboring node.

본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법에 의하면, 동일 레벨 상에서 각 노드에게 할당되는 점유각은 해당 노드의 자식 노드의 개수에 비례해서 결정된다. 도 3을 참조하면, 노드(201)의 자식 노드는 5개이고, 노드(211)의 자식 노드는 4개이며, 노드(221)의 자식 노드는 4개이다. 따라서, 노드(211, 221)에 비해 노드(201)의 점유각이 크다. 그 결과, 노드(201)는 노드들(211, 221)과 상대적으로 멀리 떨어져서 위치하는 것으로 표시된다. 시각적으로, 점유각이 커서 다른 노드들과 멀리 떨어져 있는 경우, 직접적으로 자식 노드들의 개수를 세어 보지 않아도 해당 노드의 자식 노드의 개수가 많음을 인지할 수 있다. 따라서, 본 발명에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법에 의하면, 노드와 레벨의 개수가 많은 복잡한 트리 구조에 있어서도 직관적으로 부모-자식 노드와의 관계 및 자식 노드가 많은 부모 노드를 쉽게 인식할 수 있다. 따라서 보다 직관적으로 트리 구조를 3차원 상에 표시할 수 있다. 각 노드들의 점유각을 결정하는 구체적인 방법은 도 4a 내지 4f를 참조하여 후술하기로 한다.
According to the data processing method for converting the tree structure into the three-dimensional format according to the embodiment of the present invention, the occupancy angle allocated to each node on the same level is determined in proportion to the number of child nodes of the corresponding node. Referring to FIG. 3, five child nodes of the node 201, four child nodes of the node 211, and four child nodes of the node 221 are included. Therefore, the occupancy angle of the node 201 is larger than that of the nodes 211 and 221. As a result, the node 201 is indicated as being located relatively far away from the nodes 211 and 221. Visually, when the occupancy angle is large and is distant from other nodes, it can be recognized that the number of child nodes of the corresponding node is large even if the number of child nodes is not directly counted. Therefore, according to the data processing method for converting the tree structure according to the present invention into the three-dimensional format, even in a complicated tree structure having a large number of nodes and levels, intuitively, the relationship with the parent- The node can be easily recognized. Therefore, the tree structure can be displayed on three dimensions more intuitively. A specific method for determining the occupancy angle of each node will be described later with reference to Figs. 4A to 4F.

도 4a는 도 3에 도시된 노드들 중 루트 노드를 나타내는 도면이다.4A is a diagram showing a root node among the nodes shown in FIG.

도 4a를 참조하면, 루트 노드(101)가 원주의 중심(O1) 상에 위치함을 알 수 있다. 레벨 1에는 루트 노드(101)만이 존재하므로, 다른 노드와의 관계에서 점유각을 계산할 필요가 없다. 따라서 단순히 루트 노드(101)의 점유각은 360도로 결정할 수 있으며, 원주의 반지름을 0으로 계산할 수 있다. 따라서 루트 노드(101)는 결정된 y좌표 상의 x-z 평면에서 원점(O1)인 좌표 (0, 0)를 노드 위치로 가질 수 있다.
Referring to FIG. 4A, it can be seen that the root node 101 is located on the center O 1 of the circumference. Since only the root node 101 exists in level 1, there is no need to compute the occupancy angle in relation to other nodes. Thus, the occupancy angle of the root node 101 can be determined 360 degrees, and the radius of the circumference can be calculated as zero. Therefore, the root node 101 can have the node position as the coordinate (0, 0) which is the origin (O 1 ) in the xz plane on the determined y coordinate.

도 4b는 도 3에 도시된 노드들 중 레벨 2의 노드들의 점유각을 결정하는 방법을 설명하기 위한 도면이다.FIG. 4B is a view for explaining a method of determining an occupancy angle of nodes of level 2 among the nodes shown in FIG. 3. FIG.

도 4b를 참조하면, 레벨 2의 노드들(201, 211, 221)이 x-z 평면 상에서 반지름(r2) 상의 원주 상에 배치되어 있다. 원주의 중심(O2)의 x, z 좌표는 도 4a의 원주의 중심(O1)과 동일할 수 있다. 즉, 원주의 중심들(O1, O2)의 x, z 좌표는 동일하고, y좌표만이 상이할 수 있다. 노드들( 201, 211, 221)은 각각의 점유각(θ1, θ2, θ3, θ4)을 갖는다. 상술한 바와 같이 노드들(201, 211, 221) 각각의 점유각(θ1, θ2, θ3, θ4)은 해당 노드의 자식 노드의 개수에 기초하여 결정될 수 있다. 일 실시예에서, 상술한 바와 같이 노드들(201, 211, 221) 각각의 점유각(θ12, θ3, θ4)은 해당 노드의 자식 노드의 개수에 비례하여 결정될 수 있다.Referring to FIG. 4B, nodes 201, 211 and 221 of level 2 are arranged on the circumference on the radius r 2 on the xz plane. The x, z coordinates of the center O 2 of the circumference may be the same as the center O 1 of the circumference of FIG. 4A. That is, the x and z coordinates of the centers (O 1 , O 2 ) of the circumference are the same, and only the y coordinate may be different. The nodes 201, 211, and 221 have respective occupancy angles (? 1 ,? 2 ,? 3 ,? 4 ). As described above, the occupancy angles (? 1 ,? 2 ,? 3 ,? 4 ) of each of the nodes 201, 211, and 221 can be determined based on the number of child nodes of the corresponding node. In one embodiment, occupancy angles (? 1 ,? 2 ,? 3 ,? 4 ) of each of the nodes 201, 211, and 221 may be determined in proportion to the number of child nodes of the corresponding node.

도 1과 도 4b를 함께 참조하면, 노드(201)의 자식 노드들(301, 302, …, 305)의 개수는 5개이고, 노드(211)의 자식 노드들(311, 312, …, 314)의 개수는 4개이며, 노드(221)의 자식 노드들(321, 322, …, 324)의 개수는 4개이다. 따라서 자식 노드들의 개수에 비례하여 점유각을 결정하면 아래와 같이 결정될 수 있다.The number of the child nodes 301, 302, ..., 305 of the node 201 is 5 and the number of the child nodes 311, 312, ..., 314 of the node 211 is 5, The number of child nodes 321, 322, ..., and 324 of the node 221 is four. Therefore, if the occupancy angle is determined in proportion to the number of child nodes, it can be determined as follows.

Figure 112014128461742-pat00010
Figure 112014128461742-pat00010

Figure 112014128461742-pat00011
Figure 112014128461742-pat00011

Figure 112014128461742-pat00012
Figure 112014128461742-pat00012

위의 결과에서 점유각은 도(degree)로 표시되었다. 노드(201)의 점유각이 노드들(211, 221)의 점유각보다 크므로, 노드(201)와 노드(211)의 거리 또는 노드(201)와 노드(221)의 거리는, 노드(211)와 노드(221)의 거리보다 크다. 상술한 바와 같이, 본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법에서는, 각 노드의 점유각을 자식 노드의 개수에 비례하여 결정할 수 있다. 위의 결과를 보다 일반적으로 나타내면, 자식 노드의 개수에 비례하여 결정되는 각 노드의 점유각은 아래 수식 1과 같이 표현될 수 있다.In the above results, the occupancy angle is expressed in degrees. The distance between the node 201 and the node 211 or the distance between the node 201 and the node 221 is larger than the occupancy angle of the node 211 because the occupancy angle of the node 201 is larger than the occupation angle of the nodes 211 and 221. [ And the node 221, as shown in FIG. As described above, in the data processing method for converting the tree structure into the three-dimensional format according to the embodiment of the present invention, the occupancy angle of each node can be determined in proportion to the number of child nodes. If the above result is more generally expressed, the occupancy angle of each node determined in proportion to the number of child nodes can be expressed as Equation 1 below.

Figure 112014128461742-pat00013
…………………………… (수식 1)
Figure 112014128461742-pat00013
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

위 수식 1에서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.M m is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + The number of nodes.

상술한 바와 같이, 트리 구조에서 노드의 점유각을 자식 노드의 개수에 비례하여 결정할 수 있다. 다만, 위 방식에 의하면, 수식 1은 해당 레벨에 리프 노드가 없는 경우에만 적용할 수 있다. 해당 레벨에 리프 노드가 있으면, 그 리프 노드는 자식 노드가 없기 때문에 점유각이 0으로 계산되기 때문이다. 만약 점유각이 0인 노드가 순서대로 존재하는 경우, 원주 상에서 겹쳐져서 표현되며, 이는 트리 구조의 직관적 인식에 방해가 될 수 있다. 도 1을 다시 참조하면, 레벨 2에는 리프 노드가 없으므로, 즉 레벨 2의 노드들(201, 211, 221)은 모두 어떠한 노드의 부모 노드이므로 수식 1을 적용하여 점유각을 계산할 수 있다. 해당 레벨에 리프 노드가 존재하는 경우의 점유각 계산에 대하여는 도 4c 내지 도 4f를 참조하여 후술하기로 한다.
As described above, the occupancy angle of the node in the tree structure can be determined in proportion to the number of child nodes. However, according to the above method, Equation 1 can be applied only when there is no leaf node at the corresponding level. If there is a leaf node at that level, the leaf node has zero child nodes, so the occupancy angle is calculated as zero. If nodes with an occupancy angle of 0 exist in order, they are superimposed on the circumference, which can interfere with the intuitive perception of the tree structure. Referring back to FIG. 1, since there is no leaf node in level 2, i.e., nodes 201, 211, and 221 of level 2 are all the parent nodes of any node, the occupancy angle can be calculated by applying equation (1). The occupation angle calculation in the case where the leaf node exists at the corresponding level will be described later with reference to FIG. 4C to FIG. 4F.

도 4c는 도 3에 도시된 노드들 중 레벨 3의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.FIG. 4C is a diagram for explaining a first embodiment for determining an occupancy angle of nodes of level 3 among the nodes shown in FIG. 3. FIG.

도 4c를 참조하면, 레벨 3의 노드들(…, 321, …)이 x-z 평면 상에서 반지름(r3) 상의 원주 상에 배치되어 있다. 원주의 중심(O3)의 x, z 좌표는 도 4a의 원주의 중심(O1) 및 도 4b의 원주의 중심(O2)과 동일할 수 있다. 즉, 원주의 중심들(O1, O2, O3)의 x, z 좌표는 동일하고, y좌표만이 상이할 수 있다.Referring to FIG. 4C, the nodes of level 3 (..., 321, ...) are arranged on the circumference on the radius r 3 on the xz plane. The x, z coordinates of the center O 3 of the circumference may be the same as the center O 1 of the circumference of FIG. 4A and the center O 2 of the circumference of FIG. 4B. That is, the x and z coordinates of the centers (O 1 , O 2 , O 3 ) of the circumference are the same, and only the y coordinate may be different.

도 4c에서, 리프 노드는 원형의 표식으로, 리프 노드가 아닌 노드들, 즉 부모 노드들은 정사각형의 표식으로 도시되어 있다. 도시된 바와 같이, 레벨 3의 노드들 중에는 리프 노드들이 포함되어 있으며, 하나의 부모 노드(321)도 포함되어 있다.In Fig. 4C, leaf nodes are circular markers, and non-leaf nodes, i.e. parent nodes, are shown as square marks. As shown, among nodes of level 3, leaf nodes are included, and one parent node 321 is also included.

상술한 바와 같이, 레벨 3은 리프 노드를 포함하므로 위 수식 1에 기초하여 점유각을 결정하는 경우 트리 구조를 직관적으로 인식하는데 방해가 될 수 있다. 따라서, 본 발명의 제 1 실시예에서는, 동일 레벨의 전체 노드들의 점유각이 동일하게 되도록 각 노드의 점유각을 결정할 수 있다. 상기 실시예에 따르면, 도 4c에서 레벨 3의 노드들의 개수는 13개이므로, 레벨 3의 모든 노드들의 점유각을 다음과 같이 결정할 수 있다.As described above, since the level 3 includes a leaf node, it may interfere with intuitively recognizing the tree structure when the occupancy angle is determined based on the above expression (1). Therefore, in the first embodiment of the present invention, the occupancy angle of each node can be determined such that occupancy angles of all the nodes of the same level are the same. According to this embodiment, since the number of nodes of level 3 is 13 in FIG. 4C, the occupancy angle of all nodes of level 3 can be determined as follows.

Figure 112014128461742-pat00014
Figure 112014128461742-pat00014

위의 식을 일반적으로 다음 수식 5와 같이 나타낼 수 있다.The above equation can be generally expressed as the following equation (5).

Figure 112014128461742-pat00015
…………………………… (수식 5)
Figure 112014128461742-pat00015
... ... ... ... ... ... ... ... ... ... ... (Equation 5)

수식 5에서, θf는 리프 노드가 있는 레벨의 노드의 점유각, cf는 리프 노드가 있는 레벨의 노드 개수이다. 상술한 실시예에 따르면, 리프 노드가 존재하는 레벨의 경우에 자식 노드를 갖는 노드와 자식 노드를 갖지 않는 노드가 모두 존재할 수 있으므로, 자식 노드의 개수와는 상관없이 해당 레벨의 노드들에 균등하게 점유각이 분배되도록 결정할 수 있다. 도 4c를 참조하여 보면 모든 노드들이 리프 노드인지 여부와 관계없이 동일한 점유각을 갖는 것을 알 수 있다.
In Equation 5, θ f is the occupancy angle of the node having the level of the leaf node, and c f is the number of nodes of the level having the leaf node. According to the above-described embodiment, since nodes having child nodes and nodes having no child nodes exist at the level where the leaf node exists, the nodes having the leaf nodes are evenly distributed irrespective of the number of child nodes. It can be determined that the occupancy angle is distributed. Referring to FIG. 4C, it can be seen that all nodes have the same occupancy angle regardless of whether they are leaf nodes or not.

도 4d는 도 3에 도시된 노드들 중 레벨 3의 노드들의 점유각을 결정하는 제 2 실시예를 설명하기 위한 도면이다.FIG. 4D is a diagram for explaining a second embodiment for determining an occupancy angle of nodes of level 3 among the nodes shown in FIG. 3. FIG.

도 4d는 도 4c와 달리 리프 노드들의 점유각과 리프 노드가 아닌 노드(321)의 점유각이 서로 다름을 알 수 있다. 3차원상에 표시된 트리 구조를 보다 직관적으로 인식하기 위해, 리프 노드와 리프 노드가 아닌 노드가 혼재한 레벨의 경우, 리프 노드가 아닌 노드에 대해 자식 노드 만큼의 가중치를 두어서 점유각을 계산할 수 있다. 도 4d 및 도 1을 함께 참조하면, 레벨 3의 리프 노드의 개수는 12개이고, 노드(321)의 자식 노드의 개수는 4개이므로, 리프 노드의 점유각과 노드(321)의 점유각은 다음과 같이 계산할 수 있다.FIG. 4D shows that the occupancy angle of the leaf nodes is different from the occupancy angle of the node 321, not the leaf node, as in FIG. 4C. In order to more intuitively recognize the tree structure displayed on the three-dimensional level, in the case of a level where leaf nodes and non-leaf nodes are mixed, it is possible to calculate an occupancy angle by assigning weights to child nodes have. Referring to FIG. 4D and FIG. 1, since the number of leaf nodes of level 3 is 12 and the number of child nodes of node 321 is 4, the occupancy angle of the leaf node and the occupancy angle of node 321 are Can be calculated as follows.

Figure 112014128461742-pat00016
Figure 112014128461742-pat00016

Figure 112014128461742-pat00017
Figure 112014128461742-pat00017

위 수식에서, θLeaf는 레벨 3의 리프 노드의 점유각이고, θ321는 노드(321)의 점유각이다. 따라서, 리프 노드와 리프 노드가 아닌 노드가 혼재하는 레벨에서는, 리프 노드가 아닌 노드에 자식 노드만큼의 가중치를 주어서 점유각을 계산할 수 있다. In the above formula,? Leaf is the occupancy angle of the leaf node of level 3, and? 321 is the occupancy angle of the node 321. [ Therefore, at the level where leaf nodes and non-leaf nodes are mixed, it is possible to calculate the occupancy angle by assigning weights to child nodes other than the leaf nodes.

위 점유각을 계산하는 방식에 의하면, 리프 노드와 리프 노드가 아닌 노드가 혼재하는 레벨에서, 리프 노드의 점유각은 다음 수식 2와 같이 나타낼 수 있다.According to the above method of calculating the occupancy angle, the occupancy angle of the leaf node can be expressed by the following equation (2) at the level where the leaf node and the node other than the leaf node coexist.

Figure 112014128461742-pat00018
…………………………… (수식 2)
Figure 112014128461742-pat00018
... ... ... ... ... ... ... ... ... ... ... (Equation 2)

위 수식 2에서, θml은 m번째 레벨의 리프 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.In Equation 2, θ ml is the occupancy angle of the leaf node at the mth level, c ml is the number of leaf nodes at the mth level, and c m + 1 is the number of all nodes at the (m + 1) th level.

또한, 리프 노드와 리프 노드가 아닌 노드가 혼재하는 레벨에서, 리프 노드가아닌 노드의 점유각은 다음 수식 3과 같이 나타낼 수 있다.Also, at a level where leaf nodes and non-leaf nodes are mixed, the occupancy angle of a node other than the leaf node can be expressed by the following equation (3).

Figure 112014128461742-pat00019
……………………… (수식 3)
Figure 112014128461742-pat00019
... ... ... ... ... ... ... ... ... (Equation 3)

수식 3에서, θmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수, cmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수이다.
In the Formula 3, θ mk, m occupy each of the k th node in the second level non-leaf nodes, c ml are m number of the second-level leaf nodes, c m + 1 are m + 1 total number of nodes in the second level, c mk is the number of child nodes of the k-th node, not the leaf node of the m-th level.

도 4e는 도 3에 도시된 노드들 중 레벨 4의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.FIG. 4E is a view for explaining the first embodiment for determining the occupancy angle of nodes of level 4 among the nodes shown in FIG. 3. FIG.

도 4e를 참조하면, 레벨 4의 노드들(401, 402, 403, 404)이 x-z 평면 상에서 반지름(r4) 상의 원주 상에 배치되어 있다. 원주의 중심(O4)의 x, z 좌표는 도 4a의 원주의 중심(O1), 도 4b의 원주의 중심(O2) 및 도 4c의 원주의 중심(O3)과 동일할 수 있다. 즉, 원주의 중심들(O1, O2, O3, O4)의 x, z 좌표는 동일하고, y좌표만이 상이할 수 있다.4E, level 4 nodes 401, 402, 403, 404 are disposed on a circumference on a radius r 4 on the xz plane. X, z coordinates of the center of the circumference (O 4) may be the same and also the circumferential center of the 4a (O 1), also the circumferential center of the 4b (O 2) and the circumferential center of the Figure 4c (O 3) . That is, the x and z coordinates of the centers of the circumference (O 1 , O 2 , O 3 , and O 4 ) are the same, and only the y coordinates may be different.

레벨 4에는 리프 노드만이 존재한다. 이러한 리프 노드들은 자식 노드를 보유하지 않으므로 상술한 수식 1에 기초하여 점유각을 계산할 수 없다. 본 발명의 제 1 실시예에서, 리프 노드만 존재하는 레벨의 노드의 점유각은 다음 수식 4에 기초하여 계산할 수 있다. At level 4 only leaf nodes are present. Since these leaf nodes do not have child nodes, the occupancy angle can not be calculated based on the above-mentioned equation (1). In the first embodiment of the present invention, the occupancy angle of the node at the level where only the leaf node exists can be calculated based on the following equation (4).

Figure 112014128461742-pat00020
…………………………… (수식 4)
Figure 112014128461742-pat00020
... ... ... ... ... ... ... ... ... ... ... (Equation 4)

여기서, θp는 리프 노드만 있는 레벨의 노드의 점유각, cp는 리프 노드만 있는 레벨의 노드 개수이다. 위 수식 4에 따라, 레벨 4의 노드들(401, 402, 403, 404)의 점유각은 90도로 계산될 수 있다.
Here, θ p is an occupancy angle of a node having only a leaf node, and c p is the number of nodes having only a leaf node. According to Equation (4), the occupancy angle of nodes of level 4 (401, 402, 403, 404) can be calculated at 90 degrees.

도 4f는 도 3에 도시된 노드들 중 레벨 4의 노드들의 점유각을 결정하는 제 1 실시예를 설명하기 위한 도면이다.FIG. 4F is a diagram for explaining a first embodiment for determining an occupancy angle of nodes of level 4 among the nodes shown in FIG. 3. FIG.

도 4f를 참조하면, 리프 노드(401, 402, 403, 404)만이 존재하는 레벨 4에서, 전체 점유각의 합이 360도가 되지 않도록 점유각이 배정될 수 있다. 도 4f와 도 4d를 함께 참조하면, 도 4f의 리프 노드들(401, 402, 403, 404)의 점유각의 합은 도 4d의 노드(321)의 점유각과 동일할 수 있다. 상술한 방법에 의하면, 리프 노드만이 존재하는 레벨에서 리프 노드들(401, 402, 403, 404)을 그 부모 노드(321)의 점유각 내에 포함되도록 배치함으로써, 3차원으로 표시되는 트리 구조에 있어서 보다 직관적인 표시가 가능하다. 이 경우, 도 4f의 리프 노드들(401, 402, 403, 404)의 x-z 평면상의 위치 또한 도 4d의 부모 노드(321)의 점유각 내에 포함되도록 지정할 수 있다. 이는 리프 노드들(401, 402, 403, 404)과 그 부모 노드(321)의 부모-자식 관계를 보다 직관적으로 나타내기 위함이다.Referring to FIG. 4F, at the level 4 where only the leaf nodes 401, 402, 403, 404 exist, the occupancy angles can be assigned so that the sum of the total occupancy angles does not become 360 degrees. Referring to FIGS. 4F and 4D together, the sum of the occupancy angles of the leaf nodes 401, 402, 403 and 404 of FIG. 4F may be the same as the occupancy angle of the node 321 of FIG. 4D. According to the above-described method, by arranging the leaf nodes 401, 402, 403, and 404 at the level where only the leaf node is present to be included in the occupancy angle of the parent node 321, So that more intuitive display is possible. In this case, the position on the x-z plane of the leaf nodes 401, 402, 403, 404 of Fig. 4F may also be specified to be included in the occupancy angle of the parent node 321 of Fig. This is to more intuitively indicate the parent-child relationship of the leaf nodes 401, 402, 403, 404 and its parent node 321.

위와 같은 방법에서, 리프 노드만이 존재하는 레벨의 리프 노드의 점유각은 다음 수식 8과 같이 결정할 수 있다.In the above method, the occupancy angle of the leaf node at the level where only the leaf node exists can be determined as shown in the following equation (8).

Figure 112014128461742-pat00021
………… (수식 8)
Figure 112014128461742-pat00021
... ... ... ... (Equation 8)

수식 8에서, θmk는 m번째 레벨의 k번째 노드의 점유각, c(m-1)l은 m-1번째 레벨의 리프 노드의 개수, cm은 m번째 레벨의 전체 노드(즉, 리프 노드)의 개수, c(m-1)k는 m-1번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수이다.In Equation (8) ,? Mk is the occupancy angle of the k-th node at the m-th level, c (m-1) l is the number of leaf nodes at the m- (M-1) k is the number of child nodes of the k-th node that is not the leaf node at the (m-1) -th level.

위의 수식 8에 의하면, 레벨 4의 리프 노드들의 점유각은 22.5도이며, 점유각의 총합은 90도로서, 도 4d에 도시된 실시예에 따라 계산한 부모 노드(321)의 점유각인 90도와 동일하다.
According to Equation (8), the occupancy angle of the leaf nodes of the level 4 is 22.5 degrees and the sum of the occupancy angles is 90 degrees, which is the occupancy angle of the parent node 321 calculated according to the embodiment shown in FIG. same.

도 5는 도 2에 도시된 노드들의 y축 방향의 위치를 결정하는 방법을 예시적으로 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining a method for determining the position of the nodes shown in FIG. 2 in the y-axis direction.

도 5를 참조하면, 도 2에 도시된 트리 구조(2000)를 z축 방향에서 바라본 단면도가 도시되어 있으며, 도시의 편의를 위해 각 노드의 표시는 생략되었다. 루트 노드는 위치(O1)에 존재하며, 레벨 2의 노드들은 위치(O2)를 중심으로 반지름(r2)을 갖는 원주 상에 존재한다. 레벨 3의 노드들은 위치(O3)를 중심으로 반지름(r3)을 갖는 원주 상에 존재하며, 레벨 4의 노드들은 위치(O4)를 중심으로 반지름(r4)을 갖는 원주 상에 존재한다.Referring to FIG. 5, a cross-sectional view of the tree structure 2000 shown in FIG. 2 in the z-axis direction is shown, and the representation of each node is omitted for convenience of illustration. The root node is present in a position (O 1), the level 2 nodes are present on a circumference having a radius (r 2) around the position (O 2). The nodes of level 3 are on the circumference with radius (r 3 ) around position O 3 and the nodes of level 4 are on the circumference with radius (r 4 ) around position (O 4 ) do.

도 5의 실시예에서, 각 레벨들 사이의 거리들(d2, d3, d4)은 동일하며, 레벨별 반지름은 다음과 같은 관계를 만족한다.In the embodiment of Fig. 5, the distances d2, d3 and d4 between the levels are the same, and the radius per level satisfies the following relationship.

r3 = 2×r2, r4 = 3×r2 r 3 = 2 x r 2 , r 4 = 3 x r 2

즉, 레벨별 반지름은 원점으로부터의 레벨 차이에 비례하여 증가한다. 위 두가지 조건, 즉 레벨들 사이의 거리들(d2, d3, d4)과 레벨별 반지름(r2, r3, r4)에 대한 조건에 의해, 본 발명의 실시예에 따른 트리 구조는 3차원 공간에서 원뿔의 형태를 갖게 된다. That is, the radius per level increases in proportion to the level difference from the origin. The above two conditions, that is, distances (d2, d3, d4) and a radius by a level between the level by the conditions of the (r 2, r 3, r 4), a tree structure according to an embodiment of the present invention is a three-dimensional It has a conical shape in space.

도 5에 도시된 바에 의하면, 본 발명의 실시예에 따른 노드들의 y좌표는 다음 수식 9에 의해 결정될 수 있다. 5, the y-coordinates of nodes according to an embodiment of the present invention can be determined by the following equation (9).

Figure 112014128461742-pat00022
…………………………… (수식 9)
Figure 112014128461742-pat00022
... ... ... ... ... ... ... ... ... ... ... (Equation 9)

위 수식 9에서 ym은 m번째 레벨의 노드의 y좌표이고, dk는 k번째 레벨과 k-1번째 레벨 사이의 거리이다. 실시예에 따라, dk의 값이 모두 동일할 수 있다. dk의 값이 d로 모두 동일한 경우, 노드들의 y좌표는 다음 수식 10과 같이 결정될 수 있다.Where y m is the y coordinate of the mth level node, and d k is the distance between the k th level and the k-1 th level. Depending on the embodiment, the values of d k may all be the same. If the value of d k is all equal to d, then the y coordinates of the nodes can be determined as in Equation 10 below.

Figure 112014128461742-pat00023
…………………………… (수식 10)
Figure 112014128461742-pat00023
... ... ... ... ... ... ... ... ... ... ... (Equation 10)

도 6는 결정된 점유각에 기초하여 노드의 x-z 평면 상의 위치를 결정하는 방법을 예시적으로 설명하기 위한 도면이다.6 is a diagram for illustratively illustrating a method of determining a position on a x-z plane of a node based on a determined occupancy angle.

도 6을 참조하면, 원점(O)을 중심으로 반지름(r)을 갖는 원주가 도시되어 있다. 레벨에 따라 원점(O)의 y좌표 및 반지름(r)의 크기는 달라질 수 있다. 도 6에서, θ0는 레벨별 초기 각위치를 나타낸다. 실시예에 따라 θ0는 다양한 값을 가질 수 있다. θ0는 각 레벨별 첫 노드의 위치를 임의로 결정하기 위해 미리 설정된 값을 가질 수 있다.Referring to FIG. 6, a circumference having a radius r around the origin O is shown. Depending on the level, the y coordinate of the origin (O) and the size of the radius (r) may vary. In Fig. 6, &thetas; 0 represents an initial angular position by level. Depending on the embodiment, < RTI ID = 0.0 > 0 < / RTI > 0 can have a predetermined value to arbitrarily determine the position of the first node for each level.

도 6을 참조하면, 첫번째 노드의 위치(P1)는 첫번째 노드의 점유각(θ1)의 중앙에 위치하게 된다. 원주 상에서 노드 위치를 중심으로 양쪽으로 동일한 원주각만큼을 점유하도록 하기 위함이다. 따라서, 첫번째 노드의 각위치는 (θ0 + θ1/2)가 된다. 따라서, 첫 번째 노드의 x좌표는 rcos(θ0 + θ1/2) 이고, z좌표는 r×sin(θ0 + θ1/2)이다.Referring to FIG. 6, the position (P 1 ) of the first node is located at the center of the occupancy angle (? 1 ) of the first node. So as to occupy the same circumferential angle on both sides around the node position on the circumference. Thus, each location of the first node becomes (θ 0 + θ 1/2 ). Thus, x-coordinate of the first node is rcos (θ 0 + θ 1/ 2) a, z coordinates r × sin (θ 0 + θ 1/2).

마찬가지 방법으로, 두번째 노드의 위치(P2)의 각위치는 (θ0 + θ1 + θ2/2)이다. 따라서, 두 번째 노드의 x좌표는 r×cos(θ0 + θ1 + θ2/2)이고, z좌표는 r×sin(θ0 + θ1 + θ2/2)이 된다. 세 번째 노드의 x-z 평면상의 위치도 마찬가지로 구할 수 있다.In a similar way, the angular position of the location of the second node (P 2) is (θ 0 + θ 1 + θ 2/2). Thus, x-coordinate of the second node is a r × cos (θ 0 + θ 1 + θ 2/2), z coordinate is a r × sin (θ 0 + θ 1 + θ 2/2). The position of the third node on the xz plane can be similarly obtained.

위 방법에 따라, x-z 평면상의 위치는 다음 수식 6 및 7에 의해 구할 수 있다.According to the above method, the position on the x-z plane can be obtained by the following expressions (6) and (7).

Figure 112014128461742-pat00024
…………………………… (수식 6)
Figure 112014128461742-pat00024
... ... ... ... ... ... ... ... ... ... ... (Equation 6)

Figure 112014128461742-pat00025
…………………………… (수식 7)
Figure 112014128461742-pat00025
... ... ... ... ... ... ... ... ... ... ... (Equation 7)

수식 6 및 7에서, xn은 n번째 노드의 x좌표, zn은 n번째 노드의 z좌표, r은 레벨의 반지름, θn은 n번째 노드의 점유각, θ0은 레벨별 초기 각도이다.In the formula 6 and 7, x n is the x coordinate, z n the n-th node is the z coordinate, r of the n-th node is radius, θ n of the level of occupancy of each, θ 0 in the n-th node is the initial angle Levels .

도 4a 내지 도 6을 참조하여 상술한 바와 같이, 각 레벨에 포함된 노드의 점유각을 구하고, 그에 기초하여 각 노드의 x, y, z 좌표를 구할 수 있다.
As described above with reference to Figs. 4A to 6, the occupancy angle of the node included in each level can be obtained, and the x, y, and z coordinates of each node can be obtained based on the occupancy angle.

도 7은 본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하기 위한 데이터 처리 방법의 일 예를 나타내는 도면이다.7 is a diagram showing an example of a data processing method for converting a tree structure into a three-dimensional format according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 실시예에 따른 트리 구조를 3차원의 형식으로 변환하는 데이터 처리 방법은, 복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받는 단계(S110), 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계(S130), 및 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계(S150)를 포함한다. 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계(S130)에서는, 상기 노드들 중 루트 노드(root node) 및 리프 노드(leaf node)를 제외한 노드들이 해당 노드에게 배정된 점유각에 따라 동일 레벨 상에서 원형으로 배치되며, 동일 레벨 상에서 각 노드에게 할당되는 점유각은 자식 노드의 개수에 비례하여 결정된다. 단계(S150)에서는, 노드들을 각각 결정된 위치 좌표 상에 표시하고, 각 노드들의 부모-자식 관계를 선으로 표시하는 단계를 포함할 수 있다.
Referring to FIG. 7, a data processing method for converting a tree structure into a three-dimensional structure according to an embodiment of the present invention includes a step (S110) of receiving data on a tree structure composed of a plurality of nodes, (S130) of determining three-dimensional position coordinates of the nodes included in the structure (S130), and displaying the nodes on the three-dimensional coordinate system based on the determined position coordinates (S150). In step S130 of determining the three-dimensional position coordinates of the nodes included in the tree structure, the nodes other than the root node and the leaf nodes of the nodes, respectively, And an occupancy angle allocated to each node on the same level is determined in proportion to the number of child nodes. In step S150, the nodes may be displayed on the determined position coordinates, and the parent-child relationship of each node may be represented by a line.

도 8은 도 7의 방법에서 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 결정하는 방법의 일 예를 나타내는 도면이다.FIG. 8 is a diagram illustrating an example of a method for determining three-dimensional position coordinates of nodes included in a tree structure in the method of FIG.

도 8을 참조하면, 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 결정하기 위해, 레벨 간격 및 레벨별 반지름을 결정하고(S210), 루트 노드의 위치를 결정하며(S230), 상기 루트 노드의 위치 및 레벨 간격에 기초하여, 상기 트리 구조에 포함되는 노드들의 y좌표를 각각 결정하고(S230), 각 노드들의 점유각을 결정하며(S270), 상기 결정된 점유각 및 레벨별 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정한다(S290).Referring to FIG. 8, in order to determine three-dimensional position coordinates of nodes included in the tree structure, a level interval and a radius for each level are determined (S210), the position of the root node is determined (S230) The y coordinate of the nodes included in the tree structure is determined based on the position and the level interval in step S230, the occupancy angle of each node is determined in step S270, and based on the determined occupancy angle and the radius according to the level, The x coordinate and the z coordinate of the nodes included in the tree structure are respectively determined (S290).

레벨 간격 및 레벨별 반지름을 결정하는 단계(S210)에서는, 도 5를 참조하여 설명한 바와 같이 각 레벨 사이의 거리 차이 및 각 레벨별 원주 반지름을 결정할 수 있다. 루트 노드의 위치 및 레벨 간격에 기초하여, 트리 구조에 포함되는 노드들의 y좌표를 결정하는 단계(S230)에서는, 도 5를 참조하여 설명한 바와 같이 다음 수식 9에 의해 노드들의 y좌표를 결정할 수 있다. In step S210 of determining the level interval and the radius for each level, the distance difference between each level and the radius of each circumference of each level can be determined as described with reference to FIG. In step S230 of determining the y coordinate of the nodes included in the tree structure based on the position of the root node and the level interval, the y coordinate of the nodes can be determined by the following equation (9) .

Figure 112014128461742-pat00026
…………………………… (수식 9)
Figure 112014128461742-pat00026
... ... ... ... ... ... ... ... ... ... ... (Equation 9)

위 수식 9에서 ym은 m번째 레벨의 노드의 y좌표이고, dk는 k번째 레벨과 k-1번째 레벨 사이의 거리이다.Where y m is the y coordinate of the mth level node, and d k is the distance between the k th level and the k-1 th level.

또한, 각 노드들의 점유각을 결정하는 단계(S270)에서는 도 4a 내지 도 4f를 참조하여 설명한 바와 같이 점유각을 결정할 수 있다. 상기 결정된 점유각 및 레벨별 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정하는 단계(S290)에서는, 다음 수식 6 및 수식 7에 의해 노드의 x좌표 및 z좌표를 결정할 수 있다.In the step S270 of determining the occupancy angle of each node, the occupancy angle can be determined as described with reference to Figs. 4A to 4F. In the step S290 of determining the x coordinate and the z coordinate of the nodes included in the tree structure based on the determined occupancy angle and the radius for each level, the x coordinate and the z coordinate of the node are calculated by the following equations (6) Can be determined.

Figure 112014128461742-pat00027
…………………………… (수식 6)
Figure 112014128461742-pat00027
... ... ... ... ... ... ... ... ... ... ... (Equation 6)

Figure 112014128461742-pat00028
…………………………… (수식 7)
Figure 112014128461742-pat00028
... ... ... ... ... ... ... ... ... ... ... (Equation 7)

수식 6 및 수식 7에서, xn은 n번째 노드의 x좌표, zn은 n번째 노드의 z좌표, r은 레벨의 반지름, θn은 n번째 노드의 점유각, θ0은 레벨별 초기 각도이다.
In the formula 6 and the formula 7, x n is the n-th x-coordinate of the node, z n the n-th node, z coordinates, r is radius, θ n is n occupy each, θ 0 in the first node of the level of the initial angular Levels to be.

도 9a는 도 8의 방법에서 트리 구조에 포함되는 노드들의 점유각을 결정하는 방법의 제 1 실시예를 나타내는 도면이다.9A is a diagram showing a first embodiment of a method for determining an occupancy angle of nodes included in a tree structure in the method of FIG.

도 9a에 의하면, 먼저 해당 노드가 루트 노드인지 판단한다(S310). 해당 노드가 루트 노드이면, 점유각을 360도로 결정한다(S315). 해당 노드가 루트 노드가 아니면, 동일 레벨에 리프 노드가 있는지 판단한다(S320). 동일 레벨에 리프 노드가 없으면, 다음 수식 1에 따라 점유각을 결정한다(S325).Referring to FIG. 9A, it is determined whether the corresponding node is a root node (S310). If the node is the root node, the occupancy angle is determined 360 degrees (S315). If the node is not a root node, it is determined whether there is a leaf node at the same level (S320). If there is no leaf node at the same level, the occupancy angle is determined according to the following equation (S325).

Figure 112014128461742-pat00029
…………………………… (수식 1)
Figure 112014128461742-pat00029
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

여기서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.Where mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + 1 is the number of all nodes at the m + to be.

동일 레벨에 리프 노드가 있으면, 다음 수식 5에 따라 점유각을 결정한다(S330).If there is a leaf node at the same level, the occupancy angle is determined according to the following equation (S330).

Figure 112014128461742-pat00030
…………………………… (수식 5)
Figure 112014128461742-pat00030
... ... ... ... ... ... ... ... ... ... ... (Equation 5)

여기서, θf는 리프 노드가 있는 레벨의 노드의 점유각, cf는 리프 노드가 있는 레벨의 노드 개수이다.Here, θ f is the occupancy angle of the node having the level of the leaf node, and c f is the number of nodes having the level of the leaf node.

단계(S325)에서는, 도 4b를 참조하여 설명한 방식에 따라 노드의 점유각을 결정할 수 있으며, 단계(S330)에서는, 도 4c를 참조하여 설명한 방식에 따라 노드의 점유각을 결정할 수 있다.
In step S325, the occupancy angle of the node can be determined according to the method described with reference to FIG. 4B. In step S330, the occupancy angle of the node can be determined according to the method described with reference to FIG.

도 9b는 도 8의 방법에서 트리 구조에 포함되는 노드들의 점유각을 결정하는 방법의 제 2 실시예를 나타내는 도면이다.FIG. 9B is a diagram showing a second embodiment of a method for determining an occupancy angle of nodes included in a tree structure in the method of FIG. 8. FIG.

도 9b에 의하면, 먼저 해당 노드가 루트 노드인지 판단한다(S410). 해당 노드가 루트 노드이면, 점유각을 360도로 결정한다(S415). 해당 노드가 루트 노드가 아니면, 동일 레벨에 리프 노드가 있는지 판단한다(S420). 동일 레벨에 리프 노드가 없으면, 다음 수식 1에 따라 점유각을 결정한다(S325).Referring to FIG. 9B, it is determined whether the corresponding node is a root node (S410). If the node is the root node, the occupancy angle is determined 360 degrees (S415). If the node is not a root node, it is determined whether there is a leaf node at the same level (S420). If there is no leaf node at the same level, the occupancy angle is determined according to the following equation (S325).

Figure 112014128461742-pat00031
…………………………… (수식 1)
Figure 112014128461742-pat00031
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

여기서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.Where mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + 1 is the number of all nodes at the m + to be.

동일 레벨에 리프 노드가 있으면, 동일 레벨에 리프 노드만 있는지 판단한다(S430). 동일 레벨에 리프 노드만 있으면, 다음 수식 4에 따라 점유각을 결정한다(S435). If there is a leaf node at the same level, it is determined whether there is only a leaf node at the same level (S430). If there is only a leaf node at the same level, the occupancy angle is determined according to the following equation (S435).

Figure 112014128461742-pat00032
…………………………… (수식 4)
Figure 112014128461742-pat00032
... ... ... ... ... ... ... ... ... ... ... (Equation 4)

여기서, θp는 리프 노드만 있는 레벨의 노드의 점유각, cp는 리프 노드만 있는 레벨의 노드 개수이다.Here, θ p is an occupancy angle of a node having only a leaf node, and c p is the number of nodes having only a leaf node.

동일 레벨이 리프 노드와 리프 노드가 아닌 노드가 혼재하는 경우, 해당 노드가 리프 노드인지 판단한다(S440). 해당 노드가 리프 노드이면, 다음 수식 2에 따라 점유각을 결정한다(S445). If the leaf nodes and the non-leaf nodes coexist at the same level, it is determined whether the corresponding node is a leaf node (S440). If the node is a leaf node, the occupancy angle is determined according to the following equation (S445).

Figure 112014128461742-pat00033
…………………………… (수식 2)
Figure 112014128461742-pat00033
... ... ... ... ... ... ... ... ... ... ... (Equation 2)

여기서, θml은 m번째 레벨의 리프 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.Here, θ ml is the occupancy angle of the leaf node at the mth level, c ml is the number of leaf nodes at the mth level, and c m + 1 is the number of all nodes at the (m + 1) th level.

해당 노드가 리프 노드가 아니면, 다음 수식 3에 따라 점유각을 결정한다(S450).If the corresponding node is not a leaf node, an occupancy angle is determined according to the following equation (S450).

Figure 112014128461742-pat00034
……………………… (수식 3)
Figure 112014128461742-pat00034
... ... ... ... ... ... ... ... ... (Equation 3)

여기서, θmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 점유각, cml은 m번째 레벨의 리프 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수, cmk는 m번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수이다.Here, θ mk is m number, c mk for all the nodes of the occupation angle of the k-th node is not a leaf node in the second level, c ml are m number, c m + 1 of the second level leaf nodes, m + 1-th level, is the number of child nodes of the k-th node other than the leaf node of the m-th level.

단계(S425)에서는, 도 4b를 참조하여 설명한 방식에 따라 노드의 점유각을 결정할 수 있고, 단계(S435)에서는, 도 4e를 참조하여 설명한 방식에 따라 노드의 점유각을 결정할 수 있다. 단계(S445) 및 단계(S450)에서는, 도 4d를 참조하여 설명한 방식에 따라 노드의 점유각을 결정할 수 있다.
In step S425, the occupancy angle of the node can be determined according to the method described with reference to Fig. 4B. In step S435, the occupancy angle of the node can be determined according to the method described with reference to Fig. 4E. In steps S445 and S450, the occupancy angle of the node can be determined according to the method described with reference to FIG. 4D.

전술한 바와 같이, 해당 레벨에 리프 노드만 있는 경우, 도 4e를 참조하여 설명한 바와 같이 수식 4에 기초하여 리프 노드의 점유각을 결정할 수도 있고, 도 4f를 참조하여 설명한 바와 같이 수식 8에 기초하여 리프 노드의 점유각을 결정할 수도 있다. 따라서, 단계(S435)에서는, 수식 4에 따라 점유각을 결정하는 방식을 대신하여, 다음 수식 8에 따라 점유각을 결정할 수도 있다.As described above, if there is only a leaf node at the corresponding level, the occupancy angle of the leaf node may be determined based on Equation 4 as described with reference to Fig. 4E, and based on Equation 8 as described with reference to Fig. The occupancy angle of the leaf node may be determined. Therefore, in step S435, instead of the method of determining the occupancy angle according to equation (4), the occupancy angle may be determined according to the following equation (8).

Figure 112014128461742-pat00035
………… (수식 8)
Figure 112014128461742-pat00035
... ... ... ... (Equation 8)

수식 8에서, θmk는 m번째 레벨의 k번째 노드의 점유각, c(m-1)l은 m-1번째 레벨의 리프 노드의 개수, cm은 m번째 레벨의 전체 노드(즉, 리프 노드)의 개수, c(m-1)k는 m-1번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수이다.In Equation (8) ,? Mk is the occupancy angle of the k-th node at the m-th level, c (m-1) l is the number of leaf nodes at the m- (M-1) k is the number of child nodes of the k-th node that is not the leaf node at the (m-1) -th level.

본 발명의 다른 실시예에 따른 컴퓨터 판독 가능한 기록 매체는 트리 구조를 3차원의 형식으로 표시하는 데이터 처리 방법을 컴퓨터 상에서 실행하기 위한 전자적 코드를 기록한다. 상기 전자적 기록 코드는 복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받고, 상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하며, 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 동작을 컴퓨터 상에서 실행하도록 할 수 있다. 여기서, 상기 노드들 중 루트 노드(root node) 및 리프 노드(leaf node)를 제외한 노드들은 해당 노드에게 배정된 점유각에 따라 동일 레벨 상에서 원형으로 배치되며, 동일 레벨 상에서 각 노드에게 할당되는 점유각은 자식 노드의 개수에 비례하여 결정된다.A computer-readable recording medium according to another embodiment of the present invention records an electronic code for executing a data processing method for displaying a tree structure in a three-dimensional format on a computer. Wherein the electronic record code receives data relating to a tree structure composed of a plurality of nodes, determines three-dimensional position coordinates of the nodes included in the tree structure, respectively, and determines the nodes based on the determined position coordinates It is possible to cause the computer to perform an operation of displaying on the coordinate system. Herein, the nodes other than the root node and the leaf node are arranged in a circle on the same level according to the occupancy angle assigned to the corresponding node, and the occupancy angle assigned to each node on the same level Is determined in proportion to the number of child nodes.

위 실시예에서, 상기 전자적 코드는 상기 노드에게 배정되는 점유각을 다음 수식 1에 의해 결정되도록 할 수 있다.In the above embodiment, the electronic code may make the occupancy angle assigned to the node determined by the following equation.

Figure 112014128461742-pat00036
…………………………… (수식 1)
Figure 112014128461742-pat00036
... ... ... ... ... ... ... ... ... ... ... (Equation 1)

수식 1에서, θmn은 m번째 레벨의 n번째 노드의 점유각, cmn은 m번째 레벨의 n번째 노드의 자식(child) 노드의 개수, cm+1은 m+1번째 레벨의 전체 노드의 개수이다.
In Equation 1, θ mn is the occupancy angle of the n-th node at the m-th level, c mn is the number of child nodes of the n-th node at the m-th level, c m + .

이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터를 이용하거나 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터를 이용하거나 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this point, it will be appreciated that the combinations of blocks and flowchart illustrations in the process flow diagrams may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, so that those instructions, which are executed through a processor of a computer or other programmable data processing apparatus, Thereby creating means for performing functions. These computer program instructions may be stored in a computer readable memory or in a computer capable of directing a computer or other programmable data processing apparatus to implement a function in a particular manner, It is also possible for instructions stored in memory to produce manufacturing items that contain instruction means for performing the functions described in the flowchart block (s). Computer program instructions may also be stored on a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible for the instructions to perform the processing equipment to provide steps for executing the functions described in the flowchart block (s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, the functions mentioned in the blocks may occur out of order. For example, two blocks shown in succession may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.

이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.Herein, the term " part " used in the present embodiment means a hardware component such as software or an FPGA or an ASIC, and 'part' performs certain roles. However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and components may be further combined with a smaller number of components and components or further components and components. In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.

본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.The embodiments of the present invention disclosed in the present specification and drawings are merely illustrative examples of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

101: 루트 노드 1000: 일반적인 트리 구조
2000: 3차원 상에 표시된 트리 구조
101: root node 1000: general tree structure
2000: tree structure displayed on three dimensions

Claims (13)

트리 구조를 3차원의 형식으로 변환하는 데이터 처리 방법에 있어서,
복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받는 단계;
상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계 - 동일 레벨의 노드들은 해당 레벨에 대응하는 하나의 원의 원주 상에서 각 노드에 배정된 점유각에 따라 배치되며, 상기 점유각은 자식 노드의 개수에 비례하여 결정됨 - ; 및
상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하되,
상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하는 단계는:
레벨 간격 및 각 레벨에 대응하는 반지름을 결정하는 단계;
루트 노드의 위치를 결정하는 단계;
상기 루트 노드의 위치 및 상기 레벨 간격에 기초하여, 상기 트리 구조에 포함되는 노드들의 y좌표를 각각 결정하는 단계;
각 노드에 대하여 상기 점유각을 결정하는 단계; 및
상기 점유각 및 상기 각 레벨에 대응하는 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정하는 단계를 포함하는 단계를 포함하는, 데이터 처리 방법.
A data processing method for converting a tree structure into a three-dimensional format,
The method comprising: receiving data related to a tree structure composed of a plurality of nodes;
Determining three-dimensional position coordinates of nodes included in the tree structure, the nodes having the same level are arranged according to an occupancy angle assigned to each node on a circumference of one circle corresponding to the level, Determined in proportion to the number of child nodes; And
Displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates,
Wherein determining the three-dimensional position coordinates of the nodes included in the tree structure comprises:
Determining a level interval and a radius corresponding to each level;
Determining a location of a root node;
Determining y coordinates of nodes included in the tree structure based on the position of the root node and the level interval;
Determining the occupancy angle for each node; And
Determining an x coordinate and a z coordinate of nodes included in the tree structure based on the occupancy angle and the radius corresponding to the respective level.
삭제delete 제 1 항에 있어서,
상기 점유각은 다음 수식 1에 의해 결정되는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112016055778384-pat00037
…………………………… (수식 1)
θmn: m번째 레벨의 n번째 노드의 점유각
cmn: m번째 레벨의 n번째 노드의 자식(child) 노드의 개수
cm+1: m+1번째 레벨의 전체 노드의 개수
The method according to claim 1,
Wherein the occupancy angle is determined by the following equation (1).
Figure 112016055778384-pat00037
... ... ... ... ... ... ... ... ... ... ... (Equation 1)
θ mn : occupancy angle of the n-th node at the m-th level
c mn : the number of child nodes of the nth node at the mth level
c m + 1 : total number of nodes in the (m + 1) th level
트리 구조를 3차원의 형식으로 표시하는 데이터 처리 방법에 있어서,
복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받는 단계;
상기 트리 구조의 레벨 간격 및 각 레벨에 대응하는 반지름을 결정하는 단계;
루트 노드의 위치를 결정하는 단계;
자식 노드의 개수에 기초하여, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계;
동일 레벨의 노드들을 해당 레벨에 대응하는 하나의 원의 원주 상에서 상기 점유각에 따라 배치하는 단계;
상기 배치된 결과에 따라, 상기 트리 구조에 포함되는 노드들의 좌표를 결정하는 단계; 및
상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계를 포함하되,
상기 트리 구조에 포함되는 노드들의 좌표를 결정하는 단계는,
상기 루트 노드의 위치 및 상기 레벨 간격에 기초하여, 상기 트리 구조에 포함되는 노드들의 y좌표를 각각 결정하는 단계; 및
상기 점유각 및 상기 각 레벨에 대응하는 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정하는 단계를 포함하는, 데이터 처리 방법.
A data processing method for displaying a tree structure in a three-dimensional format,
The method comprising: receiving data related to a tree structure composed of a plurality of nodes;
Determining a level interval of the tree structure and a radius corresponding to each level;
Determining a location of a root node;
Determining an occupancy angle of nodes included in the tree structure based on the number of child nodes;
Arranging nodes of the same level according to the occupancy angle on a circumference of one circle corresponding to the level;
Determining coordinates of nodes included in the tree structure according to the arranged results; And
And displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates,
Wherein the step of determining the coordinates of the nodes included in the tree structure comprises:
Determining y coordinates of nodes included in the tree structure based on the position of the root node and the level interval; And
Determining an x coordinate and a z coordinate of nodes included in the tree structure based on the occupancy angle and the radius corresponding to the respective levels.
제 4 항에 있어서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 1에 의해 리프 노드(leaf node)가 없는 레벨의 노드들의 점유각을 결정하는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112014128461742-pat00038
…………………………… (수식 1)
θmn: m번째 레벨의 n번째 노드의 점유각
cmn: m번째 레벨의 n번째 노드의 자식(child) 노드의 개수
cm+1: m+1번째 레벨의 전체 노드의 개수
The method according to claim 4, wherein, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of nodes having no leaf node is determined by the following equation (1) Processing method.
Figure 112014128461742-pat00038
... ... ... ... ... ... ... ... ... ... ... (Equation 1)
θ mn : occupancy angle of the n-th node at the m-th level
c mn : the number of child nodes of the nth node at the mth level
c m + 1 : total number of nodes in the (m + 1) th level
제 5 항에 있어서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 2에 의해 리프 노드(leaf node)가 있는 레벨의 노드들 중 리프 노드의 점유각을 결정하는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112014128461742-pat00039
…………………………… (수식 2)
θml: m번째 레벨의 리프 노드의 점유각
cml: m번째 레벨의 리프 노드의 개수
cm+1: m+1번째 레벨의 전체 노드의 개수
The method according to claim 5, wherein, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a leaf node among nodes having a leaf node is determined according to Equation (2) .
Figure 112014128461742-pat00039
... ... ... ... ... ... ... ... ... ... ... (Equation 2)
θ ml : occupancy angle of the leaf node at the mth level
c ml : Number of leaf nodes at the mth level
c m + 1 : total number of nodes in the (m + 1) th level
제 6 항에 있어서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 3에 의해 리프 노드(leaf node)가 있는 레벨의 노드들 중 리프 노드가 아닌 노드의 점유각을 결정하는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112014128461742-pat00040
……………………… (수식 3)
θmk: m번째 레벨의 리프 노드 아닌 k번째 노드의 점유각
cml: m번째 레벨의 리프 노드의 개수
cm+1: m+1번째 레벨의 전체 노드의 개수
cmk: m번째 레벨의 리프 노드 아닌 k번째 노드의 자식 노드의 개수
The method as claimed in claim 6, wherein, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a node other than a leaf node among nodes having a leaf node is determined The data processing method comprising the steps of:
Figure 112014128461742-pat00040
... ... ... ... ... ... ... ... ... (Equation 3)
θ mk : Occurrence angle of the kth node that is not the leaf node of the mth level
c ml : Number of leaf nodes at the mth level
c m + 1 : total number of nodes in the (m + 1) th level
c mk : the number of child nodes of the k-th node other than the leaf node at the m-th level
제 5 항에 있어서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 4에 의해 리프 노드(leaf node)만 있는 레벨의 노드의 점유각을 결정하는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112014128461742-pat00041
…………………………… (수식 4)
θp: 리프 노드만 있는 레벨의 노드의 점유각
cp: 리프 노드만 있는 레벨의 노드 개수
6. The method according to claim 5, wherein, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a node having only a leaf node is determined by the following equation (4) Processing method.
Figure 112014128461742-pat00041
... ... ... ... ... ... ... ... ... ... ... (Equation 4)
θ p : Occurrence angle of the node with the level of the leaf node only
c p : Number of nodes at level with only leaf nodes
제 5 항에 있어서, 상기 트리 구조에 포함되는 노드들의 점유각을 결정하는 단계에서는, 다음 수식 5에 의해 리프 노드(leaf node)가 있는 레벨의 노드의 점유각을 결정하는 것을 특징으로 하는, 데이터 처리 방법.
Figure 112014128461742-pat00042
…………………………… (수식 5)
θf: 리프 노드가 있는 레벨의 노드의 점유각
cf: 리프 노드가 있는 레벨의 노드 개수
The method according to claim 5, wherein, in the step of determining an occupancy angle of nodes included in the tree structure, an occupancy angle of a node having a leaf node is determined by the following equation (5) Processing method.
Figure 112014128461742-pat00042
... ... ... ... ... ... ... ... ... ... ... (Equation 5)
θ f : Occurrence angle of node at level with leaf node
c f : Number of nodes at the level where the leaf node is located
제 4 항에 있어서, 상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 단계는:
상기 노드들을 각각의 결정된 위치 좌표 상에 표시하는 단계; 및
각 노드들의 부모-자식 관계를 선으로 표시하는 단계를 포함하는, 데이터 처리 방법.
5. The method of claim 4, wherein displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates comprises:
Displaying the nodes on respective determined location coordinates; And
And displaying the parent-child relationship of each node in a line.
제 4 항에 있어서, 상기 배치된 결과에 따라, 상기 트리 구조에 포함되는 노드들의 좌표를 결정하는 단계는:
노드들의 y좌표를 결정하는 단계;
다음 수식 6에 의해 각 노드의 x좌표를 결정하는 단계; 및
다음 수식 7에 의해 각 노드의 z좌표를 결정하는 단계를 포함하는, 데이터 처리 방법.
Figure 112016001776541-pat00043
…………………………… (수식 6)
Figure 112016001776541-pat00044
…………………………… (수식 7)
xn: n번째 노드의 x좌표,
zn: n번째 노드의 z좌표,
r: 레벨의 반지름,
θn: n번째 노드의 점유각
θ0: 레벨별 초기 각도
5. The method of claim 4, wherein determining coordinates of nodes included in the tree structure according to the arranged results comprises:
Determining y coordinates of nodes;
Determining an x coordinate of each node according to Equation (6); And
And determining the z coordinate of each node by the following equation (7).
Figure 112016001776541-pat00043
... ... ... ... ... ... ... ... ... ... ... (Equation 6)
Figure 112016001776541-pat00044
... ... ... ... ... ... ... ... ... ... ... (Equation 7)
x n : x coordinate of the nth node,
z n : z coordinate of the nth node,
r: radius of the level,
θ n : occupancy angle of the n-th node
θ 0 : Initial angle by level
트리 구조를 3차원의 형식으로 표시하는 데이터 처리 방법을 컴퓨터 상에서 실행하기 위한 전자적 코드를 기록한 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 전자적 기록 코드는,
복수의 노드들로 구성되는 트리 구조에 관한 데이터를 입력받고,
상기 트리 구조에 포함되는 노드들의 3차원 위치 좌표를 각각 결정하며 - 동일 레벨의 노드들은 해당 레벨에 대응하는 하나의 원의 원주 상에서 각 노드에 배정된 점유각에 따라 배치되며, 상기 점유각은 자식 노드의 개수에 비례하여 결정됨 -,
상기 결정된 위치 좌표에 기초하여 상기 노드들을 3차원 좌표계에 표시하는 동작을 컴퓨터 상에서 실행하도록 하되,
상기 노드들의 3차원 위치 좌표를 각각 결정함에 있어서,
레벨 간격 및 각 레벨에 대응하는 반지름을 결정하고, 루트 노드의 위치를 결정하고, 상기 루트 노드의 위치 및 상기 레벨 간격에 기초하여, 상기 트리 구조에 포함되는 노드들의 y좌표를 각각 결정하고, 각 노드에 대하여 상기 점유각을 결정하고, 상기 점유각 및 상기 각 레벨에 대응하는 반지름에 기초하여, 상기 트리 구조에 포함되는 노드들의 x좌표 및 z좌표를 각각 결정하는, 컴퓨터 판독 가능한 기록 매체.
A computer-readable recording medium storing an electronic code for executing a data processing method for displaying a tree structure in a three-dimensional format on a computer,
Receiving data related to a tree structure composed of a plurality of nodes,
Dimensional position coordinates of the nodes included in the tree structure, the nodes of the same level being arranged according to occupancy angles assigned to the respective nodes on a circumference of one circle corresponding to the level, Determined in proportion to the number of nodes -
And displaying the nodes in a three-dimensional coordinate system based on the determined position coordinates,
In determining the three-dimensional position coordinates of the nodes,
Determine a y-coordinate of the nodes included in the tree structure based on the position of the root node and the level interval, Determining an occupancy angle for a node, and determining an x coordinate and a z coordinate of nodes included in the tree structure, respectively, based on the occupancy angle and the radius corresponding to the respective levels.
제 12 항에 있어서,
상기 점유각은 다음 수식 1에 의해 결정되는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.
Figure 112016001776541-pat00045
…………………………… (수식 1)
θmn: m번째 레벨의 n번째 노드의 점유각
cmn: m번째 레벨의 n번째 노드의 자식(child) 노드의 개수
cm+1: m+1번째 레벨의 전체 노드의 개수
13. The method of claim 12,
Characterized in that said occupancy angle is determined by the following equation (1).
Figure 112016001776541-pat00045
... ... ... ... ... ... ... ... ... ... ... (Equation 1)
θ mn : occupancy angle of the n-th node at the m-th level
c mn : the number of child nodes of the nth node at the mth level
c m + 1 : total number of nodes in the (m + 1) th level
KR1020140195064A 2014-12-31 2014-12-31 Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof KR101637233B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140195064A KR101637233B1 (en) 2014-12-31 2014-12-31 Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140195064A KR101637233B1 (en) 2014-12-31 2014-12-31 Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof

Publications (1)

Publication Number Publication Date
KR101637233B1 true KR101637233B1 (en) 2016-07-08

Family

ID=56504610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140195064A KR101637233B1 (en) 2014-12-31 2014-12-31 Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof

Country Status (1)

Country Link
KR (1) KR101637233B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101859540B1 (en) * 2017-03-27 2018-05-18 주식회사 나임네트웍스 Method for managing software defined data cevter network and server
KR20200127600A (en) * 2019-05-03 2020-11-11 한국항공대학교산학협력단 Node grouping device and method for reducing storage usage of block-chain data and devices and methods for data distributed storage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05205063A (en) * 1992-01-28 1993-08-13 Sony Corp Method for displaying hierarchically structured information
JP2008259185A (en) * 2007-03-30 2008-10-23 Tektronix Inc Network node detecting method, topology detecting method and network node positioning method
KR20140103531A (en) * 2013-02-18 2014-08-27 주식회사 시큐아이 Data processing method for conversion 2 dimensional tree structure to 3 dimensional tree structure and computer readable recording medium for assesment automization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05205063A (en) * 1992-01-28 1993-08-13 Sony Corp Method for displaying hierarchically structured information
JP2008259185A (en) * 2007-03-30 2008-10-23 Tektronix Inc Network node detecting method, topology detecting method and network node positioning method
KR20140103531A (en) * 2013-02-18 2014-08-27 주식회사 시큐아이 Data processing method for conversion 2 dimensional tree structure to 3 dimensional tree structure and computer readable recording medium for assesment automization

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101859540B1 (en) * 2017-03-27 2018-05-18 주식회사 나임네트웍스 Method for managing software defined data cevter network and server
KR20200127600A (en) * 2019-05-03 2020-11-11 한국항공대학교산학협력단 Node grouping device and method for reducing storage usage of block-chain data and devices and methods for data distributed storage
KR102201389B1 (en) * 2019-05-03 2021-01-11 한국항공대학교산학협력단 Node grouping device and method for reducing storage usage of block-chain data and devices and methods for data distributed storage

Similar Documents

Publication Publication Date Title
US9417070B1 (en) Systems and methods for continuous replanning of vehicle trajectories
US20160117858A1 (en) Computing device and method for simplifying point cloud of object
JP2019537178A5 (en)
US10867251B2 (en) Estimation results display system, estimation results display method, and estimation results display program
KR101637233B1 (en) Data processing method for converting tree structure to 3 dimensional structure and computer readable recording medium thereof
CN104941180A (en) Collision detecting method and device for 2D games
WO2018089435A3 (en) Using map information to smooth objects generated from sensor data
US10354041B2 (en) Process for improving capacitance extraction performance
CN106293276A (en) The vigour of style in writing based on infrared touch-control determines method, device and touch-screen system
CN104008122A (en) Dynamic multi-stage pie chart display method of layering data
JP2014524170A5 (en)
JP5130920B2 (en) Link matching system, method, and program
EP3211569A1 (en) Estimation results display system, estimation results display method, and estimation results display program
US10062193B2 (en) Attribute based map marker clustering
KR101966343B1 (en) 3D space visualization apparatus and method
JP2016515741A (en) Pan and scaling detection during multi-finger touch interaction
US10169473B2 (en) Packaged searching system and method
JP6055758B2 (en) Icon display program and icon display device
KR101448865B1 (en) Data processing method for conversion 2 dimensional tree structure to 3 dimensional tree structure and computer readable recording medium for assesment automization
JP6320638B2 (en) 3D point group selection device and 3D point group selection method
US20200244943A1 (en) Graphical user interface for indicating off-screen points of interest
US10482635B2 (en) Chart labeling system
KR101540768B1 (en) System for input attribute information to program for structural design analysis and method thereof
CN102063697A (en) Method and device for positioning auto arrange of object
US10830594B2 (en) Updating missing attributes in navigational map data via polyline geometry matching

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant