KR100433947B1 - 형상 기반의 삼각망 생성 방법 - Google Patents

형상 기반의 삼각망 생성 방법 Download PDF

Info

Publication number
KR100433947B1
KR100433947B1 KR10-2002-0009962A KR20020009962A KR100433947B1 KR 100433947 B1 KR100433947 B1 KR 100433947B1 KR 20020009962 A KR20020009962 A KR 20020009962A KR 100433947 B1 KR100433947 B1 KR 100433947B1
Authority
KR
South Korea
Prior art keywords
triangle
point
dimensional
parameter
loop
Prior art date
Application number
KR10-2002-0009962A
Other languages
English (en)
Other versions
KR20030070426A (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 KR10-2002-0009962A priority Critical patent/KR100433947B1/ko
Publication of KR20030070426A publication Critical patent/KR20030070426A/ko
Application granted granted Critical
Publication of KR100433947B1 publication Critical patent/KR100433947B1/ko

Links

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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 3D 그래픽에서 형상을 디스플레이하기 위한 삼각망 생성 방법에 관한 것으로써, 3차원에서 표현된 경계 곡선들을 2차원 매개변수 공간상의 트리밍 곡선으로 변환하는 제 1 단계;상기 변환된 트리밍 곡선에 대해 각 셀이 하나의 외부 루프만을 가지도록 셀을 나누고 셀루프를 구성하는 제 2 단계;상기 각 셀에 대하여 셀 단위의 경계만을 기반으로 하여 상기 매개변수 영역에서 삼각화를 수행하여 삼각형을 생성하는 제 3 단계; 및 상기 매개변수 공간상의 삼각형으로부터 상기 3차원 공간상의 삼각형을 생성하는 제 4 단계;를 포함하여 구성된다.
본 발명에 의하면, 기존 방법에 비해 삼각망 생성 속도가 빠르고, 생성된 삼각형들은 형상에 최적화 됨으로써 데이터양이 적어 시스템 자원을 적게 차지하고, 빠른 디스플레이가 가능하다.

Description

형상 기반의 삼각망 생성 방법{EXACT GEOMETRY BASED TRIANGLE MESH GENERATING METHOD}
본 발명은 3차원 그래픽(3D graphics)에서 형상을 디스플레이하기 위한 엔진에 사용되는 삼각망 생성 방법에 관한 것으로써, 특히 3D로 모델링된 경계 표현 곡면(bounded surface)으로부터 경계와 곡률을 고려하여 곡면 내부를 삼각형으로 만드는 방법에 있어서 모든 곡면을 NURBS(Non-Uniform Rational B-spline Surface)로 변환하지 않고 원래의 곡면상에서 삼각화하는 방법에 관한 것이다.
3차원 그래픽에 있어서 3D 형상의 디스플레이를 위해서는 형상의 내부를 미세한 단위 요소로 조각내어 이를 표현하는데, 단위 요소의 모양으로는 통상 삼각형이 사용되며 이들 삼각형의 집합을 삼각망(Triangle Mesh)이라 하며, 삼각망을 생성하는 장치를 삼각망 생성기(Triangulator)라 한다.
삼각망 생성을 위한 다양한 종래의 삼각망 생성 방법 및 종래의 삼각망 생성기가 이미 제공되고 있다.
도 1은 종래의 삼각망 생성 방법의 일예를 나타내는 순서도이다.
먼저 기저 곡면(base surface)을 NURBS(Non-Uniform Rational B-spline Surface)로 변환하고(S 110), 다음 경계 곡선을 트리밍 곡선(trimming curve)으로변환한다(S 120). 즉, 기저 곡면의 모양에는 관계없이 곡면을 일률적으로 NURBS로 변환하고 그 후 경계 곡선을 변환된 NURBS의 매개 변수 상에서 변환하여 트리밍 곡선으로 변환하는 방법을 취하고 있다.
다음 트리밍 루프를 구성하고(S 130), 델라우나이 삼각화(Delaunay Triangulation) 방식을 사용하여 삼각망을 형성하는 각각의 삼각형을 생성하고(S 140), 마지막으로 이렇게 생성된 각각의 파라메트릭 삼각형을 실제 삼각형으로 변환한다(S 150).
즉, 이러한 종래 삼각망 생성 방법은 경계 곡면(bounded surface)을 NURBS로 변환하고 경계 곡선(boundary curve)들을 NURBS상의 매개변수 곡선으로 변환하며, 내부 경계를 처리하기 위해 심라인(seam line)을 생성한 후 NURBS 매개변수 공간(parametric domain)상에서 델라우나이 삼각화 방식을 사용하여 균일에 가까운 형태의 삼각형들을 생성해 내는 방식을 취하고 있다.
이러한 종래 델라우나이 삼각화에 의해 생성되는 삼각형은 모든 삼각형이 정삼각형에 가까워야 하는 유한요소해석(FEA; Finite Element Analysis)과 같은 해석의 목적에는 적합하지만, 형상이나 경계와 별개의 과도한 삼각형이 많아 시스템 자원을 낭비하고 데이터 전송 속도 및 디스플레이 속도를 저하시키게 된다는 문제점이 지적되어 왔다.
또한, 삼각망 생성 알고리즘의 특성상 삼각형을 생성하는 파라미터 공간이 NURBS의 매개변수 공간 안에서 이루어지므로 반복 수치 계산법(Iteration)을 사용하게 되므로 삼각망 생성에 걸리는 시간이 길어질 수 밖에 없으며, 실세계 좌표로부터 매개변수 공간 상의 포인트를 찾는데 시간이 많이 걸리므로 전체적인 삼각망 생성 시간이 길어진다는 문제점이 아울러 지적되어 왔다.
또한, 종래의 삼각망 생성 방법은 이러한 데이터 용량 및 속도상에서의 문제점으로 인하여, 형상에 최적화된 신속한 삼각형의 생성이 요구되는 3차원 그래픽 분야 즉 3D CAD, 가상현실, 속도와 데이터의 크기가 중요한 관권이 되는 인터넷 상에서의 가상현실 분야, 많은 요소를 한번에 보여 주어야 하는 건축설계, 인테리어 시뮬레이션 등의 적용에 일정한 한계를 지니며 효율이 떨어질 수 밖에 없다는 문제점이 지적되고 있다.
본 발명은 상기 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 삼각망 생성 속도와 생성된 삼각형의 특성, 이 두 가지 측면을 동시에 개선할 수 있는 삼각망 생성 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 1차 및 2차 곡면에 대한 NURBS 변환을 필요로 하지 않도록 구성하여 삼각망 생성을 위한 전처리 속도 및 삼각형 생성속도를 개선하며, 생성된 삼각형들을 형상과 경계에 최적화시켜 데이터의 양을 최소화하여 시스템 자원을 적게 차지하고, 빠른 디스플레이를 가능하게 하고, 인터넷을 통한 삼각망 데이터의 이동도 유리하게 할 수 있도록 하는 삼각망 생성 방법을 제공하는 것을 목적으로 한다.
도 1은 종래의 삼각망 생성 방법의 일예를 나타내는 순서도이다.
도 2는 본 발명에 의한 삼각망 생성 방법의 각 단계를 개략적으로 도시하는 순서도이다.
도 3은 본 발명의 삼각망 생성 방법에 의한 평면의 매개변수화 방법을 보여 주는 개략도이다.
도 4는 본 발명의 삼각망 생성 방법에 의한 원통 일부의 매개변수화 방법을 보여주는 개략도이다.
도 5 및 도 6은 본 발명의 삼각망 생성 방법에 의한 구(球)와 원환체의 3D 상에서의 매개변수화 방법을 나타내는 개략도이다.
도 7은 생성된 매개변수 공간상의 트리밍 곡선에 대하여 셀을 나누어 셀루프를 구성하는 예를 보여주는 예시도이다.
도 8은 원통에 대한 셀분할 및 그 결과를 도시하는 개략도이다.
도 9는 경계 루프의 절점만을 고려한 본 발명의 삼각망 생성 방법에 의한 삼각형 생성 방법의 단계를 구체적으로 보여 주는 순서도이다.
도 10은 본 발명의 삼각망 생성 방법에 의하여 삼각형을 생성하는 양호한 예를 도시하는 개략도이다.
이하 첨부한 도면을 참고로 하여 본 발명의 구성 및 동작을 상세히 설명하기로 한다.
도 2는 본 발명에 의한 삼각망 생성 방법의 각 단계를 개략적으로 도시하는 순서도이다. 상기 도 1에서 도시한 종래 삼각망 생성 방법과 비교하여 보면, 두 순서도에서 입력과 출력은 동일하지만 각각의 단계가 다른 과정을 거친다.
먼저, 3차원에서 표현된 경계 곡선들을 2차원 매개변수 공간상의 트리밍(trimming) 곡선으로 변환한다(S 210). 이 단계는 종래의 삼각망 생성 방법과 본 발명에서의 방법에서 공통적으로 수행 되지만 그 내용에 있어서 차이가 있다. 즉, 3차원 공간상의 곡선을 2차원으로 사상(mapping)하기 위해서는 기저 곡면(base surface)이 2차원 매개변수에 의한 식으로 표현이 가능하여야 하는데, 기존 방법에서는 이를 위해서 평면(planar surface), 원통(cylindrical surface), 원뿔(conical surface), 구(spherical surface), 원환체(toroidal surface) 등의 기저 곡면을 NURBS로 변환하여(S 110, 도 1 참조) 경계 곡선 또한 NURBS 매개 변수 상에서 변환하지만(S 120, 도 2 참조), 본 삼각망 생성 방법은 이들 기저 곡면에 객체의 개념을 도입하여 NURBS로 변환하지 않고 매개변수 표현을 가능하도록 구성하고 있다. 이러한 표현이 가능하게 하기 위해서, 본 발명에서는 평면, 원통, 원뿔, 구, 원환체 각각의 3차원-2차원 또는 2차원-3차원 간의 변환 방법을 고안하였다.
도 3은 본 발명의 삼각망 생성 방법에 의한 평면의 매개변수화 방법을 보여주는 개략도로서, 다루어야 하는 원래의 평면 도형(301)을 충분히 감쌀 수 있는 사각의 평면(302)을 가상하면 원래의 평면도형 상의 모든 3D 점은 가상의 사각형의 모서리들(P0, P1, P2, P3;303)의 1차 보간으로 표현 가능해진다. 즉, P0와 P1사이의 보간 매개변수를 u로 하고, P0와 P2사이의 보간 매개변수를 v로 하면 2차원에서 3차원 변환, 또는 3차원에서 2차원 변환을 둘 다 한 번의 벡터식 계산으로 얻을 수 있다. 변환하여야 하는 3차원 점이 P(x,y,z) 라면, 이에 상응하는 매개변수 u, v 는 다음과 같이 구할 수 있다.
u = (P-P0)·(P1-P0)/(|P-P0||P1-P0|)
v = (P-P0)·(P2-P0)/(|P-P0||P2-P0|)
(0≤u≤1, 0≤v≤1)
역으로, 매개변수 u, v로부터 3차원 점 P는 다음의 식으로 구할 수 있다.
P = u(P1-P0) + v(P2-P0) + P0
도 4는 본 발명의 삼각망 생성 방법에 의한 원통 일부의 매개변수화 방법을 보여주는 개략도로서, 다루어야 하는 원래의 원통 일부 도형(401)은 기저곡면(402)과 경계 곡선의 루프로 표현된다. 기저 곡면(402)은 무한 원통을 표현하기 위해서 원통의 지역 좌표계를 나타내는 축(404)과 반경으로 표현되는데, 축(404)의 x, y, z 는 절대 좌표계가 아니고 각각이 축을 나타내는 벡터이므로 기울어지거나 회전한 원통도 표현 가능하다. 3D 점을 2D 파라미터 좌표계로 나타내는 방법은, 3D점을 축(404)의 x, y 가 이루는 평면에 투상(projection)한 점이 x 벡터와 이루는 각을 매개변수 u 로 하고, 3D점을 축(404)의 z 벡터에 투상한 점이 축(404) 원점과 이루는 변위를 매개변수 v 로 한다.
즉, 지역 좌표축 x, y, z의 중심점을 C, 가상원통의 높이를 h 라고 한다면 다음과 같은 식을 이용하여 3차원 점 P로부터 매개변수 u, v 를 구할 수 있다.
u = ∠[ X , ((P-C)· X /|P-C|) X + (P-C)· Y /|P-C|) Y ]
v = (P-C)· Z /|P-C|
(0≤u≤2π, 0≤v≤1, X , Y , Z 는 각 좌표계의 방향 벡터임)
또한 역으로 매개변수 u, v로부터 3차원 점 P는 다음과 같이 구할 수 있다.
P = r(cosu) X + r(sinu) Y +vh Z + C
도 4의 오른쪽에는 매개변수화 된 원통영역(406)과 이 영역에서 표현된 원래 곡면의 경계(407)가 표현되어 있다. 이 경우는 원래 곡면이 원통 지역 좌표계의 x축에 걸쳐 있었기 때문에 매개변수화에 의해서 두 개의 루프로 나누어진 경우를 나타내고 있다. 도 1에 개시되어 있는 종래 방법의 경우 이렇게 경계가 잘리는 경우가 생기면 기저 곡면을 NURBS로 변환하는 단계(S 110)로 다시 되돌아가서 경계가 잘리지 않게 변환한다든지 이 방법이 여의치 않으면 매개변수 공간에서 루프를 구성하는 단계(S 130)에서 잘린 것을 표현하기 위해서 심라인(seam line)을 삽입하는 방식을 사용해서 이런 경우를 피해 가야만 하지만, 본 발명에 의한 방법은 이러한 경우가 전혀 문제가 되지 않음을 알 수 있다. 원뿔 또한 위상이 원통과 다르지 않기 때문에 거의 유사한 방법으로 매개변수화 한다.
도 5 및 도 6은 본 발명의 삼각망 생성 방법에 의한 구(球)와 원환체의 3D 상에서의 매개변수화 방법을 나타내는 개략도이다. 본 발명에서 이들을 매개변수화 하기 위해서는 구는 경도와 위도에 해당하는 각을 각각 u, v 매개변수로 사용하고, 원환체는 대좌표계인 x, y, z 좌표계에 대해서 원통이나 원뿔과 같은 방법으로 u 를 결정하고, 소좌표계인 x', y' 좌표계에서 x' 축과 이루는 각으로 v 파라미터를 결정하게 된다. 이들의 식 또한 원통의 매개변수화 식과 같으나 기준되는 좌표계를 달리 적용할 뿐이다.
이와 같이 본 발명에서 사용하는, 1차 및 2차 곡면에 대해서 원래 형상을 기반으로 매개변수화 하는 방법은 간단한 벡터 연산 및 삼각함수만으로 수행되므로, 수치적인 반복 계산(iteration)을 필요로 하는 기존의 NURBS 매개변수 방법에 비해서 연산 속도나 계산의 안정성 측면에서 탁월한 성능을 보인다.
다시 도2의 순서도로 돌아가 본 발명의 다음 단계들에 대한 설명을 계속하자면, 경계곡선을 트리밍 곡선으로 변환하는 과정(S 210)이 끝나면. 셀(cell)을 나누고 셀루프(cell loop)를 구성한다(S 220).
셀은 파라미터 공간상에서 나누어진 영역으로 기존의 삼각화 방법에서는 삼각망 생성 모듈에 따라 사용되기도 했던 개념이다. 본 발명에서는 크게 두 가지 이유로 셀을 사용하는데, 첫 번째는 내부 루프(inner/hole loop)를 없애기 위해서이고 두 번째는 곡면의 곡률에 따라 최적화된 삼각형을 생성하기 위해서이다.
도 7은 S 210의 과정에 의해서 생성된 매개변수 공간상의 트리밍 곡선에 대하여 셀을 나누어 셀루프를 구성하는 예를 보여주는 예시도이다. 가운데 구멍이 뚫린 모양의 평면(701)을 표현하기 위해서, 가상의 매개변수 영역(702)상에서 바깥쪽 경계(703)와 안쪽 경계(704)가 있다. 삼각형이 도형의 내부에만 생성되기 위해서는 경계의 내부, 외부의 구분이 있어야 하는데 이것은 경계 루프의 방향으로 결정할 수 있다. 경계 루프의 방향이 반시계 방향일 경우(703) 그 루프의 내부가 그려져야 하고 루프의 방향이 시계 방향일 경우(704) 루프의 외부가 그려져야 한다.
기존 삼각망 생성기는 이러한 바깥쪽 경계(703) 및 안쪽 경계(704)가 동시에 존재하는 형상에 대하여 삼각형을 생성할 때 두 경계루프(703, 704)를 모두 기준으로 하여 이러한 루프의 방향에 유의해서 삼각형을 생성하였다. 이에 비해 본 발명에서는 삼각형을 생성할 때는 내부 루프에 대해서만 생성하여 시간을 단축하도록 하는 새로운 방식을 제공한다. 즉, 셀을 나누는 단계(S 220)에서 시계방향의 루프가 있을 때 이를 지나는 방향으로 파라미터 공간을 나누어 반시계 방향의 루프만 존재하도록 한다. 도 7의 706은 내부 루프를 없애기 위해 생성된 셀 경계를 보여주고 있으며 이 경계에 의해서 두 개의 셀로 나누어진다. 셀이 나누어지면 셀을 가로지르는 경계 요소 또한 셀의 경계에서 잘리고 셀 안에서 루프가 재구성 된다(707). 이 결과 두 개의 셀이 생기고 각각의 셀은 하나의 외부 루프만을 가지게 된다.
도 8은 원통에 대한 셀분할 및 그 결과를 도시하는 개략도로서, 본 도면의 원통의 예를 들어 셀을 나누는 두 번째 이유를 설명한다. 원통의 경우 매개변수 u의 방향으로는 일정 곡률이 있고, 매개변수 v의 방향으로는 곡률이 없다. 이것을 3차원에서 표현한다면 곡률이 없는 방향으로는 삼각화하지 않는 것이 적절하므로 801과 같이 셀을 나누고 각각의 셀에 대해서 셀 루프를 구성하면 802와 같은 원통에 최적화된 모양의 삼각형을 얻을 수 있다. 도 8에 나타난 원통의 예에서는 곡률이 균일하지만 곡률이 부분마다 불균일한 자유 곡면에서는 곡률별로 셀의 크기를 다르게 나눔으로써 최적화된 삼각형 생성이 가능하다. 이는 물론 곡률에 따라 u, v 방향 모두에 대해서 적용된다.
이렇게 각 셀이 나누어 지고 셀 단위로 하나의 외부 루프만을 가지게 되면 셀 단위의 경계만을 기반으로 하여 매개변수 영역에서 삼각화를 한다(S 230). 전 단계(S 220)에서 곡률과 방향성을 고려한 경계 루프의 생성이 끝났기 때문에 삼각화 단계(S 230)에서는 하나의 경계 루프의 형태만을 고려하여 삼각형을 생성한다.
도 9는 경계 루프의 절점만을 고려한 본 발명의 삼각망 생성 방법에 의한 삼각형 생성 방법의 단계를 구체적으로 보여 주는 순서도이다.
먼저 삼각망 생성을 시작하기 위한 시작 인덱스를 설정한다(S 910). 시작 인덱스를 설정할 때는 일반적으로 루프의 첫번째 포인트를 사용하면 되지만 첫 점이 오목포(concave) 점이든지 특이한 경우에는 다르게 설정할 수 있다.
그 이후에 프로그램상의 루프를 돌면서 삼각형을 생성하고, 경계 루프상의 절점을 삭제해 나가는 방식으로 삼각형을 생성하게 된다. 즉, 인덱스 점과 바로 다음점 및 그 다음점의 세 점으로 구성되는 삼각형을 설정하고(S 920), 설정된 삼각형이 시계방향 삼각형이거나 다른 점을 포함하는지 여부를 판단하여(S 930), 시계방향이거나 다른 점 포함시 인덱스를 증가시켜 다음 점으로 이동하고(S 940), 아닌 경우 설정된 삼각형을 생성한다(S 950).
삼각형을 생성한 경우 기준이 된 시작 인덱스 점의 바로 다음 점을 루프에서 제거한다(S 960).
다음 남은 루프의 사이즈가 3보다 큰지 즉 점의 갯수가 3개보다 많은지 여부를 판단한다(S 970). 점이 3개를 초과하는 경우에는 920의 단계로 돌아가서 인덱스 점과 상기 루프에서 제거된 점의 바로 다음 점 및 그 다음 점이 이루는 삼각형을 설정하고 이하 과정을 반복한다(S 920 내지 S 970).
이러한 단계를 반복하여 최종적으로 점이 3개가 남은 경우에는 남은 점으로 삼각형을 생성한다(S 980).
도 10은 본 발명의 삼각망 생성 방법에 의하여 삼각형을 생성하는 양호한 예로서, 8개의 점으로 이루어진 루프에 대한 삼각화 방법을 구체적으로 도시하고 있다. 도 10을 참고하면, 도 9의 순서도의 방법으로 삼각형을 생성한다.
1 단계, 점 0을 시작점 즉 시작 인덱스로 설정한다(S 910; i 참조).
2 단계, 점 012 가 이루는 삼각형을 설정한다(S 920; ⅱ 참조). 이때 다른 점 6이 삼각형에 포함되므로(S 930) 실제로 삼각형을 생성하지 않고 다음 점으로 시작점을 옮긴다(S 940).
3 단계, 점 123 이 이루는 삼각형을 설정한다(S 920; ⅲ 참조). 이 삼각형은 시계 방향(S 930)이므로 삼각형 생성을 포기하고 다음 점으로 옮긴다(S 940).
4 단계, 점 234 가 이루는 삼각형을 설정한다(S 920; ⅳ 참조). 반시계 방향이고 다른 점이나 선분을 포함하지 않으므로 삼각형을 생성하고(S 950), 삼각형의 두 번째 점(점 3)을 루프에서 제거한다(S 960; ⅴ 참조). 시작점은 그대로 점 2에 머무른다. 점 3이 루프에서 제거되더라도 남은 점의 갯수 즉 루프사이즈는 7이므로 3을 초과한다. 따라서 루프 사이즈 판단 과정(S 970)을 거쳐 S 920의 단계를 반복하게 된다.
5 단계, 점 245 가 이루는 삼각형을 설정(S 920; ⅴ 참조)하여, 삼각형을 생성한다(S 950). 다음 삼각형의 두 번째 점인 점 4를 제거한다(S 960; ⅵ 참조).
6 단계, 점 256 이 이루는 삼각형을 설정(S 920)하여, 삼각형을 생성한다(S 950; ⅵ 참조). 다음 삼각형의 두 번째 점인 점 5를 제거한다(S 960; ⅶ 참조).
7 단계, 점 267 이 이루는 삼각형을 설정한다(S 920; ⅶ 참조). 삼각형이 시계방향이므로(S 930) 다음점 6으로 시작점을 옮긴다(S 940; ⅷ 참조).
8 단계, 점 670 이 이루는 삼각형을 설정(S 920; ⅷ 참조), 생성한다(S 950).
9 단계, 점 601 이 이루는 삼각형을 설정(S 950), 생성한다(S 950). 가운데점 0 을 제거하면 남은 점이 3개이고(S 970), 612 가 반시계 방향을 이루므로 612로 이루어진 마지막 삼각형을 생성한다(S 980).
이상과 같이 매개변수 공간에서 삼각형을 생성하고 나면 실세계, 즉 3차원 공간에서의 삼각형을 생성한다(S 240). 매개변수 공간의 삼각형은 (u, v) 값에 의해 표현되므로 앞서 설명한 본 발명에서의 곡면 매개변수화 방법의 역변환, 즉 2차원 매개변수에서 3차원 점을 얻어내는 식(예를 들어 상기 수학식 2 및 수학식 4)을 이용하여 3차원 점을 얻어내고 이러한 삼각형들을 응용 프로그램의 그래픽 라이브러리로 보냄으로써 화면에 그릴 수 있게 된다. 이 때는 각각의 점에 대한 곡면상의 법선 벡터가 있어야 부드러운 렌더링(Phong shading 또는 Goroud shading)을 할 수 있는데 본 발명에서는 곡면 클래스가 3차원 점에서 u, v 매개변수로 바꾸는 메소드(예를 들어 상기 수학식 1 및 수학식 3), 또는 u, v 에서 3차원 점으로 바꾸는 메소드(예를 들어 상기 수학식 2 및 수학식 4)와 더불어서 u, v 매개변수에서 3차원 법선 벡터를 얻을 수 있도록 하는 메소드를 제공하도록 하고 있다.
즉, 기저곡면이 원통인 경우에 법선 벡터의 도출 방법을 설명하면, P를 도출하는 수학식인 상기 수학식 4를 u 방향 및 v 방향에 대해 각각 편미분을 행하고, 각 방향으로 편미분한 두 결과 수식을 상호 크로스 프로덕트(Cross Product)하면 원하는 법선 벡터를 도출할 수 있다. 이는 평면의 매개변수화에 대한 수학식 2에도동일하게 적용된다. 즉, 본 발명에 의하면 최초의 매개변수화 수식을 그대로 이용하여 간단히 법선 벡터를 도출할 수 있으므로 용이한 랜더링이 가능하다.
이상 본 발명을 양호한 실시예를 들어 설명하였으나, 이는 발명의 설명을 위한 것이지 그 제한을 위한 것이 아님을 이해할 것이다. 또한 본 발명의 사상 및 범위를 벗어나지 않는 한도에서 본 발명이 속하는 기술 분야의 당업자에 의한 다양한 변형 및 수정이 가능함을 이해할 것이다.
이와 같은 본 발명의 구성에 의하면, 기존의 NURBS와 델라우나이(Delaunay) 삼각화 기반의 삼각망 생성 방법에 비해서 알고리즘적으로 빠르고 간결한 프로세스를 고안하고 선택함으로써, 안정성과 높은 퍼포먼스를 기대할 수 있는 삼각망 생성 방법을 제공할 수 있다는 효과가 있다.
또한 본 발명에 의하면, 생성된 삼각형들이 곡면의 곡률을 잘 표현하면서도 형상과 경계에 최적화됨으로써, 이것을 이용하는 응용 프로그램의 측면에서는 가볍고 향상된 퍼포먼스를 기대할 수 있으며 데이터 양이 적어 시스템 자원을 적게 차지하고 빠른 디스플레이를 가능하게 한다는 효과가 있다.
또한 본 발명에 의하면, 모든 3D 캐드 또는 3D 그래픽 시스템에서 사용될 수 있으며, 특히 인터넷을 통한 가상 현실 시스템, 실시간 렌더링을 필요로 하는 시스템, 가볍고 빠르게 보여 줄 수 있어야 하는 뷰어, 많은 요소들을 한 화면에 보여 주어야 하는 건축 설계나 인테리어 시뮬레이션 등의 분야에 효과적으로 적용될 수 있다는 효과가 있다.

Claims (9)

  1. 3차원에서 표현된 경계 곡선들을 2차원 매개변수 공간상의 트리밍 곡선으로 변환하는 제 1 단계;
    상기 변환된 트리밍 곡선에 대해 각 셀이 하나의 외부 루프만을 가지도록 셀을 나누고 셀루프를 구성하는 제 2 단계;
    상기 각 셀에 대하여 셀 단위의 경계만을 기반으로 하여 상기 매개변수 영역에서 삼각화를 수행하여 삼각형을 생성하는 제 3 단계; 및
    상기 매개변수 공간상의 삼각형으로부터 상기 3차원 공간상의 삼각형을 생성하는 제 4 단계;
    를 포함하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  2. 제 1 항에 있어서, 상기 제 1 단계는 3차원상의 평면(planar surface), 원통, 원뿔, 구, 원환체를 NURBS로의 변환없이 각각의 형상에 특화된 방식으로 매개변수화하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  3. 제 2 항에 있어서, 상기 제 1 단계의 3차원상의 경계 곡선이 평면인 경우, 이 평면 도형을 감싸는 가상의 사각형의 모서리(P0, P1, P2)를 기초로 기준점(P0)과 일방 모서리(P1) 사이의 보간 매개변수를 u, 기준점(P0)과 타방 모서리(P2) 사이의보간 매개변수를 v로 하여, 소정의 수식에 의해 3차원상의 평면 도형의 각각의 좌표(P)를 매개변수 u, v로 표시함으로써, 3차원 경계 곡선을 2차원 매개변수 공간상의 트리밍 곡선으로 변환하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  4. 제 3 항에 있어서, 상기 소정의 수식은,
    u = (P-P0)·(P1-P0)/(|P-P0||P1-P0|)
    v = (P-P0)·(P2-P0)/(|P-P0||P2-P0|)
    (0≤u≤1, 0≤v≤1)
    P = u(P1-P0) + v(P2-P0) + P0
    인 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  5. 제 2 항에 있어서, 상기 제 1 단계의 3차원상의 경계 곡선이 원통 내지 원뿔의 일부인 경우, 원통 내지 원뿔의 소정 지역좌표축 x, y, z 를 설정하고, 상기 3차원 경계 곡선상의 점을 상기 축 x, y 가 이루는 평면에 투상한 점이 x 벡터와 이루는 각을 매개변수 u 로 하고, 상기 3차원 경계 곡선상의 점을 상기 축 z 에 투상한 점이 상기 축의 원점과 이루는 변위를 매개변수 v 로 하여, 소정의 수식에 의해 3차원상의 경계 곡선의 각각의 좌표(P)를 매개변수 u, v로 표시함으로써, 3차원 경계 곡선을 2차원 매개변수 공간상의 트리밍 곡선으로 변환하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  6. 제 5 항에 있어서, 상기 소정의 수식은,
    u = ∠[ X , ((P-C)· X /|P-C|) X + (P-C)· Y /|P-C|) Y ]
    v = (P-C)· Z /|P-C|
    (0≤u≤2π, 0≤v≤1, X , Y , Z 는 각 좌표계의 방향 벡터임)
    P = r(cosu) X + r(sinu) Y +vh Z + C
    인 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  7. 제 1 항에 있어서, 상기 제 1 단계의 3차원상의 경계 곡선이 구인 경우, 상기 구의 지역좌표축 x, y, z에 대해 경도와 위도에 해당하는 각을 각각 매개변수 u, v로 하여, 소정의 수식에 의해 3차원상의 경계 곡선의 각각의 좌표(P)를 상기 매개변수 u, v로 표시함으로써, 3차원 경계 곡선을 2차원 매개변수 공간상의 트리밍 곡선으로 변환하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  8. 제 1 항에 있어서, 상기 제 1 단계의 3차원상의 경계 곡선이 원환체인 경우, 원환체의 대좌표계인 x, y, z에 대해 상기 3차원 경계 곡선상의 점을 상기 축 x, y 가 이루는 평면에 투상한 점이 x 벡터와 이루는 각을 매개변수 u 로 하고, 원환체의 소좌표계인 x', y'에 대해 상기 3차원 경계 곡선상의 점이 상기 축 x'와 이루는 각을 매개변수 v로 하여, 소정의 수식에 의해 3차원상의 경계 곡선의 각각의 좌표(P)를 상기 매개변수 u, v로 표시함으로써, 3차원 경계 곡선을 2차원 매개변수공간상의 트리밍 곡선으로 변환하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
  9. 제 1 항에 있어서, 상기 제 3 단계는,
    셀루프 내에 시작하는 인덱스 점을 설정하는 제 3-1 단계;
    상기 인덱스 점과 바로 다음점 및 그 다음점의 세 점으로 구성되는 삼각형을 설정하는 제 3-2 단계;
    상기 설정된 삼각형이 시계방향 삼각형이거나 다른 점을 포함하는지 여부를 판단하는 제 3-3 단계;
    상기 설정된 삼각형이 시계방향이거나 다른 점 포함시 인덱스를 증가시켜 다음 점으로 이동하는 제 3-4 단계;
    상기 설정된 삼각형이 시계방향이 아니고 동시에 다른 점도 포함하지 않는 경우 설정된 삼각형을 생성하는 제 3-5 단계;
    삼각형을 생성한 경우 기준이 된 시작 인덱스 점의 바로 다음 점을 루프에서 제거하는 제 3-6 단계;
    남은 루프의 사이즈가 3보다 큰지 즉 점의 갯수가 3개보다 많은지 여부를 판단하는 제 3-7 단계;
    루프 사이즈가 3을 초과하는 경우에는 상기 제 3-2 단계로 돌아가서 인덱스 점과 상기 루프에서 제거된 점의 바로 다음 점 및 그 다음 점이 이루는 삼각형을 설정하고 상기 제 3-3 과정 내지 상기 제 3-7 단계를 반복하도록 하는 제 3-8 단계; 및
    루프 사이즈가 3인 경우 남은 점으로 삼각형을 생성하는 제 3-9 단계;
    를 포함하는 것을 특징으로 하는 형상 기반의 삼각망 생성 방법.
KR10-2002-0009962A 2002-02-25 2002-02-25 형상 기반의 삼각망 생성 방법 KR100433947B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0009962A KR100433947B1 (ko) 2002-02-25 2002-02-25 형상 기반의 삼각망 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0009962A KR100433947B1 (ko) 2002-02-25 2002-02-25 형상 기반의 삼각망 생성 방법

Publications (2)

Publication Number Publication Date
KR20030070426A KR20030070426A (ko) 2003-08-30
KR100433947B1 true KR100433947B1 (ko) 2004-06-04

Family

ID=32222498

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0009962A KR100433947B1 (ko) 2002-02-25 2002-02-25 형상 기반의 삼각망 생성 방법

Country Status (1)

Country Link
KR (1) KR100433947B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201020974A (en) * 2008-11-26 2010-06-01 Inst Information Industry Triangulation processing systems and methods, and computer program products thereof
KR101139590B1 (ko) * 2008-12-29 2012-05-30 경희대학교 산학협력단 3차원 입체물제작용 삼각형 전개도 제조방법 및 이에 의해 제조된 3차원 입체물
KR101056225B1 (ko) * 2009-06-26 2011-08-11 원광대학교산학협력단 3차원요소망 생성방법
CN103424070A (zh) * 2012-05-23 2013-12-04 鸿富锦精密工业(深圳)有限公司 曲面坐标系建立系统及方法
CN116433873B (zh) * 2023-06-13 2023-12-01 广州中望龙腾软件股份有限公司 一种网格划分方法、装置及电子设备

Also Published As

Publication number Publication date
KR20030070426A (ko) 2003-08-30

Similar Documents

Publication Publication Date Title
US6323863B1 (en) Object structure graph generation and data conversion using the same
US5774124A (en) Finite element modeling method and computer system for converting a triangular mesh surface to a quadrilateral mesh surface
Lodha et al. Scattered data techniques for surfaces
Kanai et al. Approximate shortest path on a polyhedral surface and its applications
US7310097B2 (en) Method, apparatus and computer program product enabling a dynamic global parameterization of triangle meshes over polygonal domain meshes
US20240153123A1 (en) Isogeometric Analysis Method Based on a Geometric Reconstruction Model
CN107886569B (zh) 一种基于离散李导数的测度可控的曲面参数化方法及系统
JP2002329215A (ja) オブジェクトの適応的サンプル距離フィールドを生成する方法
JP2002324250A (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集する方法
CN115495938B (zh) 海面波浪的三维动态模拟和可视化方法
JP2002520750A (ja) 非正則パッチの細分化行列の固有空間におけるパラメータ化された曲面の数値計算方法
Chen Digital Functions and Data Reconstruction
CN110675323B (zh) 一种三维地图语义处理方法、系统、设备及计算机介质
US20230120926A1 (en) U-splines: splines over unstructured meshes
JP2002324251A (ja) グラフィクスオブジェクトを編集する方法
US20120191423A1 (en) Method for local refinement of geometric or physical representation
KR100433947B1 (ko) 형상 기반의 삼각망 생성 방법
JPH08153214A (ja) 3次元直交格子データの生成方法
KR101032397B1 (ko) 구면 좌표계를 사용하는 3차원 형상 표현장치 및 방법
Makhlouf et al. Reconstruction of the cad model using tps surface
Qin et al. D-NURBS: A physics-based geometric design framework
KR20080051018A (ko) 드로네이 공간분할에 기반한 곡률 반영 등위곡면 생성시스템 및 방법
KR100848304B1 (ko) 다해상도 곡면 트리밍을 이용한 곡면 조각 변형 효과 표현장치 및 그 방법
CN114937110B (zh) 一种gpu加速的引流线建模方法、系统、设备及介质
Bennis et al. 3D conforming power diagrams for radial LGR in CPG reservoir grids

Legal Events

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

Payment date: 20120404

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130408

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee