KR101137924B1 - Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same - Google Patents

Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same Download PDF

Info

Publication number
KR101137924B1
KR101137924B1 KR1020100033409A KR20100033409A KR101137924B1 KR 101137924 B1 KR101137924 B1 KR 101137924B1 KR 1020100033409 A KR1020100033409 A KR 1020100033409A KR 20100033409 A KR20100033409 A KR 20100033409A KR 101137924 B1 KR101137924 B1 KR 101137924B1
Authority
KR
South Korea
Prior art keywords
mesh
boundary
vertex
vertices
vector
Prior art date
Application number
KR1020100033409A
Other languages
Korean (ko)
Other versions
KR20110114012A (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 KR1020100033409A priority Critical patent/KR101137924B1/en
Publication of KR20110114012A publication Critical patent/KR20110114012A/en
Application granted granted Critical
Publication of KR101137924B1 publication Critical patent/KR101137924B1/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
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명의 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법 은, 경계가 있는 메쉬(mesh)의 정점들을 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계; 메쉬의 각 변위에 무작위(random) 정점을 생성하고, 생성된 무작위 정점들의 법벡터를 각각 계산하는 단계; 메쉬의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시키는 단계; 모든 정점들을 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계; 혼합비율 벡터를 입력받는 단계; 및 혼합비율 벡터와 무작위 단위 벡터를 이용하여 모든 정점들을 이동시키는 단계를 포함한다.The three-dimensional surface generation method for modeling a Korean traditional stone wall with a boundary of the present invention calculates a unit law vector of each vertex by dividing a vertex of a boundary mesh into a mesh boundary and a case where it is not. Making; Generating random vertices at each displacement of the mesh, and calculating law vectors of the generated random vertices, respectively; Moving all vertices of the mesh in their respective law vector directions; Generating a random unit vector of each random vertex by dividing all vertices into and from the mesh boundary; Receiving a mixing ratio vector; And moving all vertices using the blending ratio vector and the random unit vector.

Description

경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법 및 이를 위한 기록매체{Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same}Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same}

본 발명은 경계가 있는 3차원 표면 생성 방법 및 이를 위한 기록매체에 관한 것이다. 보다 상세하게는, 경계가 있는 메쉬를 이용하여 울퉁불퉁하게 부분적으로 편향성을 갖는 3차원의 표면을 생성하는 방법 및 이를 위한 기록매체에 관한 것이다.The present invention relates to a three-dimensional surface generation method having a boundary and a recording medium therefor. More particularly, the present invention relates to a method of generating a three-dimensional surface having an unevenly partial deflection by using a boundary mesh and a recording medium therefor.

일반적으로 실세계의 객체를 컴퓨터 모니터와 같은 디지털화된 디스플레이 장치에 그리기 위해서는 해당 객체의 겉 표면을 컴퓨터에서 표현 가능한 점과 선으로만 유사하게 만들어야 한다. 보통 삼각형이나 사각형과 같은 다각형을 이어 붙여 패치를 만드는 방법을 사용하는데, 이와 같은 방법은 모델링 디자이너의 많은 수작업을 필요로 하며, 이러한 이유로 3차원 컴퓨터 그래픽을 위한 객체의 생성은 전통적으로 모델링 디자이너의 많은 노동에 의해서 생산되어 왔다. 이는 근접 거리에서 사물을 관찰하는 상황이 되었을 때 여전히 현실감을 가지게 하기 위하여 많은 정점과 다각형들로 세밀하게 묘사하려고 했기 때문이다.In general, in order to draw a real-world object on a digitized display device such as a computer monitor, it is necessary to make the surface of the object similar only with points and lines that can be expressed on a computer. Usually, a patch is made by joining polygons such as triangles or rectangles, which requires a lot of manual work by the modeling designer. For this reason, the creation of objects for 3D computer graphics is traditionally used by many modeling designers. It has been produced by labor. This is because they tried to describe in detail many vertices and polygons in order to have a realistic feeling when the objects were observed at close range.

하지만, 근래에 곡면에 대한 적은 수의 제어점들의 정보만을 사용하여 본래의 객체를 묘사하려는 곡면 생성 알고리즘들이 개발되었으며, 이로 인해 모델링 디자이너들의 많은 수고를 덜어주었다.In recent years, however, surface generation algorithms have been developed that attempt to describe the original object using only a small number of control points on the surface, which saves a lot of effort from modeling designers.

대표적인 것 중 하나가 베지어 곡면이며 이의 자세한 방법은 많은 3D 그래픽 이론 서적들에서 잘 설명되어 있으며, 일 예로 J. Foley 등의 "Computer Graphics: Principles and Practice", Second Edition(Addison-Wesley Publishing Company, Inc., 1996)에도 잘 설명되어 있다.One of the most representative is Bezier surfaces, the details of which are well described in many 3D graphics theory books. For example, J. Foley et al., "Computer Graphics: Principles and Practice", Second Edition (Addison-Wesley Publishing Company, Inc., 1996).

또한, 유사한 알고리즘으로 지형생성(Terrain Generation) 알고리즘과 변위분할곡면(Displaced subdivision Surface) 알고리즘이 있다. 지형생성 알고리즘은 주어진 사각형 영역을 일정한 간격의 격자점들로 나누고, 각 격자영역에 높이 정보를 지정함으로써 생성하는 방식이다. 이에 대한 자세한 내용은 David H. Eberly 의 "3D Game Engine Design" (Morgan Kaufmann Publishers, 2001)의 11장 부분에 자세하게 기재되어 있다. 변위분할곡면 알고리즘은 세부적으로 울퉁불퉁한 부분이 있는 경우의 곡면 생성방법에 관한 것이다. Similar algorithms include the Terrain Generation algorithm and the Displaced subdivision Surface algorithm. The terrain generation algorithm divides a given rectangular area into grid points of regular intervals and generates height information for each grid area. This is described in detail in Chapter 11 of David H. Eberly's "3D Game Engine Design" (Morgan Kaufmann Publishers, 2001). The displacement dividing surface algorithm relates to a method for generating a surface when there are irregularities in detail.

조금 더 널리 쓰이는 방법은 범프 매핑(bump mapping) 방법으로써 픽셀에서의 법선 벡터를 변경시켜 음영효과만을 바꾸는 일종의 트릭이다. 범프 매핑에서 한 단계 더 나아간 것이 곡면의 부분을 이동시키는 변위 매핑이다. 개략적인 과정은 Tomas Akenine-Moller 등의 "Real-time Rendering 2nd ed."(AK Peters, Ltd. 2002) 12.6.6절에 자세하게 기재되어 있다.A more widely used method is bump mapping, which is a kind of trick that changes only the shading effect by changing the normal vector at the pixel. The next step in bump mapping is displacement mapping, which moves parts of the surface. The schematic process is described in detail in Section 12.6.6 of “Real-time Rendering 2nd ed.” (AK Peters, Ltd. 2002) by Tomas Akenine-Moller et al.

하지만, 전술한 기존의 방법들은 모두 매끈한(smooth) 곡면의 근사 메쉬를 만들어 내는데 적합한 방법들이며, 돌이나 바위 표면과 같이 부분적으로 뾰족하거나 부분적으로 불규칙한 울퉁불퉁한 곡면을 만들기에는 적합하지 않다.However, all the existing methods described above are suitable for producing smooth mesh approximation meshes, and are not suitable for producing partially sharp or partially irregular bumpy surfaces such as stone or rock surfaces.

본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로서,The present invention has been proposed to solve the above problems,

경계가 있는 개별 메쉬를 이용하여 부분적으로 뾰족하거나 부분적으로 불규칙한 돌이나 바위표면과 울퉁불퉁한 곡면을 주어진 편향성분에 따라 생성할 수 있는 3차원 표면 생성 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a three-dimensional surface generation method that can generate a partly pointed or partly irregular stone or rock surface and an uneven surface by using a given deflection component by using a boundary individual mesh.

본 발명의 실시예에 따른 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법은, 경계가 있는 메쉬(mesh)의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계; 상기 메쉬의 각 변위에 무작위(random) 정점을 생성하고, 생성된 무작위 정점들의 법벡터를 각각 계산하는 단계; 상기 메쉬의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시키는 단계; 상기 모든 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계; 혼합비율 벡터를 입력받는 단계; 및 상기 혼합비율 벡터와 상기 무작위 단위 벡터를 이용하여 상기 모든 정점들을 이동시키는 단계를 포함한다.According to an embodiment of the present invention, a three-dimensional surface generation method for modeling a Korean traditional stone wall with a boundary includes dividing a vertex of a boundary mesh into a case belonging to a boundary line of the mesh and a case where it is not. Calculating a unit law vector; Generating random vertices at each displacement of the mesh, and calculating law vectors of the generated random vertices, respectively; Moving all vertices of the mesh in their respective law vector directions; Generating a random unit vector of each random vertex by dividing all the vertices into and out of the boundary of the mesh; Receiving a mixing ratio vector; And moving all the vertices by using the mixing ratio vector and the random unit vector.

특히, 상기 경계가 있는 메쉬의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계는, 상기 메쉬의 경계선에 정점이 속해있는 경우, 해당 정점을 끝점으로 하는 두 개의 경계선에 포함된 두 개의 변을 구하는 단계; 및 상기 메쉬의 경계평면에 포함되면서 상기 두 개의 변에 수직인 두 개의 벡터의 단순 평균을 이용하여 해당 정점의 단위 법벡터를 산출하는 단계를 포함한다.In particular, the step of calculating the unit law vector of each vertex by dividing the vertices of the mesh with the boundary belonging to the boundary of the mesh and if not, if the vertex belongs to the boundary of the mesh, Obtaining two sides included in two boundary lines serving as endpoints; And calculating a unit law vector of a corresponding vertex by using a simple average of two vectors included in the boundary plane of the mesh and perpendicular to the two sides.

또한, 상기 경계가 있는 메쉬의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계는, 상기 메쉬의 경계선에 정점이 속해있지 않은 경우, 해당 정점을 공유하는 삼각형들의 법벡터의 단순 평균을 이용하여 해당 정점의 단위 법벡터를 산출하는 것을 특징으로 한다.In addition, the step of calculating the unit law vector of each vertex by dividing the vertices of the mesh having the boundary belonging to the boundary line of the mesh and if not, if the vertex does not belong to the boundary line of the mesh, The unit law vector of the vertex is calculated using a simple average of the law vectors of the triangles that share.

또한, 상기 모든 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계는, 상기 메쉬의 경계선에 정점이 속해있는 경우, 상기 메쉬의 해당 경계평면의 법벡터 방향 성분을 제거하여 해당 정점의 무작위 단위 벡터를 생성하는 것을 특징으로 한다.In addition, the step of generating a random unit vector of each random vertex by dividing all the vertices into the boundary of the mesh and if not, if the vertex belongs to the boundary of the mesh, the corresponding boundary plane of the mesh It is characterized by generating a random unit vector of the vertex by removing the vector direction component.

또한, 상기 메쉬는, 삼각형화(triangulation)되어 있는 메쉬인 것을 특징으로 한다.In addition, the mesh is characterized in that the triangulated (triangulation) mesh.

또한, 상기 메쉬는, 2개의 면을 공유하지 않는 변(edge)이 하나 이상 존재하는 메쉬인 것을 특징으로 한다.The mesh may be a mesh in which at least one edge that does not share two faces is present.

또한, 상기 메쉬의 각 변위에 무작위 정점을 생성하는 단계는, 상기 메쉬의 해당 변위의 중심에 치우치도록 무작위 정점을 생성하는 것을 특징으로 한다.In addition, generating a random vertex at each displacement of the mesh, characterized in that to generate a random vertex to be biased to the center of the displacement of the mesh.

또한, 상기 메쉬의 각 변위에 무작위 정점을 생성하는 단계는, 상기 메쉬의 해당 변위의 중심에 치우치도록 무작위 정점을 생성하기 위해 하기 수학식 1을 이용하는 것을 특징으로 한다.In addition, the step of generating a random vertex in each displacement of the mesh, it characterized in that using the equation (1) to generate a random vertex to be biased to the center of the displacement of the mesh.

[수학식 1][Equation 1]

Figure 112010023208910-pat00001
Figure 112010023208910-pat00001

(random(0,1)함수는 0과 1사이의 무작위 숫자를 구하기 위한 함수;

Figure 112010023208910-pat00002
)(random (0,1) is a function for finding random numbers between 0 and 1;
Figure 112010023208910-pat00002
)

본 발명에 따르면 다음과 같은 효과를 기대할 수 있다.According to the present invention, the following effects can be expected.

모델링 디자이너의 많은 노동 없이도, 경계가 있는 메쉬(다각형 메쉬)를 이용하여 빠른 시간 내에 돌이나 바위와 같이 무작위적으로 다른 모양을 가지는 물체를 현실감 있게 생성해줄 수가 있으며, 3D 게임의 지형 생성과 같은 분야에 적용하여 보다 실사적인 영상을 제공하는 것이 가능해진다.Without the labor of modeling designers, you can use bounded meshes (polygonal meshes) to create realistically randomly shaped objects, such as rocks or rocks, in a short time. It is possible to provide a more realistic picture by applying to.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법을 설명하기 위한 흐름도이다.
도 2는 3차원 표면 생성 방법의 세부 알고리즘을 설명하기 위한 예시도이다.
도 3 내지 도 7은 세분화에 따른 메쉬의 형상 변화를 나타내는 예시도이다.
도 8은 본 발명에 따른 3차원 표면 생성 방법을 수행하기 위한 컴퓨터 장치의 개략적인 구성도이다.
BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
1 is a flowchart illustrating a three-dimensional surface generation method for modeling a boundary Korean traditional stone wall in accordance with the present invention.
2 is an exemplary view for explaining a detailed algorithm of the three-dimensional surface generation method.
3 to 7 are exemplary views showing the shape change of the mesh according to the segmentation.
8 is a schematic structural diagram of a computer device for performing a three-dimensional surface generation method according to the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. Here, the repeated description, well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention, and detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more completely describe the present invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for clarity.

본 발명에서는 랜덤함수를 이용하여 종류는 같지만 약간씩 다른 형태를 가진 개별 객체의 모임을 생성하는 방법에 대해 기술한다. 이런 집합 객체들은 자연스럽게 뾰족하거나 불규칙적으로 울퉁불퉁한 곡면을 생성하게 되는데, 몇 가지 요소들을 변화시킴으로써 편향성을 가지는 곡면을 생성할 수가 있다.In the present invention, a method of generating a collection of individual objects having the same type but slightly different form using a random function will be described. These set objects naturally produce sharp or irregularly curved surfaces, which can be deflected by changing a few elements.

이하, 본 발명에서 적용되는 경계가 있는 메쉬는 삼각형만으로 이루어져 있는 것으로 가정하여 설명하기로 한다. 그리고, 본 발명에서의 경계가 있는 메쉬는, 사각형, 오각형 등과 같은 다각형이 될 수 있으며, 주어진 메쉬의 모양에 따라 최종적인 곡면이 달라진다. 여기서 '경계가 있다'말은 2개의 면을 공유하지 않는 변(edge)이 하나 이상 존재함을 의미한다.Hereinafter, it will be described on the assumption that the boundary mesh to be applied in the present invention consists of only triangles. In addition, the boundary mesh in the present invention may be a polygon such as a rectangle, a pentagon, and the final curved surface varies according to the shape of a given mesh. Here, 'there is a boundary' means that there is at least one edge that does not share two sides.

삼각형 외의 다각형 메쉬를 삼각형만으로 구성된 메쉬로 만드는 것을 삼각형화(Triangulation)라고 부르며, 도 3의 왼쪽 그림은 삼각형화된 사각형 메쉬의 일 예를 나타낸다.Making a non-triangular polygonal mesh into a triangle-only mesh is called triangulation, and the left figure of FIG. 3 shows an example of a triangulated rectangular mesh.

삼각형화 알고리즘(Triangulation algorithm)들은 이미 많은 종류가 개발되어 있으며, 공지공용의 기술이다. 이에 대한 자세한 내용은 Held, Martin의 "FIST: Fast Industial-Strength Triangulation" (1998) 같은 논문에서 찾아볼 수 있다.
Triangulation algorithms are already developed in many varieties, and are a publicly known technique. More information on this can be found in articles such as "FIST: Fast Industial-Strength Triangulation" (1998) by Held, Martin.

한편, 경계가 없는 개별 메쉬(다면체 메쉬)를 이용하여 부분적으로 편향성분을 갖는 3차원 표면을 생성하는 경우에는, 보이지 않는 면들의 폴리곤들까지 세분화(Tessellation)가 진행된다. 즉, 하나의 면이 4개의 면으로 바뀌기 때문에 면수의 증가 속도는 4n에 비례하여 매우 많은 계산량이 필요로 하게 된다. 여기서, 폴리곤은 3차원 컴퓨터그래픽에서 입체형상을 표현할 때 사용하는 가장 작은 단위인 다각형을 가리킨다.On the other hand, when a three-dimensional surface having a partially deflected component is created using an individual mesh without a boundary (polyhedron mesh), segmentation is performed up to polygons of invisible faces. That is, since one plane is changed into four planes, the increase rate of the number of planes requires a very large amount of calculation in proportion to 4 n . Here, polygon refers to a polygon, which is the smallest unit used to express a three-dimensional shape in three-dimensional computer graphics.

본 발명은 이러한 점을 보완하기 위하여 한쪽 면만을 대상(즉, 경계가 있는 개별 메쉬를 대상)으로 세분화 과정이 수행되도록 한다. 하나의 개체는 보통 연결된 것으로 생각하고 하나의 면만을 공유하는 변들을 연결하면 결국 닫힌 곡선이 된다.In order to compensate for this, the present invention allows the segmentation process to be performed on only one surface (that is, the individual meshes having boundaries). A single object is usually thought of as connected, and connecting sides that share only one face results in a closed curve.

본 발명에서의 경계가 있는 개별 메쉬를 이용한 세분화 과정은 경계가 없는 개별 메쉬를 이용한 세분화 과정과 유사하지만, 경계선에서 선택한 정점의 변위(displacement)가 이동 후에도 여전히 경계 곡선이 포함되는 평면(이하, 경계평면)에 포함된다는 점에서 차이가 있다.
In the present invention, the segmentation process using individual meshes with boundaries is similar to the segmentation process using individual meshes without boundaries, but the plane (hereinafter, boundary) that still includes the boundary curve after displacement of the selected vertex in the boundary line is moved. The difference is that it is included in (plane).

도 1은 본 발명의 실시예에 따른 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법을 설명하기 위한 흐름도이다.
1 is a flowchart illustrating a 3D surface generation method for modeling a Korean traditional stone wall with a boundary according to an embodiment of the present invention.

도 1을 참조하여 설명하면, 본 발명에 따른 3차원 표면 생성 방법은 크게, a) 경계가 있는 메쉬(mesh)의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계; b) 상기 메쉬의 각 변위에 무작위(random) 정점을 생성하고, 생성된 무작위 정점들의 법벡터를 각각 계산하는 단계; c) 상기 메쉬의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시키는 단계; d) 상기 모든 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계; e) 혼합비율 벡터를 입력받는 단계; 및 f) 상기 혼합비율 벡터와 상기 무작위 단위 벡터를 이용하여 상기 모든 정점들을 이동시키는 단계를 포함한다. 그리고 이때, 좀 더 세분화(Tessellation)된 메쉬를 얻고 싶을 때는 재귀적으로 다시 a) 내지 f) 단계를 반복하면 된다. 재귀적인 세분화 단계[a) 내지 f) 단계]를 n번 반복한 경우 (Vn, En, Fn),(n≥0) (Vn:정점 집합 En: 변 집합, Fn: 면 집합)과 같으며, 이에 초기 메쉬는 (V0, E0, F0)로 나타낼 수 있다.Referring to FIG. 1, a three-dimensional surface generating method according to the present invention is largely divided into a) a unit of each vertex by dividing a vertex of a mesh having a boundary into a case where the vertex belongs to a boundary of the mesh and a case where it is not. Calculating a law vector; b) generating random vertices at each displacement of the mesh, and calculating law vectors of the generated random vertices, respectively; c) moving all vertices of the mesh in their respective law vector directions; d) generating a random unit vector of each random vertex by dividing all the vertices into and out of the boundary of the mesh; e) receiving a mixing ratio vector; And f) moving all of the vertices using the blend ratio vector and the random unit vector. At this time, when you want to obtain a more refined mesh, the steps a) to f) may be repeated recursively. Recursive subdivision steps [a) to f)] n times (V n , E n , F n ), (n≥0) (V n : vertex set E n : side set, F n : face Set), and the initial mesh can be represented by (V 0 , E 0 , F 0 ).

먼저, 경계가 있는 초기 메쉬를 입력받아 이를 읽고(S100), 초기 메쉬의 각 정점 v의 단위 법벡터(normal vector)를 계산한다. 이때, S110 단계에서는, 메쉬의 정점들을 메쉬의 경계선에 있는 경우와 그렇지 않은 경우로 나누어 해당 정점의 단위 법벡터를 각각 계산한다(S110).First, an initial mesh having a boundary is input and read (S100), and a unit vector of each vertex v of the initial mesh is calculated. At this time, in step S110, the vertex of the mesh is divided into a case where the vertex of the mesh is different from the case where the vertex of the mesh is not, and the unit law vector of the vertex is calculated (S110).

만약, 특정 정점이 메쉬의 경계선에 속해있지 않다면, 해당 정점의 단위 법벡터는 메쉬에서 해당 정점을 공유하는 면들(즉, 삼각형들)의 법벡터의 단순 평균값으로 정의될 수 있다.If a particular vertex does not belong to the boundary of the mesh, the unit law vector of the vertex may be defined as a simple average value of the law vector of faces (ie, triangles) that share the vertex in the mesh.

그러나, 특정 정점이 메쉬의 경계선에 속해 있다면, 해당 정점은 항상 두 개의 경계 변(edge)의 접합점이 된다. 이러한 성질로부터 해당 정점을 끝점으로 하는 두 개의 경계선에 포함된 변(edge)을 얻을 수 있고, 또한 경계평면에 포함되면서 상기한 두 개의 변에 수직인 두 개의 벡터를 구할 수 있다.However, if a particular vertex belongs to a mesh boundary, that vertex is always the junction of two boundary edges. From this property, it is possible to obtain edges included in two boundary lines having the vertex as the end point, and to obtain two vectors included in the boundary plane and perpendicular to the two sides.

따라서, 경계선에 포함된 정점의 단위 법벡터는 상기한 두 개의 변에 수직인 두 개의 벡터(

Figure 112010023208910-pat00003
)의 단순 평균값(
Figure 112010023208910-pat00004
)으로 정의될 수 있다(도 2 참조).Therefore, the unit law vector of the vertices included in the boundary line is defined as two vectors perpendicular to the two sides (
Figure 112010023208910-pat00003
Simple mean value of
Figure 112010023208910-pat00004
) (See FIG. 2).

다음으로, 메쉬의 각 변위에 무작위 정점을 생성하고(S120), 생성된 무작위 정점들의 법벡터를 각각 계산한다(S130).Next, random vertices are generated at each displacement of the mesh (S120), and law vectors of the generated random vertices are respectively calculated (S130).

이때, 각 변위에 무작위 정점을 생성하는 방법은 선형보간(linear interpolation)을 사용하며, 1보다 작은 양의 무작위 값으로부터 0.5에 가깝게 전위된 1보다 작은 양수를 선택한다. 그리고, 각 무작위 정점의 법벡터는 무작위 정점이 포함된 선분을 공유하는 2개의 정점의 법벡터의 선형보간으로 주며, 상기한 과정에서 선택된 무작위 양수를 사용한다.In this case, a method of generating random vertices at each displacement uses linear interpolation, and selects a positive number less than 1 displaced close to 0.5 from a random value less than 1. In addition, the law vector of each random vertex is given by linear interpolation of the law vectors of two vertices sharing a line segment including the random vertex, and the random positive number selected in the above process is used.

주어진 두 개의 정점 vi와 vj가 변(edge)를 이룬다고 가정하면, 변(i,j)에서 중심에 치우친 점을 랜덤하게 잡아 무작위 정점을 생성한다. 무작위 중점을 수식으로 나타내면 수학식 1과 같다.Assuming that two given vertices v i and v j form an edge, a random vertex is generated by randomly picking the centered points at the sides (i, j). The random midpoint is represented by the equation (1).

Figure 112010023208910-pat00005
Figure 112010023208910-pat00005

이 때, 이 무작위 정점의 법벡터(normal vector)는 수학식 2와 같다.In this case, the normal vector of this random vertex is shown in Equation 2.

Figure 112010023208910-pat00006
Figure 112010023208910-pat00006

한편, 경계선에 속해있는 무작위 정점들의 법벡터가 이미 경계평면에 포함되므로, 수학식 1에서 구한 vij 역시 경계평면에 포함되며, 이를 경계선에서 잡은 무작위 정점의 법벡터로 취해도 변위(displacement) 후에 여전히 경계평면에 속하게 된다는 점을 알 수 있다.On the other hand, since the law vector of the random vertices belonging to the boundary is already included in the boundary plane, v ij obtained from Equation 1 is also included in the boundary plane. You can see that it belongs to the boundary plane.

S130 단계를 통해 각 무작위 정점들의 법벡터가 계산되면, 메쉬에 있던 기존 정점들 및 S120 단계를 통해 생성된 무작위 정점들을 포함하는 메쉬 상의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시킨다(S140).When the law vectors of the random vertices are calculated through the step S130, all vertices on the mesh including the existing vertices in the mesh and the random vertices generated through the step S120 are respectively moved in the direction of their law vector (S140).

다음으로, 혼합비율 벡터를 입력 받는다. 그리고, 모든 정점별로 무작위 단위 벡터를 생성한 후, 입력된 혼합비율 벡터를 성분별로 곱해서 더하여 이동시킨다(S150 내지 S170). 이때, 혼합비율은 3차원 공간에서 각각의 방향으로 다르게 편향성을 가지게 하는 작용을 하여 생성되는 메쉬가 조금씩 다른 모양을 가지게 한다. 만일 특정 정점이 경계선에 속해 있다면, 무작위 단위 벡터 생성시 경계평면의 법벡터 방향의 성분을 빼고 단위화하여 해당 정점이 여전히 경계평면에 포함되게 만든다.Next, the mixing ratio vector is input. Then, after generating a random unit vector for every vertex, the input mixed ratio vector is multiplied by the component to add and move (S150 to S170). At this time, the blending ratio acts to have a different deflection in each direction in the three-dimensional space so that the resulting mesh has a slightly different shape. If a particular vertex belongs to a boundary line, when generating a random unit vector, the vertex is subtracted from the component of the legal vector direction and then united so that the vertex is still included in the boundary plane.

보다 상세하게는, 모든 정점들을 자신의 법벡터(normal vector) 방향으로 이동시킨 후, 약간의 무작위적인 성질을 주기 위하여 무작위 단위 벡터

Figure 112010023208910-pat00007
을 정해진 비율만큼 더한다.More specifically, after moving all vertices in the direction of their normal vector, a random unit vector to give some random properties.
Figure 112010023208910-pat00007
Add by the set ratio.

이때 주의할 점은, 경계선에 속해있는 정점의 경우에는 이동 후에도 여전히 경계평면에 속하게 되도록 해야 하기 때문에, 해당 정점의 무작위 단위 벡터 생성시에 경계평면의 법벡터 방향의 성분을 빼고 생성한다. 즉,

Figure 112010023208910-pat00008
로부터 해당 경계평면의 법벡터 방향의 성분을 제거한다.In this case, it should be noted that the vertices belonging to the boundary line still have to belong to the boundary plane even after the movement. Therefore, when generating a random unit vector of the vertex, the components of the normal direction of the boundary plane are subtracted and generated. In other words,
Figure 112010023208910-pat00008
Removes components in the legal vector direction of the boundary plane from.

즉,

Figure 112010023208910-pat00009
이 경계평면의 법벡터라고 하면, 수학식 3과 같이 경계평면에 포함되도록 무작위 단위 벡터를 생성한다.In other words,
Figure 112010023208910-pat00009
Suppose the law vector of the boundary plane generates a random unit vector to be included in the boundary plane as shown in equation (3).

Figure 112010023208910-pat00010
Figure 112010023208910-pat00010

그리고,

Figure 112010023208910-pat00011
만큼 이동할 비율을 r1 이라 하고, 더해 질
Figure 112010023208910-pat00012
의 비율을 r2라 하면 최종적으로 얻어지는 정점은 수학식 4와 같으며, 여기서 움직이는 비율 r1, r2를 변수 요소로 생각한다.And,
Figure 112010023208910-pat00011
Move by r 1 To be added
Figure 112010023208910-pat00012
Assuming that the ratio of r 2 is the final vertex obtained by Equation 4, the moving ratios r 1 and r 2 are considered to be variable elements.

Figure 112010023208910-pat00013
Figure 112010023208910-pat00013

한편, 메쉬에서 하나의 면(face)은 3개의 변(edge)을 가지므로, 하나의 면에서 얻을 수 있는 정점의 개수는 6개가 된다.On the other hand, since one face has three edges in the mesh, the number of vertices obtained in one face is six.

그리고, 상기한 과정을 통해 정점 모임이 얻어지면, 얻어낸 정점 모임으로부터 새로운 면을 아래와 같이 생성하고, 이러한 과정을 주어진 정점집합 Vn, 면의 집합 Fn 으로부터, 각 면에 대해서 적용한다.When the vertex collection is obtained through the above process, a new face is generated from the obtained vertex collection as follows, and the process is applied to each face from the given set of vertices V n and the face set F n .

Figure 112010023208910-pat00014
Figure 112010023208910-pat00014

이때, 과정을 한번 반복할 때마다 주변 면들이 튀어 올라오기 때문에 상대적으로 기존에 있던 정점들이 파묻히는 현상이 발생한다. 본 발명에서는 이를 보정하기 위하여 기존의 정점들도 마찬가지로 법벡터(normal vector) 방향으로 이동시키며, 이는 수학식 5와 같이 표현될 수 있다.At this time, each time the process is repeated once, the surrounding surfaces pop up, so that the existing vertices are buried. In the present invention, in order to correct this, the existing vertices are similarly moved in the normal vector direction, which can be expressed as Equation (5).

Figure 112010023208910-pat00015
Figure 112010023208910-pat00015

다음으로, 재귀 명령의 입력에 따라 전술한 과정들을 재귀적으로 다음 정점 집합 Vn +1, 면의 집합 Fn +1을 얻기 위해 적용한다(S180).
Next, according to the input of the recursive command, the aforementioned processes are recursively applied to obtain the next set of vertices V n +1 and the set of faces F n +1 (S180).

한편, 상기한 과정의 설명과 관련하여 몇 가지 사항을 더 언급할 필요가 있다.On the other hand, in connection with the description of the above process it is necessary to mention a few more points.

첫 번째로, 위에서 변(edge) 위의 점을 구하는 과정에서 사용한 s=random(0,1) 함수는 0과 1사이의 무작위 숫자를 구하는 함수이다. 이는 각 구간에서 고르게 동일한 확률을 가지며 0이나 1에 매우 가까운 값을 가지게 되면, 양 끝점에 매우 가까운 점들을 얻게 된다. 이 경우 세분화 과정이 효율적으로 수행되지 못할 수가 있다.First, the s = random (0,1) function used to find the point on the edge from above is a function that finds a random number between 0 and 1. This results in evenly equal probabilities in each interval, with values very close to zero or one, and points very close to both ends. In this case, the segmentation process may not be performed efficiently.

따라서, 본 발명에서는 중심점 0.5에 치우친 확률을 가지는 함수로 변화 시켜주는 아래와 같은 함수를 도입한다.Therefore, the present invention introduces the following function that transforms the function into a function having a probability biased at the center point 0.5.

Figure 112010023208910-pat00016
Figure 112010023208910-pat00016

이 함수는 random(0,1)이 0과 1사이의 무작위 숫자를 동일한 확률로 만들어 내면, 이를 r과 1-r 사이의 0.5에 좀 더 가까운 숫자로 변환해주는 함수이다.This function converts random (0,1) to random numbers between 0 and 1 with the same probability, and converts them to numbers closer to 0.5 between r and 1-r.

두 번째로는, 변에 임의로 정한 점을 이동(displacement)시키는 과정

Figure 112010023208910-pat00017
(수학식 4)에서 나오는 두 개의 비율 r1, r2에 관한 것이다.Secondly, the process of displacing arbitrary points on the sides
Figure 112010023208910-pat00017
It is related to the two ratios r 1 and r 2 from (Equation 4).

이 비율에 따라서 모양은 다양하게 변할 수 있으며, 방향에 따른 감소 비율을 다르게 줄 경우 r1는 벡터 값이 될 수 있다. 이에 대해서는 후술하는 설명에서 보다 자세하게 설명하기로 한다.The shape can vary according to this ratio, and r 1 can be a vector value if the reduction ratio is changed according to the direction. This will be described in more detail in the following description.

세 번째로는, 초기에 주어진 기하 모델을 일정 간격으로 배치하는 경우 조금 더 다양성을 증가시키기 위해서 초기 메쉬의 정점들을 초기 모양을 유지하는 정도로 랜덤하게 이동시키는 것이다.The third is to randomly move the vertices of the initial mesh to maintain their initial shape in order to increase the diversity even if the given geometric models are initially placed at regular intervals.

이를 위해서 본 발명에서는 각 정점에서 가장 가까운 정점과의 거리를 측정하고 이의 1/2이하의 크기를 가지는 랜덤 벡터를 구해서 그에 더해주어 초기 정점을 이동시킨다. 이 과정은 최종적으로 얻어지는 모양에 좀더 랜덤한 요소를 기대할 수 있게 한다.
To this end, the present invention measures the distance to the nearest vertex from each vertex, obtains a random vector having a size of 1/2 or less thereof, adds to it, and moves the initial vertex. This process makes it possible to expect more random elements in the final shape.

한편, 경계선이 있는 메쉬의 경우 돌담의 보이는 면과 유사한 모양을 만드는 것이 중요하다. 통상적으로 돌담에 사용되는 돌은 이미 납작하고 각진 모양의 돌이거나 잘 쌓을 수 있도록 가공된 납작하고 각진 모양의 돌이다. 이런 모양을 세분화하면서 만들어내기 위해서는 경계평면과 수직이 되는 방향으로의 변위는 상대적으로 작게 될 필요가 있다. 이를 위해 본 발명에서는 상기한 변위 과정을 다소 수정하여 개별 방향에 따라 변위 요소를 바꿀 수 있는 방법을 제안한다.On the other hand, it is important to create a shape similar to the visible surface of a stone wall in the case of a bordered mesh. Typically, the stone used in the stone wall is a flat, angular stone, or a flat, angular stone that is processed to stack well. To subdivide this shape, the displacement in the direction perpendicular to the boundary plane needs to be relatively small. To this end, the present invention proposes a method that can change the displacement element according to the individual direction by slightly modifying the above-described displacement process.

수학식 4에서 r1 은 단일 실수값이지만, 이를 방향별로 다른 요소를 주기 위해서 벡터값으로 바꿔 사용한다. 즉,

Figure 112010023208910-pat00018
와 같이 하고, 두 개의
Figure 112010023208910-pat00019
, 에 대해 각 성분별로 곱해주는 연산을 수학식 7과 같이 정의한다.R 1 in Equation 4 Is a single real value, but we use it as a vector to give different elements in different directions. In other words,
Figure 112010023208910-pat00018
And two
Figure 112010023208910-pat00019
, And multiply each component by, as shown in Equation 7.

Figure 112010023208910-pat00020
Figure 112010023208910-pat00020

수학식 7을 이용하여 최종적으로 변위되는 정점의 수식은 수학식 8과 같다.The equation of the vertex that is finally displaced using Equation 7 is shown in Equation 8.

Figure 112010023208910-pat00021
Figure 112010023208910-pat00021

본 발명에서는 상기한 알고리즘을 C++와 DirectX를 이용하여 구현하였으며, r=0.1, =(0.3,0.1,0.3), r2=0.3(보통 컴퓨터 그래픽에서 높이 방향이 y방향이 된다)으로 일정하게 주고 세분화를 진행한 예를 도 3 내지 도 7을 통해 나타내었다.In the present invention, the above algorithm is implemented by using C ++ and DirectX, and it is uniformly given as r = 0.1, = (0.3,0.1,0.3), r 2 = 0.3 (usually the height direction becomes y-direction in computer graphics). An example of the subdivision is shown through FIGS. 3 to 7.

도 3 내지 도 6에서, 왼쪽에 있는 그림들은 경계가 있는 메쉬를 와이어 프레임으로 나타낸 경우이고, 오른쪽에 있는 그림들은 해당 와이어 프레임에 텍스처를 입힌 경우를 나타낸다.In Figures 3 to 6, the figures on the left show the boundary mesh in a wire frame, and the figures on the right show the texture of the wire frame.

그리고, 도 3 및 도 5는 삼각형화되어 최초 입력되는 초기 메쉬를 나타내며, 도 4의 (a)는 도 3의 메쉬에 대해 한번의 세분화 단계(전술한 a) 내지 f) 단계)를 수행한 경우를 나타내고, 도 4의 (b)는 도 3의 메쉬에 대해 두 번의 세분화 단계를 수행한 경우를 나타내고, 도 4의 (c)는 도 3의 메쉬에 대해 세 번의 세분화 단계를 수행한 경우를 나타낸다.3 and 5 illustrate triangular initial input meshes, and FIG. 4 (a) shows a case where one subdivision step (described above) is performed for the mesh of FIG. 4B illustrates a case where two subdivision steps are performed on the mesh of FIG. 3, and FIG. 4C illustrates a case where three subdivision steps are performed on the mesh of FIG. 3. .

그리고, 도 6의 (a)는 도 5의 메쉬에 대해 한번의 세분화 단계를 거친 경우를 나타내고, 도 6의 (b)는 도 5의 메쉬에 대해 두 번의 세분화 단계를 거친 경우를 나타내고, 도 6의 (c)는 도 5의 메쉬에 대해 세 번의 세분화 단계를 거친 경우를 나타낸다.
6A illustrates a case where one subdivision step is performed on the mesh of FIG. 5, and FIG. 6B illustrates a case where two subdivision steps are performed on the mesh of FIG. 5, and FIG. 6. (C) shows a case where three refinement steps are performed for the mesh of FIG. 5.

도 8은 본 발명에 따른 3차원 표면 생성 방법을 수행하기 위한 컴퓨터 장치의 개략적인 구성도이다.8 is a schematic structural diagram of a computer device for performing a three-dimensional surface generation method according to the present invention.

도 8을 참조하면, 컴퓨터 장치(100)는 입력부(110), 저장부(120), 연산부(130) 및 표시부(140)를 구비할 수 있다.Referring to FIG. 8, the computer device 100 may include an input unit 110, a storage unit 120, an operation unit 130, and a display unit 140.

입력부(110)는 사용자(예컨대, 3차원 표면 생성자)로부터 돌담 모델링을 위한 명령 신호를 입력 받고, 삼각형화되어 있는 초기 메쉬를 입력 받는다.The input unit 110 receives a command signal for modeling the stone wall from a user (eg, a 3D surface generator), and receives a triangular initial mesh.

저장부(120)에는 3차원 표면 생성 방법을 위한 다양한 변수들이 저장될 수 있으며, 3차원 표면 생성을 위한 알고리즘이 저장된다.The storage unit 120 may store various variables for the 3D surface generation method, and an algorithm for generating the 3D surface.

한편, 본 발명에 따른 3차원 표면 생성 방법은 컴퓨터 장치(100)를 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 기록 매체, 예컨대 컴퓨터 판독 가능 매체에 기록될 수 있다.Meanwhile, the 3D surface generating method according to the present invention may be implemented in the form of program instructions that can be executed through the computer device 100 and recorded on a recording medium, for example, a computer readable medium.

이때, 저장부(120)는 컴퓨터 장치(100)에 삽입되는 기록 매체, 즉 3차원 표면 생성 방법이 기록된 기록 매체를 읽어 필요한 변수들을 저장할 수도 있다.In this case, the storage unit 120 may read the recording medium inserted into the computer device 100, that is, the recording medium on which the 3D surface generating method is recorded, and store necessary variables.

여기서, 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Here, the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.

컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 등과 같은 하드웨어 장치를 포함할 수 있다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Hardware devices such as magneto-optical media and the like.

또한, 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.In addition, examples of program instructions may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

연산부(130)는 저장부(120)에 저장된 3차원 표면 생성 알고리즘에 따라 입력부(110)를 통해 초기 메쉬를 입력받아 한국 전통 돌담 모델링을 위한 3차원 표면을 생성한다. 보다 상세하게는, 연산부(130)는 입력부(110)를 통해 입력받은 경계가 없는 메쉬에 대해 정점들의 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하고, 그 초기 메쉬의 각 변위에 무작위 정점을 생성하고, 생성된 무작위 정점들을 법벡터를 각각 계산한다. 그리고, 연산부(130)는 메쉬의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시킨 후, 메쉬의 모든 정점들을 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성한다. 그리고, 연산부(130)는 입력부(110)를 통해 입력받은 혼합비율 벡터와 생성된 무작위 단위 벡터를 이용하여 메쉬의 모든 정점들을 이동시켜 3차원 표면을 생성한다. 그리고, 연산부(130)는 생성된 3차원 표면을 표시부(140)를 통해 사용자에게 디스플레이한다.
The calculation unit 130 receives the initial mesh through the input unit 110 according to the three-dimensional surface generation algorithm stored in the storage unit 120 to generate a three-dimensional surface for modeling the Korean traditional stone wall. In more detail, the calculation unit 130 calculates the unit law vector of each vertex by dividing it into a case where the boundary does not belong to the boundary of the mesh of the vertices for the mesh having no boundary input through the input unit 110, Random vertices are generated at each displacement of the initial mesh, and the generated random vertices are calculated for each law vector. Then, the operation unit 130 moves all the vertices of the mesh in the direction of its legal vector, and generates a random unit vector of each random vertex by dividing all the vertices of the mesh into the mesh boundary and the other case. do. The operation unit 130 generates a three-dimensional surface by moving all vertices of the mesh by using the mixing ratio vector received through the input unit 110 and the generated random unit vector. In addition, the operation unit 130 displays the generated three-dimensional surface to the user through the display unit 140.

많은 자본이 들어가는 영화에서는 다양한 종류의 실사 또는 비실사 3D 메쉬를 필요로 하는 경우가 많다. 예컨대, 자연계에 존재하는 유사하지만 무작위적으로 다른 모양을 가지는 물체에 대한 묘사가 필요한데, 이러한 묘사 과정은 모델링 디자이너의 많은 노동 집약적 업무를 필요로 하게 된다.Films with a lot of capital often require different types of photorealistic or non-realistic 3D meshes. For example, descriptions of similar but randomly different shapes of objects in the natural world are required, which requires many labor-intensive tasks of the modeling designer.

그러나, 본 발명에 의하면 모델링 디자이너의 많은 노동 없이도 빠른 시간 내에 돌이나 바위와 같이 무작위적으로 다른 모양을 가지는 물체를 현실감 있게 생성해줄 수가 있으며, 3D 게임의 지형 생성과 같은 분야에 적용하여 보다 실사적인 영상을 제공하는 것이 가능해진다.
However, according to the present invention, it is possible to realistically generate objects having randomly different shapes such as stones and rocks in a short time without much labor of the modeling designer, and apply them to fields such as terrain generation of 3D games. It becomes possible to provide an image.

이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

100:컴퓨터 장치 110:입력부
120:저장부 130:연산부
140:표시부
100: computer device 110: input unit
120: storage unit 130: operation unit
140: display unit

Claims (9)

경계가 있는 메쉬(mesh)의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계;
상기 메쉬의 각 변위에 무작위(random) 정점을 생성하고, 생성된 무작위 정점들의 법벡터를 각각 계산하는 단계;
상기 메쉬의 모든 정점들을 각각 자신의 법벡터 방향으로 이동시키는 단계;
상기 모든 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계;
혼합비율 벡터를 입력받는 단계; 및
상기 혼합비율 벡터와 상기 무작위 단위 벡터를 이용하여 상기 모든 정점들을 이동시키는 단계를 포함하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
Calculating a unit law vector of each vertex by dividing the vertices of the mesh with a boundary between and when the vertices of the mesh belong to the boundary line of the mesh;
Generating random vertices at each displacement of the mesh, and calculating law vectors of the generated random vertices, respectively;
Moving all vertices of the mesh in their respective law vector directions;
Generating a random unit vector of each random vertex by dividing all the vertices into and out of the boundary of the mesh;
Receiving a mixing ratio vector; And
Moving all of the vertices using the blend ratio vector and the random unit vector.
청구항 1에 있어서,
상기 경계가 있는 메쉬의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계는,
상기 메쉬의 경계선에 정점이 속해있는 경우, 해당 정점을 끝점으로 하는 두 개의 경계선에 포함된 두 개의 변을 구하는 단계; 및
상기 메쉬의 경계평면에 포함되면서 상기 두 개의 변에 수직인 두 개의 벡터의 단순 평균을 이용하여 해당 정점의 단위 법벡터를 산출하는 단계를 포함하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
Computing the unit law vector of each vertex by dividing the vertices of the mesh with the boundary and the case that is not the boundary of the mesh,
If a vertex belongs to a boundary of the mesh, obtaining two sides included in two boundary lines having the vertex as an end point; And
Calculating a unit law vector of a corresponding vertex using a simple average of two vectors included in the boundary plane of the mesh and perpendicular to the two sides; How to produce.
청구항 1에 있어서,
상기 경계가 있는 메쉬의 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 정점의 단위 법벡터를 계산하는 단계는,
상기 메쉬의 경계선에 정점이 속해있지 않은 경우, 해당 정점을 공유하는 삼각형들의 법벡터의 단순 평균을 이용하여 해당 정점의 단위 법벡터를 산출하는 것을 특징으로 하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
Computing the unit law vector of each vertex by dividing the vertices of the mesh with the boundary and the case that is not the boundary of the mesh,
When a vertex does not belong to the boundary of the mesh, a unit law vector of the vertex is calculated using a simple average of law vectors of triangles sharing the vertex. 3D surface creation method.
청구항 1에 있어서,
상기 모든 정점들을 상기 메쉬의 경계선에 속해있는 경우와 그렇지 않은 경우로 나누어 각 무작위 정점의 무작위 단위 벡터를 생성하는 단계는,
상기 메쉬의 경계선에 정점이 속해있는 경우, 상기 메쉬의 해당 경계평면의 법벡터 방향 성분을 제거하여 해당 정점의 무작위 단위 벡터를 생성하는 것을 특징으로 하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
Generating a random unit vector of each random vertex by dividing all the vertices into and out of the boundary of the mesh,
When a vertex belongs to the boundary line of the mesh, a three-dimensional model for boundary Korean traditional stone wall is generated by removing a law vector direction component of a corresponding boundary plane of the mesh to generate a random unit vector of the vertex. Surface creation method.
청구항 1에 있어서,
상기 메쉬는, 삼각형화(triangulation)되어 있는 메쉬인 것을 특징으로 하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
The mesh is triangulated (triangulation), characterized in that the three-dimensional surface generation method for modeling the boundary Korean traditional stone wall.
청구항 1에 있어서,
상기 메쉬는, 2개의 면을 공유하지 않는 변(edge)이 하나 이상 존재하는 메쉬인 것을 특징으로 하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
The mesh is a three-dimensional surface generation method for modeling a boundary Korean traditional stone wall, characterized in that the mesh that has at least one edge (edge) that does not share two faces.
청구항 1에 있어서,
상기 메쉬의 각 변위에 무작위 정점을 생성하는 단계는,
상기 메쉬의 해당 변위의 중심에 치우치도록 무작위 정점을 생성하는 것을 특징으로 하는, 경계가 있는 한국 전통 돌담 모델링을 위한 3차원 표면 생성 방법.
The method according to claim 1,
Generating random vertices at each displacement of the mesh,
And generating random vertices to be oriented to the center of the corresponding displacement of the mesh.
삭제delete 청구항 1 내지 청구항 7 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는, 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 7 is recorded.
KR1020100033409A 2010-04-12 2010-04-12 Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same KR101137924B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100033409A KR101137924B1 (en) 2010-04-12 2010-04-12 Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100033409A KR101137924B1 (en) 2010-04-12 2010-04-12 Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same

Publications (2)

Publication Number Publication Date
KR20110114012A KR20110114012A (en) 2011-10-19
KR101137924B1 true KR101137924B1 (en) 2012-05-09

Family

ID=45029169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100033409A KR101137924B1 (en) 2010-04-12 2010-04-12 Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same

Country Status (1)

Country Link
KR (1) KR101137924B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255079A (en) 1997-03-12 1998-09-25 Suzuki Motor Corp Method for creating mesh data on curved surface
JP2000331191A (en) 1999-03-18 2000-11-30 Ricoh Co Ltd Method for generating curved-surface model by reversible rounding-off operation, method for generating lattice polygon model from the model, recording medium for executing these methods, and method for transmitting/displaying curved-surface model
KR100738500B1 (en) 2006-02-20 2007-07-12 한국과학기술원 Method for bi-layered displacement mapping and protruded displacement mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255079A (en) 1997-03-12 1998-09-25 Suzuki Motor Corp Method for creating mesh data on curved surface
JP2000331191A (en) 1999-03-18 2000-11-30 Ricoh Co Ltd Method for generating curved-surface model by reversible rounding-off operation, method for generating lattice polygon model from the model, recording medium for executing these methods, and method for transmitting/displaying curved-surface model
KR100738500B1 (en) 2006-02-20 2007-07-12 한국과학기술원 Method for bi-layered displacement mapping and protruded displacement mapping

Also Published As

Publication number Publication date
KR20110114012A (en) 2011-10-19

Similar Documents

Publication Publication Date Title
JP6159807B2 (en) Computer graphics method for rendering a three-dimensional scene
US8947430B1 (en) System and method for rendering a particle-based fluid surface
Ernst et al. Early split clipping for bounding volume hierarchies
EP3379495B1 (en) Seamless fracture in an animation production pipeline
JP2006506744A (en) Visible surface determination system and method for computer graphics using interval analysis
KR20130049824A (en) A tessellator whose tessellation time grows linearly with the amount of tessellation
KR20080018404A (en) Computer readable recording medium having background making program for making game
Patney et al. Parallel view-dependent tessellation of Catmull-Clark subdivision surfaces
Shaker et al. Fractals, noise and agents with applications to landscapes
US9082218B2 (en) Method for manipulating three-dimensional voxel data for on-screen visual
US11100707B2 (en) Computer graphics method for terrain rendering
KR100809522B1 (en) A efficient view-dependent lodlevel of detail lendering method of terrain
CN102663802B (en) A kind of game landform road generates method and apparatus
KR101214661B1 (en) A method for terrain rendering using vertex cohesion map
CN117710563A (en) Method for rasterizing-based differentiable renderer of semitransparent objects
KR101137923B1 (en) Method for generating randomly bumpy surface for Korean traditional stone wall without boundary and recording medium for the same
KR102638813B1 (en) Systems and methods for hair rasterization
KR101137924B1 (en) Method for generating randomly bumpy surface for Korean traditional stone wall with boundary and recording medium for the same
US11217016B1 (en) Systems and methods for generating a proxy mesh for an artist-authored mesh using conformed smoothing
US9311747B2 (en) Three-dimensional image display device and three-dimensional image display program
Ragragui et al. Fer-pixel extrusion mapping: The correction of the intersection point between the extrusion geometry and the viewing ray
Alonso et al. Real-time rendering and physics of complex dynamic terrains modeled as CSG trees of DEMs carved with spheres
KR100724609B1 (en) A method for generating a cube mesh structure for a terrain rendering
JP3606222B2 (en) Object image display device
JP2024083298A (en) Rendering cross sections of 3D meshes in a single pass

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160512

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee