KR20110072462A - Modeling method and system for sketching 3d curved surface model, and program recording medium - Google Patents

Modeling method and system for sketching 3d curved surface model, and program recording medium Download PDF

Info

Publication number
KR20110072462A
KR20110072462A KR1020090129403A KR20090129403A KR20110072462A KR 20110072462 A KR20110072462 A KR 20110072462A KR 1020090129403 A KR1020090129403 A KR 1020090129403A KR 20090129403 A KR20090129403 A KR 20090129403A KR 20110072462 A KR20110072462 A KR 20110072462A
Authority
KR
South Korea
Prior art keywords
closed loop
curve
vertices
tessellation
vertex
Prior art date
Application number
KR1020090129403A
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 KR1020090129403A priority Critical patent/KR20110072462A/en
Publication of KR20110072462A publication Critical patent/KR20110072462A/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
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/06Curved planar reformation of 3D line structures

Abstract

PURPOSE: A modeling method and system for a 3D curved model sketch, and a recording medium are provided to smoothly connect a generated curved surface. CONSTITUTION: Using an input device, a closed loop is created(S110). A vector generator obtains the normal vector of each vertex on the closed loop(S120). In case the normal vector on the each vertex accords, an interpolation unit interpolates with sample point values and normal vectors on one or more curved lines(S130,S150). A tessellation unit tessellates a generated curved surface(S160).

Description

3차원 곡면 모델 스케치를 위한 모델링 방법 및 시스템 , 및 기록 매체{MODELING METHOD AND SYSTEM FOR SKETCHING 3D CURVED SURFACE MODEL, AND PROGRAM RECORDING MEDIUM}MODELING METHOD AND SYSTEM FOR SKETCHING 3D CURVED SURFACE MODEL, AND PROGRAM RECORDING MEDIUM

본 발명은 3차원 모델 스케치를 위한 모델링 방법 및 시스템 , 및 기록 매체에 관한 것으로서, 더욱 상세하게는 폐루프를 이용하여 3차원 모델 스케치를 위한 모델링 방법 및 시스템 , 및 상기 방법을 기록한 기록매체에 관한 것이다.The present invention relates to a modeling method and system for a three-dimensional model sketch, and a recording medium, and more particularly to a modeling method and system for a three-dimensional model sketch using a closed loop, and a recording medium for recording the method will be.

가상세계, 미러월드 등에서 사용하는 3차원 모델들은 수학적으로 정밀한 모델링 보다는 사용자가 생각하는 컨셉트를 쉽게 표현할 수 있도록 도와주는 것이 중요하다. It is important for the 3D models used in the virtual world, mirror world, etc. to help users express the concepts they think, rather than mathematically accurate modeling.

기존의 곡면 모델링은 파라메트릭 모델링(parametric modeling) 기법 중의 하나인 넙스(NURBS:Non Uniform Rational B-Spline) 또는 서브디비전 서페이스 (Subdivision Surface)를 주로 사용하였다. Conventional surface modeling mainly uses non-uniform Rational B-Spline (NURBS) or subdivision surface (NURBS), one of the parametric modeling techniques.

그러나 쉬운 사용자 인터페이스를 구현해야 하는 컨셉트 모델링 툴에서 사용자가 조작/표현하기에는 너무 복잡한 인터페이스(interface)를 갖는 단점이 있다.특히, 파라메트릭 모델링 기법은 곡선을 먼저 그리고 그 곡선들로부터 곡면을 추출 하는 경우 어려움이 있고, 넙스 곡면의 경우는 곡면의 자유도(즉, 콘트롤 포인트 개수)에 따라 생성되는 곡면의 질이 현격히 차이를 보이는 문제가 있어, 사용자가 직접 이러한 변수를 조절하며 곡면의 질을 결정해야하는 어려움이 있다.However, a concept modeling tool that requires an easy user interface has the disadvantage of having an interface that is too complex for the user to manipulate / present. In particular, parametric modeling techniques extract curves first and then from curves. There is a difficulty, and in the case of a nongs surface, the quality of the generated surface varies considerably according to the degree of freedom of the surface (that is, the number of control points). Therefore, the user must adjust these variables to determine the quality of the surface There is difficulty.

컨셉트 모델링의 목표는 3차원 모델링 툴을 마치 워드프로세서를 사용하듯이 손쉽게 사용할 수 있게 하는 것이며, 정확도보다는 표현력에 더 중점을 둔다. 따라서 손쉬운 곡면 표현 및 모델링 기법이 점점 더 중요해지고 있다.The goal of concept modeling is to make three-dimensional modeling tools as easy as using word processors, with a focus on expression rather than accuracy. Therefore, easy surface representation and modeling techniques are becoming more and more important.

본 발명은 적어도 하나의 폐루프를 이용한 알고리즘을 통하여 3차원 모델 스케치를 함으로써, 사용자에게 쉬운 인터페이스를 제공하고 생성되는 곡면이 부드럽게 연결되도록 하는 것을 목적으로 한다.An object of the present invention is to provide a user with an easy interface and to smoothly connect the generated surface by sketching a three-dimensional model through an algorithm using at least one closed loop.

상기 기술적 과제를 달성하기 위한 3차원 곡면 모델 스케치를 위한 모델링 방법은 입력 디바이스를 이용하여 3차원 상의 복수의 꼭지점들과 상기 꼭지점들을 지나는복수의 곡선으로 이루어진 적어도 하나의 폐루프를 생성하는 단계; 상기 꼭지점들 각각에서, 상기 꼭지점들 각각을 지나는 두 곡선들의 접선 벡터를 외적하여 법선 벡터를 생성하는 단계; 상기 각각의 법선 벡터가 미리 설정된 보정 기준에 해당하는지 확인하며, 해당하지 않을 경우 보정하는 단계; 상기 적어도 하나의 폐루프를 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 각각의 상기 법선 벡터를 이용하여 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하는 단계; 및 생성된 상기 곡면을 테셀레이션(tessellation)하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a modeling method for sketching a 3D surface model, the method comprising: generating at least one closed loop including a plurality of vertices on a three-dimensional surface and a plurality of curves passing through the vertices using an input device; At each of the vertices, generating a normal vector by interpolating a tangent vector of two curves passing through each of the vertices; Checking whether each of the normal vectors corresponds to a preset correction criterion, and if not, correcting the normal vectors; Generating a curved surface of the at least one closed loop using a radial basis function interpolation using the sampled points on the at least one closed loop and each of the normal vectors; And tessellating the generated curved surface.

또한, 상기 보정 기준은 각각의 상기 법선 벡터 중 제1 법선 벡터와 제2 법선 벡터의 내적이 0보다 작은지 여부를 판단하는 기준을 포함하고, 상기 보정하는 단계는 상기 꼭지점들 각각의 상기 법선 벡터를 상기 꼭지점들 각각을 지나는 곡선을 따라서 회전하여 상기 보정 기준에 해당하는지 확인하여, 상기 제2 법선 벡터의 방향을 미리 설정된 각도에 따라 반대로 회전 보정하는 단계를 포함할 수 있다.The correction criteria may include a criterion for determining whether the inner product of the first normal vector and the second normal vector among the normal vectors is smaller than zero, and the correcting includes the normal vectors of each of the vertices. Rotation is performed along the curve passing through each of the vertices to determine whether it corresponds to the correction criteria, and the rotation correction of the direction of the second normal vector reversely according to a preset angle.

또한, 상기 적어도 하나의 폐루프를 생성하는 단계는 상기 꼭지점들 중 기준 꼭지점 및 상기 기준 꼭지점을 지나는 기준 곡선을 선택하는 제1선택단계; 상기 기준 꼭지점을 중심으로 하여 상기 기준 곡선의 반시계 회전방향으로 가장 가까운 제1곡선을 선택하는 제2선택단계; 상기 기준 곡선의 상기 기준 꼭지점이 아닌 다른 꼭지점을 중심으로 하여 상기 기준 곡선의 시계 회전방향으로 가장 가까운 제2곡선을 선택하는 제3선택단계; 및 상기 제1곡선 또는 제2곡선을 다시 상기 기준 곡선으로 설정하고, 선택된 곡선들이 폐루프를 형성할 때까지 상기 제2선택단계 및 제3선택단계를 반복하는 반복단계를 포함할 수 있다.The generating of the at least one closed loop may include: a first selecting step of selecting a reference vertex and a reference curve passing through the reference vertex among the vertices; A second selection step of selecting a first curve closest to the counterclockwise rotation direction of the reference curve based on the reference vertex; A third selection step of selecting a second curve closest to a clockwise rotation direction of the reference curve with respect to a vertex other than the reference vertex of the reference curve; And setting the first curve or the second curve back to the reference curve, and repeating the second selection step and the third selection step until the selected curves form a closed loop.

또한, 상기 폐루프를 생성하는 단계는 생성된 상기 적어도 하나의 폐루프의 꼭지점에서의 상기 반시계 회전방향 또는 상기 시계 회전방향의 각도를 측정하고, 180도 이상인 각도의 개수가 180도 이하인 각도의 개수보다 많은 폐루프를 제거하는 단계를 포함할 수 있다.The generating of the closed loop may include measuring the angle of the counterclockwise rotation or the clockwise rotation at the vertex of the at least one closed loop, and the number of angles of 180 degrees or more is 180 degrees or less. Removing more than the number of closed loops.

또한, 상기 래디얼 베이시스 함수는

Figure 112009079542011-PAT00001
이고, (
Figure 112009079542011-PAT00002
는 상기 적어도 하나의 폐루프상의 샘플링된 포인트들의 3차원 좌표,
Figure 112009079542011-PAT00003
는 1차 아핀(affine) 함수,
Figure 112009079542011-PAT00004
는 실수 계수) 상기 곡면을 생성하는 단계는 각각의 상기 법선 벡터를 이용하여 상기 폐루프 외부의 적어도 하나의 포인트를 생 성하는 단계; 및 상기 래디얼 베이시스 함수, 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 상기 폐루프 외부의 적어도 하나의 포인트를 이용하여 상기
Figure 112009079542011-PAT00005
및 상기
Figure 112009079542011-PAT00006
의 계수를 구하고, 상기
Figure 112009079542011-PAT00007
이 되는 3차원 공간상의 포인트를 이용하여 곡면을 생성하는 단계를 포함할 수 있다.In addition, the radial basis function is
Figure 112009079542011-PAT00001
ego, (
Figure 112009079542011-PAT00002
Is a three-dimensional coordinate of the sampled points on the at least one closed loop,
Figure 112009079542011-PAT00003
Is the first affine function,
Figure 112009079542011-PAT00004
Generating a curved surface may include generating at least one point outside the closed loop using each of the normal vectors; And using the radial basis function, sampled points on the at least one closed loop, and at least one point outside the closed loop.
Figure 112009079542011-PAT00005
And said
Figure 112009079542011-PAT00006
Find the coefficient of, and
Figure 112009079542011-PAT00007
It may include the step of generating a curved surface using the point on the three-dimensional space.

또한, 3차원 곡면 모델 스케치를 위한 모델링 방법은 상기 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하는 단계 이후의 단계로서, 상기 적어도 하나의 폐루프를 구획하는 적어도 하나의 구획곡선을 추가하여 생성된 다수의 폐루프들을 상기 적어도 하나의 폐루프와 동일한 방법으로 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)하여 변형곡면을 생성하는 단계를 더 포함할 수 있다.In addition, a modeling method for sketching a 3D surface model is a step after generating a curved surface by performing a radial basis function interpolation, and includes at least one partition curve for partitioning the at least one closed loop. The method may further include generating a deformation surface by radially basis function interpolating the plurality of closed loops generated in the same manner as the at least one closed loop.

또한, 상기 곡선은 복수의 직선들 및 꼭지점들로 이루어져 사용자에게 시각적으로 곡선으로 보이는 유사 곡선을 더 포함할 수 있다.In addition, the curve may further include a similar curve consisting of a plurality of straight lines and vertices that are visually curved to the user.

또한, 상기 테셀레이션하는 단계는 상기 곡면상의 기준 3 개의 포인트로부터 테셀레이션을 수행하는 단계를 포함할 수 있다.In addition, the tessellation may include performing tessellation from three reference points on the curved surface.

또한, 상기 테셀레이션하는 단계는 상기 곡선 및 상기 곡면상의 기준 1개의 포인트로부터 테셀레이션을 수행하는 단계를 포함할 수 있다.In addition, the tessellation may include performing tessellation from one reference point on the curve and the curved surface.

또한, 상기 기술적 과제를 해결하기 위한 3차원 곡면 모델 스케치를 위한 모델링 시스템은 3차원 상의 복수의 꼭지점들과 상기 꼭지점들을 지나는 복수의 곡선들로 이루어진 폐루프를 생성하기 위한 입력 디바이스; 상기 꼭지점들 각각에서, 상기 꼭지점들 각각을 지나는 두 곡선들의 접선 벡터를 외적하여 3차원 상의 법선벡터를 생성하기 위한 벡터생성부; 상기 각각의 법선벡터가 미리 설정된 보정 기준에 해당하는지 확인하며, 해당하지 않을 경우 보정하기 위한 보정부; 상기 적어도 하나의 폐루프를 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 각각의 상기 법선 벡터를 이용하여 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하기 위한 인터폴레이션부; 및 생성된 상기 곡면을 테셀레이션(tessellation)하기 위한 테셀레이션부를 포함할 수 있다.In addition, a modeling system for sketching a three-dimensional surface model for solving the technical problem is an input device for generating a closed loop consisting of a plurality of vertices and a plurality of curves passing through the vertices in three dimensions; At each of the vertices, a vector generator for generating a normal vector on a three-dimensional cross-section of a tangent vector of two curves passing through each of the vertices; A correction unit for checking whether each of the normal vectors corresponds to a preset correction criterion, and correcting the normal vectors if not applicable; An interpolation unit configured to generate a curved surface of the at least one closed loop by performing a radial basis function interpolation using the sampled points on the at least one closed loop and each of the normal vectors; And a tessellation unit for tessellating the generated curved surface.

본 발명에 따르면 적어도 하나의 폐루프를 이용한 알고리즘을 통하여 3차원 모델 스케치를 함으로써, 사용자에게 쉬운 인터페이스를 제공하고 생성되는 곡면이 부드럽게 연결되도록 할 수 있다.According to the present invention, by sketching a 3D model through an algorithm using at least one closed loop, it is possible to provide an easy interface to the user and to smoothly connect the generated curved surfaces.

본 명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다. Specific structural to functional descriptions of the embodiments of the present invention disclosed in the specification or the application are only illustrated for the purpose of describing the embodiments according to the present invention, and the embodiments according to the present invention may be embodied in various forms. It should not be construed as limited to the embodiments described in this specification or the application.

본 발명에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Since the embodiments according to the present invention can be variously modified and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the present specification or application. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to a particular disclosed form, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and / or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example, without departing from the scope of rights in accordance with the inventive concept, and the first component may be called a second component and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들 을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is described, and that one or more other features It should be understood that it does not exclude in advance the possibility of the presence or addition of numbers, steps, operations, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 1은 본 발명의 일 실시예에 따른 3차원 곡면 모델 스케치를 위한 모델링 시스템(10)을 나타내기 위한 도면이다. 상기 모델링 시스템(10)은 입력 디바이스(100), 벡터 생성부(200), 보정부(300), 인터폴레이션부(400) 및 테셀레이션부(500)를 포함한다.1 is a diagram illustrating a modeling system 10 for sketching a 3D surface model according to an exemplary embodiment of the present invention. The modeling system 10 includes an input device 100, a vector generator 200, a corrector 300, an interpolation unit 400, and a tessellation unit 500.

사용자는 상기 입력 디바이스(100)를 이용하여 3차원 상에 꼭지점과 곡선을 포함하는 폐루프를 생성할 수 있다. 이때, 상기 입력 디바이스(100)는 마우스, 커서 및 스타일러스를 포함할 수 있다.The user may generate a closed loop including vertices and curves in three dimensions by using the input device 100. In this case, the input device 100 may include a mouse, a cursor, and a stylus.

상기 벡터 생성부(200)는 상기 각각의 꼭지점 상에 접선 벡터 및 법선 벡터 를 생성하도록 할 수 있고, 상기 보정부(300)는 상기 각각의 꼭지점 상의 법선 벡터가 미리 결정된 기준(예컨대, 어느 하나의 꼭지점에서의 법선 벡터를 폐루프를 따라 회전하고 다른 꼭지점에 도달할 경우 상기 다른 꼭지점에서의 법선 벡터와 서로 일치하는지 여부)에 해당되지 않는 경우에 보정을 행할 수 있다.The vector generator 200 may generate a tangential vector and a normal vector on each of the vertices, and the correction unit 300 may determine a reference (eg, any one) of the normal vector on each of the vertices. If the normal vector at the vertex is rotated along the closed loop and reaches another vertex, the normal vector can be corrected if it does not correspond to the normal vector at the other vertex).

상기 인터폴레이션부(400)는 폐루프 중 일부를 추출하고 상기 보정된 법선 벡터 및 상기 폐루프의 샘플 포인트 값을 이용하여 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 수행하여 곡면을 생성할 수 있다.The interpolation unit 400 may generate a curved surface by extracting a part of the closed loop and performing a radial basis function interpolation using the corrected normal vector and the sample point value of the closed loop.

상기 테셀레이션부(500)는 상기 인터폴레이션부(400)에 의하여 생성된 곡면을 테셀레이션(tessellation)할 수 있다.The tessellation unit 500 may tessellate the curved surface generated by the interpolation unit 400.

도 2는 본 발명의 일 실시예에 따른 3차원 곡면 모델 스케치를 위한 모델링 방법을 나타내는 흐름도이다. 상기 3차원 곡면 모델 스케치를 위한 모델링 방법은 도 1의 모델링 시스템(10)에 의하여 수행될 수 있다.2 is a flowchart illustrating a modeling method for sketching a 3D surface model according to an exemplary embodiment of the present invention. The modeling method for sketching the 3D curved model may be performed by the modeling system 10 of FIG. 1.

도 2를 참고하면, 입력 디바이스(100)에 의하여 3차원 상에 적어도 하나의 꼭지점과 적어도 하나의 곡선을 포함하는 폐루프가 생성된다(S110). 이때, 상기 적어도 하나의 곡선은 복수의 직선들 및 꼭지점들로 이루어져 사용자에게 시각적으로 곡선으로 보이는 유사 곡선을 더 포함할 수 있다.Referring to FIG. 2, a closed loop including at least one vertex and at least one curve in three dimensions is generated by the input device 100 (S110). In this case, the at least one curve may further include a similar curve composed of a plurality of straight lines and vertices, which are visually curved to the user.

다음으로, 상기 폐루프 상의 각 꼭지점에서의 법선 벡터를 구한다(S120). Next, a normal vector at each vertex on the closed loop is obtained (S120).

다음으로, 어느 하나의 꼭지점에서의 법선 벡터를 폐루프를 따라 회전하고 다른 꼭지점에 도달할 경우 상기 다른 꼭지점에서의 법선 벡터와 서로 일치하는지를 판단하고(S130), 서로 일치하지 않는 경우 서로 일치하도록 보정한다(S140).Next, when the normal vector at one vertex rotates along the closed loop and reaches another vertex, it is determined whether or not it coincides with the normal vector at the other vertex (S130), and if it does not coincide with each other, it is corrected to match each other. (S140).

다음으로, 상기 적어도 하나의 곡선상의 샘플 포인트 값 및 법선 벡터를 이용하여 인터폴레이션을 수행하여 곡면을 생성한다(S150). 상기 인터폴레이션은 래디얼 베이시스 함수 인터폴레이션을 포함할 수 있다.Next, an interpolation is performed using the sample point value and the normal vector on the at least one curve to generate a curved surface (S150). The interpolation may include radial basis function interpolation.

다음으로, 상기 생성된 곡면을 테셀레이션을 한다(S160).Next, the generated curved surface is tessellated (S160).

도 3 내지 도 8은 도 2의 3차원 곡면 모델 스케치를 위한 모델링 방법을 구체적으로 설명하기 위한 일 예를 나타내는 도면이다.3 to 8 are diagrams illustrating an example for describing in detail a modeling method for sketching a 3D curved model of FIG. 2.

도 3을 참고하면, 입력 디바이스(100)에 의하여 적어도 하나의 꼭지점(P1 내지 P4) 및 상기 적어도 하나의 꼭지점(P1 내지 P4)을 지나는 곡선으로 이루어진 폐루프가 생성된다. 이때, 상기 폐루프는 적어도 하나의 꼭지점 및 상기 적어도 하나의 꼭지점을 지나는 직선으로 이루어진 폐루프(다만, 시각적으로는 곡선으로 보이는 폐루프)를 더 포함한다. 도 3에서는 편의상 4개의 꼭지점(P1 내지 P4)과 이를 지나는 곡선으로 폐루프를 도시하였으나, 본 발명의 범위가 이에 한정되는 것은 아니며, 더 많은 꼭지점들과 곡선을 포함할 수 있다.Referring to FIG. 3, a closed loop having a curve passing through at least one vertex P1 to P4 and the at least one vertex P1 to P4 is generated by the input device 100. In this case, the closed loop further includes a closed loop composed of at least one vertex and a straight line passing through the at least one vertex (however, the closed loop visually curved). In FIG. 3, the closed loops are illustrated as four vertices P1 to P4 and curves passing through them for convenience, but the scope of the present invention is not limited thereto and may include more vertices and curves.

도 4를 참고하면, 상기 적어도 하나의 꼭지점(P1 내지 P4)에서 법선 벡터를 생성하기 위하여, 각 꼭지점(예컨대, P1)을 지나는 두 곡선(L1 및 L2)의 3차원 접선 벡터들(T1 및 T2)을 생성한다. Referring to FIG. 4, in order to generate a normal vector at the at least one vertex P1 to P4, three-dimensional tangent vectors T1 and T2 of two curves L1 and L2 passing through each vertex (eg, P1). ).

생성된 상기 접선 벡터들(T1 및 T2)을 외적(cross product)하여 상기 적어도 하나의 꼭지점(P1 내지 P4)에서의 법선 벡터들(N1 내지 N4)을 생성할 수 있다.The normal vectors N1 to N4 at the at least one vertex P1 to P4 may be generated by cross-producting the generated tangent vectors T1 and T2.

도 5를 참고하면, 상기 생성된 법선 벡터들(N1 내지 N4)이 미리 결정된 기준(예컨대, 어느 하나의 꼭지점에서의 법선 벡터를 폐루프를 따라 회전하고 다른 꼭지점에 도달할 경우 상기 다른 꼭지점에서의 법선 벡터와 서로 일치하는지 여부)에 해당하는지를 판단하여 이에 해당하지 않는다면, 보정을 할 수 있다. Referring to FIG. 5, when the generated normal vectors N1 to N4 rotate a predetermined vector (eg, a normal vector at one vertex along a closed loop and reach another vertex), If it does not correspond to the normal vector) and if it does not correspond to the correction can be corrected.

예컨대, 어느 하나의 꼭지점(P1)에서의 법선 벡터(N1)를 상기 꼭지점(P1)을 지나는 곡선(A)에 따라 3차원 회전하고 다른 꼭지점(P2)에 도달할 경우 상기 꼭지점(P1)의 법선 벡터(N1)와 상기 다른 꼭지점(P2)의 법선 벡터(N2)가 서로 일치하는지를 판단한다. For example, when the normal vector N1 at one vertex P1 is rotated three-dimensionally according to the curve A passing through the vertex P1 and reaches the other vertex P2, the vertex P1 is normal. It is determined whether the vector N1 and the normal vector N2 of the other vertex P2 coincide with each other.

이 경우에는 상기 법선 벡터(N1) 및 상기 법선 벡터(N2)가 일치하는 것으로 보아 보정을 행하지 않는다. 이때, 상기 법선 벡터(N1) 및 상기 법선 벡터(N2)가 일치하는 것으로 판단하는 기준은 두 벡터가 완전히 일치하는 경우뿐만 아니라 미리 설정된 기준(예컨대, 상기 법선 벡터(N1) 및 상기 법선 벡터(N2)의 내적(dot product)이 0보다 작은지 여부)에 따라 일치한 것으로 볼 수 있는 경우도 포함한다.In this case, since the normal vector N1 and the normal vector N2 coincide, the correction is not performed. In this case, the criterion for determining that the normal vector N1 and the normal vector N2 coincide is not only when the two vectors match perfectly, but also a preset reference (for example, the normal vector N1 and the normal vector N2). ) Can be considered a match, depending on whether the dot product of the) is less than zero).

또한, 어느 하나의 꼭지점(P1)에서의 법선 벡터(N1)를 상기 꼭지점(P1)을 지나는 곡선(B)에 따라 3차원 회전하고 다른 꼭지점(P4)에 도달할 경우 상기 꼭지점(P1)의 법선 벡터(N1)와 상기 다른 꼭지점(P4)의 법선 벡터(N4)가 서로 일치하는지를 판단한다. Further, when the normal vector N1 at any one vertex P1 is rotated three-dimensionally according to the curve B passing through the vertex P1 and reaches another vertex P4, the normal of the vertex P1 is reached. It is determined whether the vector N1 and the normal vector N4 of the other vertex P4 coincide with each other.

이 경우에는 상기 법선 벡터(N1) 및 상기 법선 벡터(N4)가 일치하지 않는 것으로 보아 상기 법선 벡터(N4)를 보정한 보정 법선 벡터(N4')을 생성한다. 이때, 상기 법선 벡터(N4)를 보정은 상기 법선 벡터(N4)의 방향을 미리 설정된 각도에 따라 반대로 회전 보정하여 보정 법선 벡터(N4')를 생성하는 경우를 포함하나, 본 발 명의 범위가 이에 한정되지는 않는다. In this case, since the normal vector N1 and the normal vector N4 do not match, a corrected normal vector N4 'is generated by correcting the normal vector N4. In this case, the correction of the normal vector N4 includes a case in which the direction of the normal vector N4 is rotated in a reverse direction according to a preset angle to generate a correction normal vector N4 ', but the scope of the present invention is It is not limited.

상기 적어도 하나의 꼭지점(P1 내지 P4)에 대하여 상기 과정을 모두 수행하고, 수행이 종료된 경우 모든 법선 벡터들(N1 내지 N4)는 일치되는 것으로 가정할 수 있다.It may be assumed that all of the above processes are performed on the at least one vertex P1 to P4, and when the execution is completed, all the normal vectors N1 to N4 coincide.

도 6을 참고하면, 상기 적어도 하나의 폐루프 중 일부를 추출(예컨대, 3개의 폐루프 중 2개의 폐루프를 추출)할 수 있다. Referring to FIG. 6, some of the at least one closed loop may be extracted (eg, two closed loops of the three closed loops).

구체적으로, 어느 하나의 꼭지점(P1)을 지나는 어느 하나의 곡선(L1)을 기준 곡선으로 선택하고, 상기 꼭지점(P1)을 중심으로 상기 곡선(L1)의 반시계 회전방향으로 가장 가까운 다른 곡선(L2)를 선택한다. Specifically, any curve L1 passing through any one vertex P1 is selected as a reference curve, and the other curve closest to the counterclockwise rotation direction of the curve L1 around the vertex P1 ( L2).

또한, 상기 곡선(L1)의 다른 꼭지점(P2)을 중심으로 상기 곡선(L1)의 시계 회전방향으로 가장 가까운 다른 곡선(L3)을 선택한다. 폐루프가 형성되지 않았다면, 상기 곡선(L1)을 제외한 다른 곡선(L2 또는 L3)을 다시 기준 곡선으로 선택하고, 상기와 같은 과정을 폐루프(61)가 형성될 때까지 반복한다.Further, another curve L3 closest to the clockwise direction of the curve L1 is selected about the other vertex P2 of the curve L1. If the closed loop is not formed, other curves L2 or L3 except for the curve L1 are again selected as the reference curve, and the above process is repeated until the closed loop 61 is formed.

상기와 같은 과정을 반복하여, 적어도 하나의 폐루프(도 6의 61, 62 및 도 7의 63)를 형성할 수 있다.By repeating the above process, at least one closed loop (61, 62 of FIG. 6 and 63 of FIG. 7) may be formed.

적어도 하나의 폐루프(도 6의 61, 62 및 도 7의 63)가 형성되면, 폐루프 추출 기준에 따라서 상기 적어도 하나의 폐루프 중 일부를 추출한다. 이때, 상기 폐루프 추출 기준은 형성된 상기 적어도 하나의 폐루프의 상기 반시계 회전방향 및 상기 시계 회전방향의 각도를 측정하고, 180도 이하인 각도의 개수가 180도 이상인 각도의 개수보다 많은 폐루프를 추출하는 기준(또는 180도 이상인 각도의 개수가 180도 이하인 각도의 개수보다 많은 폐루프를 제거하는 기준)을 포함한다.Once at least one closed loop (61, 62 in FIG. 6 and 63 in FIG. 7) is formed, a portion of the at least one closed loop is extracted according to the closed loop extraction criteria. In this case, the closed loop extraction reference measures an angle in the counterclockwise rotation direction and the clockwise rotation direction of the at least one closed loop formed, and the number of closed loops is greater than the number of angles of 180 degrees or more. A reference to extract (or a reference to remove more closed loops than the number of angles of 180 degrees or more) is included.

도 7은 상기 폐루프 추출 기준에 따라 제거되는 폐루프(63)를 도시한 도면이다. 폐루프(63)는 꼭지점(P3)을 지나는 어느 하나의 곡선(L3)을 기준 곡선으로 선택하고, 상기 꼭지점(P3)을 중심으로 상기 곡선(L3)의 반시계 회전방향으로 가장 가까운 다른 곡선(L4)를 선택한다. 7 is a diagram illustrating a closed loop 63 removed according to the closed loop extraction criteria. The closed loop 63 selects one curve L3 passing through the vertex P3 as a reference curve, and the other curve closest to the counterclockwise rotation direction of the curve L3 around the vertex P3 ( L4).

또한, 상기 곡선(L3)의 다른 꼭지점(P2)을 중심으로 상기 곡선(L3)의 시계 회전방향으로 가장 가까운 다른 곡선(L1)을 선택한다. 폐루프가 형성되지 않았다면, 상기 곡선(L3)을 제외한 다른 곡선(L1 또는 L4)을 다시 기준 곡선으로 선택하고, 상기와 같은 과정을 반복하여 상기 폐루프(63)을 형성할 수 있다.Also, another curve L1 closest to the clockwise direction of the curve L3 is selected about the other vertex P2 of the curve L3. If the closed loop is not formed, other curves L1 or L4 except the curve L3 may be selected as the reference curve again, and the above process may be repeated to form the closed loop 63.

이때, 상기 폐루프(63)는 3개의 꼭지점(P1, P3 및 P4)에서 180도 이상인 각도를 나타내고, 1개의 꼭지점(P2)에서 180도 이하인 각도를 나타낸다. 180도 이상인 각도의 개수(3개)가 180도 이하인 각도의 개수(1개)보다 많으므로 상기 폐루프(63)는 제거한다.In this case, the closed loop 63 represents an angle of 180 degrees or more at three vertices P1, P3, and P4, and an angle of 180 degrees or less at one vertex P2. Since the number (three) of angles 180 degrees or more is larger than the number (1) of angles 180 degrees or less, the closed loop 63 is removed.

도 8은 상기 폐루프(61 및 62) 상의 샘플링된 포인트들(81)을 나타낸다. 상기 폐루프(61 및 62) 상에서 포인트들(81)을 샘플링하고, 상기 샘플링된 포인트들(81) 및 상기 법선 벡터(N1 내지 N4)를 이용하여 래디얼 베이시스 함수 인터폴레이션을 수행하여 곡면을 생성한다.8 shows sampled points 81 on the closed loops 61 and 62. The points 81 are sampled on the closed loops 61 and 62, and a radial basis function interpolation is performed using the sampled points 81 and the normal vectors N1 to N4 to generate a curved surface.

래디얼 베이시스 함수

Figure 112009079542011-PAT00008
는 이하 수학식 1과 같다.Radial Basis Function
Figure 112009079542011-PAT00008
Equation
1 is as follows.

Figure 112009079542011-PAT00009
Figure 112009079542011-PAT00009

여기서,

Figure 112009079542011-PAT00010
는 상기 적어도 하나의 폐루프(61 및 62)상의 샘플링된 포인트(81)의 3차원 좌표에 해당하고,
Figure 112009079542011-PAT00011
는 1차 아핀(affine) 함수에 해당하며,
Figure 112009079542011-PAT00012
는 실수 계수에 해당한다.here,
Figure 112009079542011-PAT00010
Corresponds to the three-dimensional coordinates of the sampled point 81 on the at least one closed loop 61 and 62,
Figure 112009079542011-PAT00011
Corresponds to the first-order affine function,
Figure 112009079542011-PAT00012
Corresponds to the real coefficient.

각각의 상기 법선 벡터(N1 내지 N4)를 이용하여 상기 폐루프(61 및 62) 외부의 적어도 하나의 포인트를 얻을 수 있고, 상기 래디얼 베이시스 함수, 적어도 하나의 폐루프(61 및 62)상의 샘플링된 포인트(81) 및 상기 폐루프 외부의 적어도 하나의 포인트(미도시)를 이용하여 상기

Figure 112009079542011-PAT00013
및 상기
Figure 112009079542011-PAT00014
의 계수를 구하고, 상기
Figure 112009079542011-PAT00015
이 되는 3차원 공간상의 포인트들을 이용하여 곡면을 생성할 수 있다.Each of the normal vectors N1 to N4 can be used to obtain at least one point outside the closed loops 61 and 62, and sampled on the radial basis function, at least one closed loop 61 and 62. The point 81 and at least one point (not shown) outside the closed loop
Figure 112009079542011-PAT00013
And said
Figure 112009079542011-PAT00014
Find the coefficient of, and
Figure 112009079542011-PAT00015
The curved surface may be generated using the points in the 3D space.

도 9는 도 2의 3차원 곡면 모델 스케치를 위한 모델링 방법을 도 1의 3차원 곡면 모델 스케치를 위한 모델링 시스템(10)을 이용하여 구현한 일 실시예를 나타낸다.FIG. 9 illustrates an embodiment in which a modeling method for sketching a 3D surface model of FIG. 2 is implemented using the modeling system 10 for sketching a 3D surface model of FIG. 1.

도 9를 참고하면, 상기 입력 디바이스(100)를 이용하여 곡선을 그리고(91), 폐루프가 구성되지 않을 경우 곡선을 추가하여 적어도 하나의 폐루프를 구성하도록 한다(92).Referring to FIG. 9, a curve 91 is drawn using the input device 100, and if a closed loop is not configured, a curve is added to configure at least one closed loop (92).

상기 적어도 하나의 폐루프가 구성되면, 곡면을 생성하고자 하는 폐루프를 선택하고(93), 상기 래디얼 베이시스 인터폴레이션을 수행하여 곡면을 생성시킬 수 있다(94).When the at least one closed loop is configured, the closed loop for generating the curved surface may be selected (93), and the radial basis interpolation may be performed to generate the curved surface (94).

또한, 원하는 곡면의 형태에 따라 상기 폐루프를 구획하는 적어도 하나의 곡선을 추가한 후(95), 상기 래디얼 베이시스 인터폴레이션을 다시 수행하여 변형곡면을 생성시킬 수 있다(96).In addition, after adding at least one curve for partitioning the closed loop according to the shape of the desired surface (95), the radial basis interpolation may be performed again to generate a deformation surface (96).

도 10은 도 8에서 생성된 곡면을 테셀레이션한 결과를 나타내는 도면이다. 상기 생성된 곡면은 미리 결정된 테셀레이션 방법을 이용하여 테셀레이션을 행할 수 있다.FIG. 10 is a diagram illustrating a result of tessellation of the curved surface generated in FIG. 8. The generated curved surface may be subjected to tessellation using a predetermined tessellation method.

도 11 내지 도 14는 상기 미리 결정된 테셀레이션 방법의 일 예를 설명하기 위한 도면이다. 도 11 내지 도 14를 참고하면, 상기 폐루프(61 및 62)를 구성하는 곡선들(예컨대, 복수의 직선들 및 꼭지점들로 이루어져 사용자에게 시각적으로 곡선으로 보이는 유사 곡선들)의 상기 복수의 직선들의 제1리스트를 등록한다(S10).11 to 14 are diagrams for describing an example of the predetermined tessellation method. 11 to 14, the plurality of straight lines of the curves constituting the closed loops 61 and 62 (eg, similar curves which are visually curved to the user by being composed of a plurality of straight lines and vertices). Register the first list of (S10).

다음으로, 상기 제1리스트 중 어느 한 직선(SL1)을 선택하고, 상기 직선의 중점(M)에서 상기 생성된 곡면의 표면 법선 벡터(N5)를 구한다(S20).Next, any one straight line SL1 of the first list is selected, and the surface normal vector N5 of the generated curved surface is obtained from the midpoint M of the straight line (S20).

다음으로, 상기 중점(M)과 상기 표면 법선 벡터(N5)로 구성된 가상의 평면(

Figure 112009079542011-PAT00016
)에서 상기 직선(SL1)에 수직인 방향으로 일정거리 떨어진 포인트(Q1)를 구하고(S30), 상기 포인트(Q1)에서 상기 곡면상으로 가장 가까운 포인트(Q2)를 구한다(S40).Next, an imaginary plane composed of the midpoint M and the surface normal vector N5 (
Figure 112009079542011-PAT00016
In step S30, a point Q1 spaced apart in a direction perpendicular to the straight line SL1 is obtained (S30), and the point Q2 nearest to the curved surface is obtained from the point Q1 (S40).

상기 제1리스트에 포함되고 상기 과정(S20 내지 S40)을 거치지 않은 다른 직선들 중에서, 상기 직선(SL1)과 상기 포인트(Q2)로 구성된 삼각형(TRI_1)을 외접하는 외접구(SP_1) 내부에 포함되는 직선들(SL2 및 SL3)의 꼭지점(다만, 상기 직선(SL1)의 꼭지점과 겹치는 꼭지점은 제외)에서의 법선 벡터와 상기 중점(M)에서의 표면 법선 벡터의 내적이 0보다 클 경우(즉, 서로 뒤집혀 있지 않은 경우), 상기 직선들(SL2 및 SL3)의 꼭지점과 상기 중점(M)과의 거리(D1 및 D2)에 따라서 꼭지점들(P5 및 P6)을 오름차순으로 정렬하여 제2리스트를 등록한다(S50).Among the other straight lines included in the first list and not through the processes S20 to S40, the internal circumference SP_1 is circumscribed by a triangle TRI_1 including the straight line SL1 and the point Q2. If the dot product of the normal vector at the vertices of the straight lines SL2 and SL3 (except for the vertices overlapping the vertices of the straight line SL1) and the surface normal vector at the midpoint M is greater than zero (i.e. The second list by sorting the vertices P5 and P6 in ascending order according to the distances D1 and D2 between the vertices of the straight lines SL2 and SL3 and the midpoint M. Register (S50).

상기 제2리스트가 비었는지 여부를 판단하고(S60), 만일, 상기 제2리스트가 비었다면(미도시), 상기 직선(SL1)과 상기 포인트(Q2)로 구성된 삼각형(TRI_1)을 이용하여 테셀레이션 결과에 추가(S65)한다. 다음으로, 상기 직선(SL1)을 상기 제1리스트로부터 제외하고, 상기 직선(SL1)을 제외한 상기 삼각형(TRI_1)을 구성하는 다른 직선들(SL4 및 SL5)을 상기 제1리스트에 추가한다(S70).It is determined whether the second list is empty (S60), and if the second list is empty (not shown), tessellation is performed using a triangle TRI_1 composed of the straight line SL1 and the point Q2. Add to the result (S65). Next, except for the straight line SL1 from the first list, other straight lines SL4 and SL5 constituting the triangle TRI_1 excluding the straight line SL1 are added to the first list (S70). ).

만일, 상기 제2리스트가 비어있지 않다면(도 13의 경우), 상기 직선(SL1)과 제2리스트상의 가장 단거리에 있는 꼭지점(P5)으로 구성된 삼각형(TRI_2)을 외접하는 외접구(SP_2)를 생성하고, 상기 제1리스트의 직선들의 꼭지점이 상기 외접구(SP_2) 내부에 포함되지 않는지 여부를 테스트한다(S81).If the second list is not empty (in the case of FIG. 13), the external opening SP_2 circumscribes a triangle TRI_2 composed of the straight line SL1 and the vertex P5 at the shortest distance on the second list. In operation S81, a vertex of the straight lines of the first list is not included in the circumferential opening SP_2.

상기 테스트를 패스하면, 상기 삼각형(TRI_2)이 진행 조건(예컨대, 상기 중점(M)에서의 상기 표면 법선 벡터와 상기 직선(SL1)의 외적, 및 상기 중점에서 상기 꼭지점(P5)을 향하는 벡터와의 내적이 0보다 큰지 또는 작은지를 판단하는 조건)에 해당하는지를 판단하고(S82), 이에 해당하면, 상기 삼각형(TRI_2)을 이용하 여 테셀레이션 결과에 추가한다(S83). 다음으로, 상기 직선(SL1)을 상기 제1리스트로부터 제외하고, 상기 직선(SL1)을 제외한 상기 삼각형(TRI_2)을 구성하는 다른 직선들을 상기 제1리스트에 추가한다(S70).When the test passes, the triangle TRI_2 is a forward condition (e.g., the cross product of the surface normal vector and the straight line SL1 at the midpoint M, and a vector toward the vertex P5 at the midpoint; Condition of determining whether the inner product is greater than or less than 0) (S82), and if so, adds it to the tessellation result using the triangle TRI_2 (S83). Next, except for the straight line SL1 from the first list, other straight lines constituting the triangle TRI_2 except for the straight line SL1 are added to the first list (S70).

상기 테스트를 패스하지 못하거나 상기 진행 조건에 해당하지 않는다면, 상기 꼭지점(P5) 다음번으로 단거리에 있는 꼭지점(P6)에서 상기 과정(S81 내지 S83) 을 다시 수행한다(S84).If the test does not pass or does not correspond to the progress condition, the processes S81 to S83 are performed again at the vertex P6 located next to the vertex P5 (S84).

도 11 내지 도 14에 도시된 테셀레이션 방법은 한 번의 테셀레이션 과정을 설명한 것으로, 상기 곡면 전체를 테셀레이션하기 위하여 반복 수행될 수 있다.The tessellation method illustrated in FIGS. 11 to 14 has described one tessellation process and may be repeatedly performed to tessellate the entire curved surface.

상기와 같이 폐루프 상의 직선으로부터 테셀레이션을 수행함으로써, 폐루프와 폐루프 간의 경계 역시 자연스럽게 테셀레이션된다.By performing tessellation from a straight line on the closed loop as described above, the boundary between the closed loop and the closed loop is also naturally tesselated.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1은 본 발명의 일 실시예에 따른 3차원 곡면 모델 스케치를 위한 모델링 시스템을 나타내기 위한 도면이다.1 is a view showing a modeling system for sketching a three-dimensional surface model according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 3차원 곡면 모델 스케치를 위한 모델링 방법을 나타내는 흐름도이다.2 is a flowchart illustrating a modeling method for sketching a 3D surface model according to an exemplary embodiment of the present invention.

도 3 내지 도 8은 도 2의 3차원 곡면 모델 스케치를 위한 모델링 방법을 구체적으로 설명하기 위한 일 예를 나타내는 도면이다.3 to 8 are diagrams illustrating an example for describing in detail a modeling method for sketching a 3D curved model of FIG. 2.

도 9는 도 2의 3차원 곡면 모델 스케치를 위한 모델링 방법을 도 1의 3차원 곡면 모델 스케치를 위한 모델링 시스템을 이용하여 구현한 일 실시예를 나타낸다.FIG. 9 illustrates an embodiment in which a modeling method for sketching a 3D surface model of FIG. 2 is implemented using a modeling system for sketching a 3D surface model of FIG. 1.

도 10은 도 8에서 생성된 곡면을 테셀레이션한 결과를 나타내는 도면이다.FIG. 10 is a diagram illustrating a result of tessellation of the curved surface generated in FIG. 8.

도 11 내지 도 14는 도 9의 테셀레이션을 하기 위한 방법의 일 예를 설명하기 위한 도면이다.11 to 14 are diagrams for describing an example of a method for tessellation of FIG. 9.

Claims (14)

입력 디바이스를 이용하여 3차원 상의 복수의 꼭지점들과 상기 꼭지점들을 지나는 복수의 곡선으로 이루어진 적어도 하나의 폐루프를 생성하는 단계;Generating at least one closed loop of a plurality of vertices on a three-dimensional plane and a plurality of curves passing through the vertices using an input device; 상기 꼭지점들 각각에서, 상기 꼭지점들 각각을 지나는 두 곡선들의 접선 벡터를 외적하여 법선 벡터를 생성하는 단계;At each of the vertices, generating a normal vector by interpolating a tangent vector of two curves passing through each of the vertices; 상기 각각의 법선 벡터가 미리 설정된 보정 기준에 해당하는지 확인하며, 해당하지 않을 경우 보정하는 단계;Checking whether each of the normal vectors corresponds to a preset correction criterion, and if not, correcting the normal vectors; 상기 적어도 하나의 폐루프를 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 각각의 상기 법선 벡터를 이용하여 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하는 단계; 및Generating a curved surface of the at least one closed loop using a radial basis function interpolation using the sampled points on the at least one closed loop and each of the normal vectors; And 생성된 상기 곡면을 테셀레이션(tessellation)하는 단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.Tessellating the generated surface, the modeling method for sketching a three-dimensional surface model. 제1항에 있어서, The method of claim 1, 상기 보정 기준은 각각의 상기 법선 벡터 중 제1 법선 벡터와 제2 법선 벡터의 내적이 0보다 작은지 여부를 판단하는 기준을 포함하고,The correction criterion includes a criterion for determining whether the inner product of the first normal vector and the second normal vector among the normal vectors is less than zero, 상기 보정하는 단계는 상기 꼭지점들 각각의 상기 법선 벡터를 상기 꼭지점들 각각을 지나는 곡선을 따라서 회전하여 상기 보정 기준에 해당하는지 확인하여, 상기 제2 법선 벡터의 방향을 미리 설정된 각도에 따라 반대로 회전 보정하는 단계 를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.The correcting may include rotating the normal vector of each of the vertices along a curve passing through each of the vertices to determine whether the normal vector corresponds to the correction criterion, and thereby rotating the second normal vector in a reverse angle according to a preset angle. A modeling method for sketching a 3D surface model comprising the step of. 제1항에 있어서, The method of claim 1, 상기 적어도 하나의 폐루프를 생성하는 단계는Generating the at least one closed loop 상기 꼭지점들 중 기준 꼭지점 및 상기 기준 꼭지점을 지나는 기준 곡선을 선택하는 제1선택단계; A first selection step of selecting a reference vertex and a reference curve passing through the reference vertex among the vertices; 상기 기준 꼭지점을 중심으로 하여 상기 기준 곡선의 반시계 회전방향으로 가장 가까운 제1곡선을 선택하는 제2선택단계; A second selection step of selecting a first curve closest to the counterclockwise rotation direction of the reference curve based on the reference vertex; 상기 기준 곡선의 상기 기준 꼭지점이 아닌 다른 꼭지점을 중심으로 하여 상기 기준 곡선의 시계 회전방향으로 가장 가까운 제2곡선을 선택하는 제3선택단계; 및A third selection step of selecting a second curve closest to a clockwise rotation direction of the reference curve with respect to a vertex other than the reference vertex of the reference curve; And 상기 제1곡선 또는 제2곡선을 다시 상기 기준 곡선으로 설정하고, 선택된 곡선들이 폐루프를 형성할 때까지 상기 제2선택단계 및 제3선택단계를 반복하는 반복단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.3D surface model sketch including an iterative step of setting the first curve or the second curve back to the reference curve and repeating the second selection step and the third selection step until the selected curves form a closed loop. Modeling method for 제3항에 있어서, 상기 폐루프를 생성하는 단계는The method of claim 3, wherein generating the closed loop 생성된 상기 적어도 하나의 폐루프의 꼭지점에서의 상기 반시계 회전방향 또는 상기 시계 회전방향의 각도를 측정하고, 180도 이상인 각도의 개수가 180도 이하인 각도의 개수보다 많은 폐루프를 제거하는 단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.Measuring an angle of the counterclockwise rotation or the clockwise rotation direction at the vertex of the at least one closed loop, and removing more closed loops than the number of angles of 180 degrees or more is less than 180 degrees Modeling method for sketching 3D surface models, including. 제1항에 있어서, The method of claim 1, 상기 래디얼 베이시스 함수는
Figure 112009079542011-PAT00017
이고,
The radial basis function is
Figure 112009079542011-PAT00017
ego,
(
Figure 112009079542011-PAT00018
는 상기 적어도 하나의 폐루프상의 샘플링된 포인트들의 3차원 좌표,
Figure 112009079542011-PAT00019
는 1차 아핀(affine) 함수,
Figure 112009079542011-PAT00020
는 실수 계수)
(
Figure 112009079542011-PAT00018
Is a three-dimensional coordinate of the sampled points on the at least one closed loop,
Figure 112009079542011-PAT00019
Is the first affine function,
Figure 112009079542011-PAT00020
Is a real factor)
상기 곡면을 생성하는 단계는 The step of generating the surface 각각의 상기 법선 벡터를 이용하여 상기 폐루프 외부의 적어도 하나의 포인트를 생성하는 단계; 및Generating at least one point outside the closed loop using each normal vector; And 상기 래디얼 베이시스 함수, 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 상기 폐루프 외부의 적어도 하나의 포인트를 이용하여 상기
Figure 112009079542011-PAT00021
및 상기
Figure 112009079542011-PAT00022
의 계수를 구하고, 상기
Figure 112009079542011-PAT00023
이 되는 3차원 공간상의 포인트를 이용하여 곡면을 생성하는 단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.
Using the radial basis function, sampled points on the at least one closed loop, and at least one point outside the closed loop;
Figure 112009079542011-PAT00021
And said
Figure 112009079542011-PAT00022
Find the coefficient of, and
Figure 112009079542011-PAT00023
A modeling method for sketching a three-dimensional surface model comprising the step of generating a surface by using a point on the three-dimensional space.
제1항에 있어서, 상기 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하는 단계 이후의 단계로서,The method of claim 1, further comprising generating a curved surface by performing a radial basis function interpolation. 상기 적어도 하나의 폐루프를 구획하는 적어도 하나의 구획곡선을 추가하여 생성된 다수의 폐루프들을 상기 적어도 하나의 폐루프와 동일한 방법으로 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)하여 변형곡면을 생성하는 단계를 더 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.Radial Basis Function Interpolation of a plurality of closed loops generated by adding at least one partition curve for partitioning the at least one closed loop in the same manner as the at least one closed loop to generate a deformation surface Modeling method for sketching a three-dimensional surface model further comprising the steps. 제1항에 있어서,The method of claim 1, 상기 곡선은 복수의 직선들 및 꼭지점들로 이루어져 사용자에게 시각적으로 곡선으로 보이는 유사 곡선을 더 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.The curve is a modeling method for sketching a three-dimensional surface model further comprises a plurality of straight lines and vertices similar curve that is visually curved to the user. 제1항에 있어서, The method of claim 1, 상기 테셀레이션하는 단계는 상기 곡면상의 기준 3 개의 포인트로부터 테셀레이션을 수행하는 단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.The tessellation may include performing tessellation from three reference points on the surface. 제1항에 있어서, The method of claim 1, 상기 테셀레이션하는 단계는 상기 곡선 및 상기 곡면상의 기준 1개의 포인트로부터 테셀레이션을 수행하는 단계를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 방법.The tessellation may include performing tessellation from the curve and one reference point on the surface. 제1항 내지 제9항의 방법 중 어느 한 항에 기재된 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 기록매체.A recording medium having recorded thereon a computer program for executing the method according to any one of claims 1 to 9. 3차원 상의 복수의 꼭지점들과 상기 꼭지점들을 지나는 복수의 곡선들로 이루어진 폐루프를 생성하기 위한 입력 디바이스;An input device for generating a closed loop consisting of a plurality of vertices in three dimensions and a plurality of curves passing through the vertices; 상기 꼭지점들 각각에서, 상기 꼭지점들 각각을 지나는 두 곡선들의 접선 벡터를 외적하여 3차원 상의 법선벡터를 생성하기 위한 벡터생성부;At each of the vertices, a vector generator for generating a normal vector on a three-dimensional cross-section of a tangent vector of two curves passing through each of the vertices; 상기 각각의 법선벡터가 미리 설정된 보정 기준에 해당하는지 확인하며, 해당하지 않을 경우 보정하기 위한 보정부;A correction unit for checking whether each of the normal vectors corresponds to a preset correction criterion, and correcting the normal vectors if not applicable; 상기 적어도 하나의 폐루프를 상기 적어도 하나의 폐루프상의 샘플링된 포인트 및 각각의 상기 법선 벡터를 이용하여 래디얼 베이시스 함수 인터폴레이션(Radial Basis Function Interpolation)을 하여 곡면을 생성하기 위한 인터폴레이션부; 및An interpolation unit configured to generate a curved surface of the at least one closed loop by performing a radial basis function interpolation using the sampled points on the at least one closed loop and each of the normal vectors; And 생성된 상기 곡면을 테셀레이션(tessellation)하기 위한 테셀레이션부를 포함하는 3차원 곡면 모델 스케치를 위한 모델링 시스템.Modeling system for a three-dimensional surface model sketch including a tessellation unit for tessellation (tessellation) the generated surface. 제11항에 있어서,The method of claim 11, 상기 곡선은 복수의 직선들 및 꼭지점들로 이루어져 사용자에게 시각적으로 곡선으로 보이는 유사 곡선을 더 포함하는 3차원 곡면 모델 스케치를 위한 모델링 시스템.The curve is a modeling system for a three-dimensional surface model sketch further comprises a plurality of straight lines and vertices, similar curve that is visually curved to the user. 제11항에 있어서, The method of claim 11, 상기 테셀레이션부는 상기 곡면상의 기준 3 개의 포인트로부터 테셀레이션을 수행하는 3차원 곡면 모델 스케치를 위한 모델링 시스템.The tessellation unit is a modeling system for a three-dimensional surface model sketch for performing a tessellation from the reference three points on the surface. 제12항에 있어서, The method of claim 12, 상기 테셀레이션부는 상기 곡선 및 상기 곡면상의 기준 1개의 포인트로부터 테셀레이션을 수행하는 3차원 곡면 모델 스케치를 위한 모델링 시스템.The tessellation unit is a modeling system for a three-dimensional surface model sketch for performing tessellation from the reference point of the curve and the surface.
KR1020090129403A 2009-12-23 2009-12-23 Modeling method and system for sketching 3d curved surface model, and program recording medium KR20110072462A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090129403A KR20110072462A (en) 2009-12-23 2009-12-23 Modeling method and system for sketching 3d curved surface model, and program recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090129403A KR20110072462A (en) 2009-12-23 2009-12-23 Modeling method and system for sketching 3d curved surface model, and program recording medium

Publications (1)

Publication Number Publication Date
KR20110072462A true KR20110072462A (en) 2011-06-29

Family

ID=44403368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090129403A KR20110072462A (en) 2009-12-23 2009-12-23 Modeling method and system for sketching 3d curved surface model, and program recording medium

Country Status (1)

Country Link
KR (1) KR20110072462A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521874A (en) * 2011-11-24 2012-06-27 黑龙江科技学院 Normal sampling recalculation method based on image reconstruction three-dimensional data
CN103985152A (en) * 2014-01-15 2014-08-13 浙江工业大学 Three-dimensional symmetrical free body generation method based on two-dimensional hand-painted line drawing
KR20140134032A (en) * 2013-05-13 2014-11-21 한국전자통신연구원 Method for describing terrain, method for creating terrain primitives, and apparatus using the methods
US9779547B2 (en) 2013-07-09 2017-10-03 Samsung Electronics Co., Ltd. Tessellation method for assigning a tessellation factor per point and device performing the method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521874A (en) * 2011-11-24 2012-06-27 黑龙江科技学院 Normal sampling recalculation method based on image reconstruction three-dimensional data
KR20140134032A (en) * 2013-05-13 2014-11-21 한국전자통신연구원 Method for describing terrain, method for creating terrain primitives, and apparatus using the methods
US9779547B2 (en) 2013-07-09 2017-10-03 Samsung Electronics Co., Ltd. Tessellation method for assigning a tessellation factor per point and device performing the method
CN103985152A (en) * 2014-01-15 2014-08-13 浙江工业大学 Three-dimensional symmetrical free body generation method based on two-dimensional hand-painted line drawing
CN103985152B (en) * 2014-01-15 2017-01-25 浙江工业大学 Three-dimensional symmetrical free body generation method based on two-dimensional hand-painted line drawing

Similar Documents

Publication Publication Date Title
JP5890105B2 (en) Designing parts modeled by parallel geodesic lines
CN108099203B (en) Orientation of real objects for 3D printing
US11501029B2 (en) Designing objects using lattice structure optimization
CN113228115A (en) Transformation of grid geometry into watertight boundary representation
KR100707841B1 (en) Nurbs surface deformation apparatus and the method using 3d target curve
KR20110072462A (en) Modeling method and system for sketching 3d curved surface model, and program recording medium
Barnfather et al. Efficient compensation of dimensional errors in robotic machining using imperfect point cloud part inspection data
US10943037B2 (en) Generating a CAD model from a finite element mesh
KR101423392B1 (en) 3D CAD simplification method of equipment and materials of ship outfitting and offshore plants
JP2017162448A (en) Designing outer surface of composite part
EP3140751B1 (en) Method for creating a parametric planing hull model
JP5404109B2 (en) Information processing apparatus and information processing method
JP4981313B2 (en) Three-dimensional shape processing apparatus, curved surface creation program, and curved surface creation method
JP2010152863A (en) System and method for extracting boundary node, and program
Xie et al. A triangulation-based hole patching method using differential evolution
JP5686975B2 (en) Point sequence generation method, point sequence generation program, point sequence generation device, and machine tool provided with the same
JP4622987B2 (en) Tool reference plane data creation device and creation method
KR101811135B1 (en) Apparatus and method for simplifying model through optimal level-of-detail decision
Hai et al. A CAE-oriented mesh hole-filling algorithm focusing on geometry and quality
KR102058093B1 (en) Graphics processing apparatus and method for improving mesh quality of a graphic model having a high-order mesh structure including overlapping elements
KR102039265B1 (en) Method and Apparatus for Geometrical interference check and installation order deriving of ship/offshore plant pipe model using JT format
CN111325854A (en) Shape model correction device, shape model correction method, and storage medium
CN110717291B (en) Welding structure deformation simulation method, device, equipment and storage medium
Andreev et al. Development of a Discrete Slicer for Additive Manufacturing
US11615590B2 (en) Methods and systems for generating surfaces from polygonal data

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
NORF Unpaid initial registration fee