KR102156336B1 - 3차원 형상 재현 방법 - Google Patents

3차원 형상 재현 방법 Download PDF

Info

Publication number
KR102156336B1
KR102156336B1 KR1020190078959A KR20190078959A KR102156336B1 KR 102156336 B1 KR102156336 B1 KR 102156336B1 KR 1020190078959 A KR1020190078959 A KR 1020190078959A KR 20190078959 A KR20190078959 A KR 20190078959A KR 102156336 B1 KR102156336 B1 KR 102156336B1
Authority
KR
South Korea
Prior art keywords
triangles
grid point
sign
triangular pillars
dimensional shape
Prior art date
Application number
KR1020190078959A
Other languages
English (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 KR1020190078959A priority Critical patent/KR102156336B1/ko
Application granted granted Critical
Publication of KR102156336B1 publication Critical patent/KR102156336B1/ko

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Geometry (AREA)
  • Algebra (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은, 3차원 형상을 포함하는 파일로부터, 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하는 과정과, 상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득하는 과정과, 상기 복수의 삼각기둥들의 내부에 있는 격자 점에 대해 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정과, 상기 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정을 포함하는, 3차원 형상 재현 방법을 제공한다.

Description

3차원 형상 재현 방법{Method for reconstructing three-dimensional shape}
본 발명의 실시예들은, 3차원 형상을 재현하는 방법에 관한 것으로, 특히 임의로 모델링된 3차원 형상을, 3차원 계산 공간 상에서 계산 영역으로 설정 또는 인식할 수 있는 방법에 관한 것이다.
전산 유체 등 다양한 전산 과학 분야에서, 수치해석을 위하여 특정 3차원 형상을 계산 영역으로 설정해야 한다. 다시 말하면, 특정 3차원 형상에 대한 여러 가지 수치적 계산을 위하여, 상기 3차원 형상을 3차원 계산 공간 상에서 계산 영역으로써 설정할 수 있어야 한다. 이를 위하여, 상기 3차원 형상을 수식으로 나타내는 방법이 있다. 그런데 3차원 형상의 표면을 표현하는 방정식은, 원통형 방정식, 구의 방정식, 또는 평면의 방정식이 있으며, 복잡한 3차원 형상의 표면을 나타내기에는 식의 개수가 적어 한계가 있다.
한편, 상기 3차원 형상을 계산 영역으로 설정하기 위하여, 3차원 계산 공간을 세분화시키고, 각각의 세분화된 계산 공간마다 계산 영역(즉, 3차원 형상의 표면)을 수식으로 나타내고, 상기 수식들을 이어 붙이는 방식으로, 상기 3차원 형상을 수식으로 나타낼 수도 있을 것이다. 하지만 이러한 방식은 시간이 매우 많이 소비되고, 복잡성이 매우 높아지는 문제점이 있다.
따라서, 어떠한 복잡한 형상이라도, 계산의 복잡성을 높이지 않고 3차원 계산 공간 상에서 계산 영역으로 나타내기 위한 방법이 요구된다.
본 발명은, 상기와 같은 문제점을 개선하기 위해 안출된 것으로, 3차원 형상을 재현하는 방법을 제공하는 것을 목적으로 한다. 특히, 수식으로 계산 영역을 설정하지 않고, 임의적으로 모델링된 3차원 형상이라도 계산 영역으로 식별하는 방법을 제공하는 것을 목적으로 한다.
그러나 이러한 과제는 예시적인 것으로, 이에 의해 본 발명의 범위가 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 3차원 형상 재현 방법은, 3차원 형상을 포함하는 파일로부터, 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하는 과정과, 상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득하는 과정과, 상기 복수의 삼각기둥들의 내부에 있는 격자 점에 대해 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정과, 상기 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각형들 각각으로부터 형성되는 상기 복수의 삼각기둥들에 관한 정보를 획득하는 과정은, 상기 복수의 삼각형들 각각에 대하여, 삼각형의 3개의 변들에 수직인 3개의 임시 벡터에 관한 정보를 획득하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 3차원 형상 재현 방법은, 상기 임시 벡터에 광한 정보를 이용하여, 3차원 계산 공간 내의 격자 점이 복수의 삼각기둥들의 내부에 존재하는지 여부를 판단하는 과정을 더 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각기둥들의 내부에 있는 제1 격자 점에 대해 상기 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은, 상기 복수의 삼각형들 중에서 하나 이상의 삼각형들이 형성하는 하나 이상의 평면들로부터 상기 제1 격자 점까지의 하나 이상의 부호 거리들을 계산하는 과정과, 상기 하나 이상의 부호 거리들 중 절대값이 가장 작은 부호 거리를 상기 제1 격자 점의 레벨 값으로 저장하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 하나 이상의 부호 거리들을 계산하는 과정은, 상기 제1 격자 점이 포함된 하나 이상의 삼각기둥에들 대해서만, 상기 하나 이상의 삼각기둥들의 기초가 되는 하나 이상의 삼각형들로부터 상기 제1 격자 점까지의 하나 이상의 부호 거리들을 계산하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각기둥들의 외부에 있는 제2 격자 점에 대해, 상기 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은, 상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정은, 상기 제2 격자 점이 상기 공통 선분에 수직인 영역의 내부에 존재하는 경우, 상기 공통 선분으로부터 상기 제2 격자 점까지의 수직 거리를 계산하는 과정을 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정은, 상기 제2 격자 점이 상기 공통 선분에 수직인 영역에 대하여 상기 공통 선분의 제1 꼭지점의 바깥에 존재하는 경우, 상기 제1 꼭지점으로부터 상기 제2 격자 점까지의 거리를 계산하는 과정을 더 포함할 수 있다.
일 실시예에 따르면, 상기 복수의 삼각기둥들의 외부에 있는 제2 격자 점에 대해, 상기 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은, 상기 복수의 삼각형들 중 서로 인접한 두 삼각형들에 의해 형성되는, 하나 이상의 공통 선분들로부터 상기 제2 격자 점까지의 하나 이상의 부호 거리들 중 절대값이 가장 작은 부호 거리를 상기 제2 격자 점의 레벨 값으로 저장하는 과정을 더 포함할 수 있다.
본 발명의 일 실시예에 따른 비-일시적(non-transitory) 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)는, 3차원 형상을 포함하는 파일로부터, 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하는 동작과, 상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득하는 동작과, 상기 복수의 삼각기둥들의 내부에 있는 격자 점에 대해 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 동작과, 상기 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 동작을 실행하기 위한 하나 이상의 프로그램들을 저장할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
상술한 바와 같이 이루어진 본 발명의 일 실시예에 따르면, 어떠한 복잡한 3차원 형상이라도 3차원 계산 공간 상에서 재현할 수 있다. 특히, 수식을 입력하여 계산 영역을 설정하는 방법이 아닌, 사람이 임의적으로 모델링한 형상 자체를 계산 영역으로 인식할 수 있다.
본 발명의 일 실시예에 따르면 계산 영역으로써 수식이 아닌 형상 정보를 입력할 수 있으므로, 계산 영역 설정 시 복잡하고 수식으로 표현하기 불가능한 형상도 수치해석을 가능하게 한다.
물론 이러한 효과들에 의해 본 발명의 범위가 한정되는 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 3차원 형상 재현을 위한 전자 장치(10)의 기능적 구성의 예를 도시한다.
도 2는 본 발명의 일 실시예에 따른 3차원 형상 재현 방법의 흐름도이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 제1 부호 거리 함수를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 3차원 형상 재현 방법의 흐름도이다.
도 8 내지 도 9는 본 발명의 일 실시예에 따른, 삼각기둥에 관한 정보를 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 3차원 형상 재현 방법 중 제1 부호 거리 함수에 따라 레벨 값을 부여하는 방법의 흐름도이다.
도 11은 본 발명의 일 실시예에 따른, 복수의 삼각기둥들의 외부에 존재하는 격자 점을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 3차원 형상 재현 방법 중 제2 부호 거리 함수에 따라 레벨 값을 부여하는 방법의 흐름도이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 제2 부호 거리 함수에 따라 레벨 값을 부여하는 방법을 설명하기 위한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다.
이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
이하의 실시예에서, 영역, 구성 요소, 부, 블록, 모듈 등의 부분이 다른 부분 위에 또는 상에 있다고 할 때, 다른 부분의 바로 위에 있는 경우뿐만 아니라, 그 중간에 다른 영역, 구성 요소, 부, 블록, 모듈 등이 개재되어 있는 경우도 포함한다.
도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하의 실시예에서, 영역, 구성 요소, 부, 블록, 모듈 등이 연결되었다고 할 때, 영역, 구성 요소, 부, 블록, 모듈들이 직접적으로 연결된 경우뿐만 아니라 영역, 구성요소, 부, 블록, 모듈들 중간에 다른 영역, 구성 요소, 부, 블록, 모듈들이 개재되어 간접적으로 연결된 경우도 포함한다.
도 1은 본 발명의 일 실시예에 따른 3차원 형상 재현을 위한 전자 장치(10)의 기능적 구성의 예를 도시한다. 3차원 형상 재현을 위한 전자 장치(10)는, 예를 들면, 컴퓨터 장치, 휴대용 통신 장치 등을 포함할 수 있으며, 이에 한정되지 않는다.
도 1을 참조하면, 3차원 형상 재현을 위한 전자 장치(10)는, 프로세서(11), 표시 장치(12), 입력 장치(13), 메모리(14)를 포함할 수 있다. 메모리(14)는 3차원 형상 재현을 위한 프로그램(15)을 저장할 수 있다. 하지만 본 발명은 이에 한정되지 않으며 전자 장치(10)에는 일부 구성 요소가 생략되거나 다른 구성 요소가 추가될 수 있다. 예를 들면, 표시 장치(12) 및 입력 장치(13)의 적어도 일부가 생략될 수 있다.
본 문서의 다양한 실시예들에서, 3차원 형상을 '재현'하는 것은, 임의의 모델링된 3차원 형상을 포함하는 파일로부터, 상기 3차원 형상에 대한 수치해석을 위해, 계산 공간 상에서 상기 3차원 형상을 인식할 수 있도록 하는 과정을 나타낼 수 있다. 다시 말하면, 3차원 형상을 재현하는 것은, 임의의 모델링된 3차원 형상을 계산 공간 상에서 계산 영역으로 설정할 수 있도록 하는 과정을 포함할 수 있다. 상기 계산 공간은, 3차원의 격자 점(grid point)들의 좌표 정보를 포함하는 가상의 공간일 수 있다.
프로세서(11)는, 예를 들면, 소프트웨어 또는 프로그램(15)을 실행하여 다양한 데이터 처리 또는 연산을 수행할 수 있다. 상기 데이터 처리 또는 연산은, 3차원 형상을 포함하는 파일을 입력 받아서 상기 3차원 형상을 재현하기 위한 데이터 처리 또는 연산을 포함할 수 있다. 프로세서(11)는 명령 또는 데이터를 메모리(14)(예: 휘발성 메모리)에 로드하고, 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 메모리(14)(예: 비휘발성 메모리)에 저장할 수 있다.
메모리(14)는, 전자 장치(10)의 적어도 하나의 구성요소(예: 프로세서(11))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 상기 데이터는, 예를 들어, 소프트웨어(예: 프로그램(15)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(14)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 메모리(14)는, 3차원 형상을 포함하는 파일로부터 상기 3차원 형상을 계산 공간 상에서 재현하기 위한 프로그램(15)을 저장할 수 있다.
프로그램(15)은, 하나 이상의 프로그램들을 포함할 수 있다. 프로그램(15)은, 3차원 형상을 포함하는 파일로부터 상기 3차원 형상을 계산 공간 상에서 재현하기 위한 프로그램일 수 있다. 예를 들면, 프로그램(15)은, 컴퓨터 지원설계(Computer Aided Design, CAD) 프로그램, 임의의 모델링된 3차원 형상으로부터 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하며 상기 복수의 삼각형들에 관한 정보를 추출하기 위한 프로그램, 상기 복수의 삼각형으로부터 3차원 계산 공간 상의 격자 점까지의 부호 거리(signed distance)를 계산하기 위한 프로그램 등을 포함할 수 있다. 프로그램(15)은 단수 또는 복수의 프로그램을 포함할 수 있으며, 복수의 프로그램들은 하나의 프로그램으로 통합될 수도 있다.
표시 장치(12)는 전자 장치(10)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(12)는 예를 들면 디스플레이를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 표시 장치(12)는, 3차원 형상 재현을 위한 프로그램(15)의 화면 또는 사용자 인터페이스(user interface, UI)를 표시할 수 있다. 예를 들면 표시 장치(12)는 프로그램(15)을 통해 3차원 계산 공간 상에서 재현된 3차원 형상의 이미지를 보여주는 사용자 인터페이스를 표시할 수 있다.
입력 장치(13)는, 전자 장치(10)의 적어도 하나의 구성요소(예: 프로세서(11))에 사용될 명령 또는 데이터를 전자 장치(10)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(13)는, 예를 들면, 마우스, 또는 키보드를 포함할 수 있다. 본 발명의 일 실시예에 따르면 입력 장치(13)는, 사용자가 3차원 형상을 포함하는 파일을, 계산 영역으로써 재현하기 위해, 프로그램(15)에 입력 또는 로드(load)하는 데 이용될 수 있다.
본 발명의 다양한 실시예들은 기기(machine)(예: 전자 장치(10)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 메모리(14) 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(15))로서 구현될 수 있다. 예를 들면, 전자 장치(10)의 프로세서(11)는, 저장 매체로부터 저장된 하나 이상의 명령어들을 호출하고, 그것을 실행할 수 있다. 이것은 전자 장치(10)가 상기 호출된 명령어들에 따라 기능을 수행할 수 있게 한다. 기기(예: 전자 장치(10))로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다.
본 발명의 다양한 실시예들에 따른 방법은, 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다.
도 2는 본 발명의 일 실시예에 따른 3차원 형상 재현 방법의 흐름도이다. 도 2에 도시된 동작들은 예를 들면, 전자 장치(10)의 프로세서(11)에 의해, 3차원 형상 재현을 위한 프로그램(15)을 통해서 수행될 수 있다.
도 2를 참조하면, S201에서, 프로세서(11)는, 프로그램(15)을 통해 3차원 형상을 포함하는 파일을 입력 받을 수 있다. 상기 파일은, 예를 들면, 컴퓨터 지원설계(Computer Aided Design, CAD) 파일을 포함할 수 있다. 상기 파일은, 예를 들면, CAD로 모델링된 또는 디자인된 임의의 3차원 형상을 포함할 수 있다.
S202에서, 프로세서(11)는 프로그램(15)을 통해, 3차원 형상의 표면을 복수의 삼각형들로 분할할 수 있다. 일 예를 들면 프로세서(11)는 프로그램(15)을 통해, 상기 3차원 형상을 포함하는 파일을 스테레오리소그래피(stereolithography, STL) 파일 형식으로 추출할 수 있다. STL 파일 형식은, 3차원 형상을 복수 개의 삼각형들로 분할하고, 각 삼각형의 단위 법선 벡터(unit normal vector)와 3개의 꼭지점에 대한 위치 정보(예: 3차원 좌표)를 제공할 수 있다.
예를 들면, STL 파일 형식은, 3차원 형상의 표면을 복수 개의 삼각형들로 분할한 결과, 하기의 표 1과 같은 형식으로 정보를 제공할 수 있다.
solid ASCII
facet normal -9.9144486e-01 -1.1454409e-16 -1.3052619e-01
outer loop
vertex 7.7464830e+01 1.6000000e+03 2.0000000e+02
vertex 8.1553731e+01 3.2684966e-13 1.6894171e+02
vertex 7.7464830e+01 3.2684966e-13 2.0000000e+02
endloop
endfacet
facet normal -9.9144486e-01 -1.1447539e-16 1.3052619e-01
outer loop
vertex 7.7464830e+01 1.6000000e+03 2.0000000e+02
vertex 7.7464830e+01 3.2684966e-13 2.0000000e+02
vertex 8.1553731e+01 1.6000000e+03 2.3105829e+02
endloop
endfacet
endsoli
S203에서, 프로세서(11)는 프로그램(15)을 통해, 상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들의 내부에 있는 격자 점에 대해, 제1 부호 거리 함수(signed distance function)를 이용하여 레벨 값을 부여할 수 있다. 상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들은, 3차원 형상의 표면 상에서 분할된 복수의 삼각형들 각각을 옆면으로 하는 삼각기둥들을 나타낼 수 있다.
S204에서 프로세서(11)는 프로그램(15)을 통해, 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여할 수 있다.
전술한 바와 같이, 본 발명의 다양한 실시예들에 따른 3차원 형상 재현 방법은, 격자 점(grid point)들을 포함하는 3차원 계산 공간 상에서 이루어지는데, 상기 복수의 삼각기둥들의 내부에 있는 격자 점들에 대해서는 제1 부호 거리 함수를 적용하고, 복수의 삼각기둥들의 외부에 있는 격자 점들에 대해서는 제2 부호 거리 함수를 적용하여 레벨 값을 부여할 수 있다.
레벨 값은, 3차원 계산 공간 내의 격자 점마다 부여되며, 제1 부호 거리 함수 또는 제2 부호 거리 함수에 의해 결정되는 함수 값을 나타낼 수 있다. 특정 격자 점에 대한 레벨 값은, 3차원 형상의 표면으로부터 상기 격자 점까지의 최단 부호 거리(signed distance)를 나타낼 수 있다. 즉, 레벨 값은, 크기와 부호를 가진 값으로써, 크기는 3차원 형상의 표면으로부터의 거리를 나타내고, 부호는 격자 점이 3차원 형상의 내부에 있는지 외부에 있는지를 나타낼 수 있다.
따라서, 3차원 계산 공간 내의 격자 점들에 레벨 값이 부여되면, 3차원 형상을 계산 공간 내에서 재현할 수 있다. 즉, 레벨 값이 0인 격자 점들의 집합(set)은 계산 공간 상에서 3차원 형상을 나타낼 수 있다. 또한 같은 레벨 값들을 가지는 격자 점들의 집합은, 상기 3차원 형상의 표면으로부터 같은 거리만큼 이격된 면, 즉 등고면을 나타낼 수 있다. 따라서 본 발명의 다양한 실시예들에 따르면, 3차원 계산 공간 내의 격자 점들에 부여된 레벨 값을 이용하여, 임의의 모델링된 3차원 형상을 재현할 수 있고, 상기 3차원 형상에 대하여 수치해석을 수행할 수 있다.
한편, 제1 부호 거리 함수와 제2 부호 거리 함수는 서로 다를 수 있다. 제1 부호 거리 함수는, 삼각형이 형성하는 평면으로부터 격자 점까지의 부호 거리를 출력하는 함수일 수 있다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 제1 부호 거리 함수를 설명하기 위한 도면이다.
도 3을 참조하면, 삼각형(30)은, 3차원 형상의 표면 상에서 분할된 복수의 삼각형들 중 n번째 삼각형을 나타낼 수 있다(n은 자연수). 프로세서(11)는 프로그램(15)을 통해, n번째 삼각형(30)의 3개의 꼭지점 P1, n, P2, n, P3, n의 좌표와, 삼각형(30)의 단위 법선 벡터(unit normal vector) Nn을 획득할 수 있다. 단위 법선 벡터 Nn은, 3차원 형상의 바깥을 향하도록 설정될 수 있다.
n번째 삼각형(30)으로부터 격자 점 Gk까지의 부호 거리(signed distance)
Figure 112019067394430-pat00001
는, 하기의 수학식 1과 같이 구할 수 있다.
Figure 112019067394430-pat00002
수학식 1에서 Gk는 격자 점의 3차원 좌표 (Gk, x, Gk, y, Gk, z)를 나타내고, P1, n은 n번째 삼각형의 꼭지점 P1의 좌표 (P1, n, x, P1, n, y, P1, n, z)를 나타내고, Nn은 n번째 삼각형의, 3차원 형상의 바깥 쪽으로 향하는 단위 법선 벡터를 나타낸다. "·"는 내적 연산을 나타낸다. 수학식 1에서 P1, n를 P2, n 또는 P3, n로 대체하여도 같은 결과를 출력할 수 있다.
수학식 1에서 내적 연산으로 인해, 격자 점 Gk가 n번째 삼각형이 만드는 평면에 대하여 벡터 Nn과 같은 방향에 존재하는 경우
Figure 112019067394430-pat00003
의 부호는 양수이고, 격자 점 Gk가 n번째 삼각형이 만드는 평면에 대하여 벡터 Nn과 반대 방향에 존재하는 경우
Figure 112019067394430-pat00004
의 부호는 음수일 수 있다. 또한, 격자 점 Gk가 n번째 삼각형이 만드는 평면 상에 존재하는 경우,
Figure 112019067394430-pat00005
의 값은 0일 수 있다. 또한
Figure 112019067394430-pat00006
의 크기(즉, 절대값)은, n번째 삼각형이 만드는 평면으로부터 격자 점 Gk까지의 거리를 나타낼 수 있다.
한편, 격자 점 Gk의 주변에는 3차원 형상의 표면 상의 삼각형이 복수 개 존재할 수 있으며, 격자 점 Gk와 가장 가까운 평면과의 부호 거리를 격자 점 Gk에 대한 레벨 값으로 지정할 수 있다. 따라서, 제1 부호 거리 함수에 의한, 격자 점 Gk의 레벨 값은 하기의 수학식 2와 같이 구할 수 있다.
Figure 112019067394430-pat00007
수학식 2에서 제1 부호 거리 함수에 의한 격자 점 Gk의 레벨 값
Figure 112019067394430-pat00008
은, 복수의 삼각형들이 형성하는 복수의 평면들로부터 격자 점 Gk까지의 최단 부호 거리를 나타낼 수 있다.
한편, 상술한 바와 같은 제1 부호 거리 함수만을 이용하여 3차원 계산 공간 내의 격자 점들에 레벨 값을 지정하는 경우, 3차원 형상을 제대로 재현할 수 없다.
예를 들어, 도 4를 참조하면, 제1 부호 거리 함수만을 이용하여 삼각형(30)을 3차원 계산 공간(40) 상에서 재현한 결과, 무한한 평면(41)과 같이 재현될 수 있다. 즉, 삼각형(30)에 수학식 1 및 2에 따라 제1 부호 거리 함수를 적용하여 계산 공간(40) 내의 격자 점들에 레벨 값을 지정한 뒤, 레벨 값이 0인 격자 점들의 집합을 출력하면, 무한한 평면(41)이 출력된다. 이는 삼각형(30)을 정확하게 재현한 결과가 아닐 수 있다.
또한, 도 5를 참조하면, 3차원의 굽은 파이프 형상(50)에 대해 제1 부호 거리 함수를 적용하는 경우, 문제가 발생할 수 있다. 즉, 도 6을 참조하면, 굽은 파이프 형상(50)의 내부의 격자 점(60)에 대하여, 평면 S1에 대하여는 격자 점(60)이 법선 벡터 N1과 반대 방향에 존재하므로, 수학식 1에 의해 격자 점(60)이 형상(50)의 내부에 존재한다고 제대로 인식될 수 있다. 하지만, 평면 S2에 대하여는 격자 점(60)이 법선 벡터 N2와 같은 방향에 존재하며, 평면 S3에 대하여도 격자 점(60)이 법선 벡터 N3과 같은 방향에 존재하여, 수학식 1의 결과, 격자 점(60)이 형상(50)의 외부에 존재하는 것으로 잘못 인식될 수 있다.
따라서 본 발명의 다양한 실시예들에 따르면, 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들의 내부의 격자 점과 외부의 격자 점에 대하여 다르게 취급할 수 있다. 본 발명의 다양한 실시예들에 따르면, 제1 부호 거리 함수와 다른 제2 부호 거리 함수를 도입하여, 삼각기둥의 내부에 존재하는 격자 점에 대하여는 전술한 바와 같은 제1 부호 거리 함수를 적용하고, 삼각기둥의 외부에 존재하는 격자 점에 대하여는 제2 부호 거리 함수를 적용함으로써, 임의의 복잡하게 모델링된 3차원 형상이라도 정확하게 재현할 수 있다.
도 7은 본 발명의 일 실시예에 따른 3차원 형상 재현 방법의 흐름도이다. 도 7에 도시된 동작들은 예를 들면, 전자 장치(10)의 프로세서(11)에 의해, 3차원 형상 재현을 위한 프로그램(15)을 통해 수행될 수 있다.
도 7을 참조하면, S202에서 3차원 형상의 표면을 복수의 삼각형들로 분할한 이후, S301에서 프로세서(11)는 프로그램(15)을 통해, 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득할 수 있다. 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들은, 각각의 삼각형을 옆면으로 하는 삼각기둥을 나타낼 수 있다.
도 8 내지 도 9는 본 발명의 일 실시예에 따른, 삼각기둥에 관한 정보를 설명하기 위한 도면이다. 본 발명의 일 실시예에 따르면, 삼각기둥에 관한 정보는, 삼각기둥의 3개의 옆면에 대한 3개의 법선 벡터에 관한 정보를 포함할 수 있다. 삼각기둥의 3개의 옆면에 대한 3개의 법선 벡터는, 프로그램(15)을 통해 분할된 각 삼각형의 평면 상에 존재하며 3개의 변들에 수직인 3개의 벡터에 상응할 수 있다. 도 8 및 도 9를 참조하여 예를 들면, 프로세서(11)는 프로그램(15)을 통해, n번째 삼각형(30)에 대응하는 삼각기둥(90)에 관한 정보로써, 삼각기둥(90)의 3개의 옆면에 대한 3개의 법선 벡터 v1, n, v2, n, v3, n를 획득할 수 있다. 삼각기둥(90)의 3개의 옆면에 대한 3개의 법선 벡터 v1, n, v2, n, v3, n는, 삼각형(30)의 평면 상에 존재하며 3개의 변들에 수직인 3개의 벡터일 수 있다.
이하에서는, 삼각기둥(90)에 관한 정보로써, 삼각기둥(90)의 3개의 옆면에 대한 3개의 법선 벡터 v1, n, v2, n, v3, n를 획득하는 방법의 예시를 설명한다.
S202에서 3차원 형상의 표면을 복수의 삼각형들로 분할한 결과, 각 삼각형의 단위 법선 벡터(예: Nn)와 3개의 꼭지점(예: P1, n, P2, n, P3, n)의 3차원 좌표를 획득할 수 있다. n번째 삼각형(30)에 대응하는 삼각기둥(90) 관한 정보로써, 삼각기둥(90)의 3개의 옆면에 대한 3개의 법선 벡터 v1, n, v2, n, v3, n는, 예를 들면, 그람-슈미트 과정(Gram-Schmidt process)을 통해 획득할 수 있다. 예를 들면 하기의 수학식 3과 같이 획득될 수 있다.
Figure 112019067394430-pat00009
Figure 112019067394430-pat00010
Figure 112019067394430-pat00011
수학식 3에서, U1, n, U2, n, U3, n는, 하기의 수학식 4와 같이 정의된다.
Figure 112019067394430-pat00012
Figure 112019067394430-pat00013
Figure 112019067394430-pat00014
상술한 바와 같이 프로세서(11)는 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보(예: 삼각기둥의 옆면에 관한 정보, 또는 옆면의 법선 벡터에 관한 정보)를 획득할 수 있다(S301).
S302에서 프로세서(11)는 프로그램(15)을 통해, 격자 점이 복수의 삼각기둥들의 내부에 존재하는지 여부를 판단할 수 있다. 예를 들면, 프로세서(11)는 삼각기둥의 3개의 옆면에 대한 3개의 법선 벡터(예: v1, n, v2, n, v3, n)를 이용하여, 격자 점이 삼각기둥의 내부에 존재하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 프로세서(11)는 삼각기둥의 옆면 상의 임의의 점으로부터 격자 점 Gk까지의 벡터와, 삼각기둥의 내부를 향하며 상기 옆면에 수직인 법선 벡터를 내적한 값의 부호에 따라, 상기 격자 점 Gk가 삼각기둥의 내부에 존재하는지 여부를 판단할 수 있다.
일 실시예에 따르면, 삼각기둥의 제1 옆면 상의 점(예: P1, n)으로부터 격자 점 Gk까지의 벡터와 삼각기둥의 내부를 향하며 상기 제1 옆면에 수직인 벡터(예: v1, n)를 내적한 결과가 양수이고, 삼각기둥의 제2 옆면 상의 점(예: P2, n)으로부터 격자 점 Gk까지의 벡터와 삼각기둥의 내부를 향하며 상기 제2 옆면에 수직인 벡터(예: v2, n)를 내적한 결과가 양수이고, 삼각기둥의 제3 옆면 상의 점(예: P3, n)으로부터 격자 점 Gk까지의 벡터와 삼각기둥의 내부를 향하며 상기 제3 옆면에 수직인 벡터(예: v3, n)를 내적한 결과가 양수임을 모두 만족하면, 상기 격자 점 Gk가 삼각기둥의 내부에 존재한다고 판단할 수 있다. 이를 식으로 나타내면 하기의 수학식 5 및 수학식 6와 같을 수 있다.
Figure 112019067394430-pat00015
Figure 112019067394430-pat00016
Figure 112019067394430-pat00017
Figure 112019067394430-pat00018
수학식 6을 만족하면, 격자 점 Gk는 n번째 삼각형(30)에 대응하는 삼각기둥(90)의 내부에 존재하는 것으로 판단할 수 있다.
S302의 결과 격자 점 Gk가 복수의 삼각기둥들 중 적어도 하나의 내부에 존재하는 것으로 판단한 경우, S303에서 프로세서(11)는, 전술한 제1 부호 거리 함수
Figure 112019067394430-pat00019
를 이용하여 격자 점 Gk에 레벨 값을 부여할 수 있다.
도 10은 본 발명의 일 실시예에 따른 3차원 형상 재현 방법 중 제1 부호 거리 함수에 따라 레벨 값을 부여하는 방법의 흐름도이다. 도 10에 도시된 동작들은, 도 7의 S303에 대응할 수 있다.
도 10을 참조하면, 먼저, 제1 격자 점이 복수의 삼각기둥들 중 적어도 하나의 내부에 존재하는 경우, 상기 제1 격자 점에 제1 부호 거리 함수를 적용하기 위하여, S401에서 임의의 삼각형이 형성하는 평면으로부터 제1 격자 점까지의 부호 거리를 계산할 수 있다. 예를 들면, n번째 삼각형이 형성하는 평면으로부터 제1 격자 점(예: Gk)까지의 부호 거리는, 전술한 수학식 1(
Figure 112019067394430-pat00020
)과 같이 계산할 수 있다.
다음으로, 상기 제1 격자 점의 주변에는 하나 이상의 삼각형들이 존재할 수 있으므로, S402에서, 하나 이상의 삼각형들(예: n번째 삼각형, m번째 삼각형 등)에 대응하는 하나 이상의 평면들로부터 상기 제1 격자 점까지의 하나 이상의 부호 거리들 중, 최단 부호 거리를 제1 격자 점의 레벨 값으로 저장할 수 있다. 예를 들면, 하나 이상의 삼각형들에 대응하는 하나 이상의 평면들로부터 제1 격자 점(예: Gk)까지의 최단 부호 거리는, 전술한 수학식 2(
Figure 112019067394430-pat00021
)와 같이 계산할 수 있다.
본 발명의 일 실시예에 따르면, 제1 격자 점이 포함된 하나 이상의 삼각기둥들에 대해서만, 상기 하나 이상의 삼각기둥들에 대응하는 하나 이상의 삼각형으로부터 상기 제1 격자 점까지의 최단 부호 거리를 계산하여, 제1 격자 점의 레벨 값으로 저장할 수 있다. 다시 말하면, 제1 격자 점이 제1 삼각기둥 및 제2 삼각기둥만의 내부에 존재하고, 제3 삼각기둥에 대하여는 외부에 존재하는 경우에, 제1 격자 점의 레벨 값은, 제1 삼각기둥의 기초가 되는 제1 삼각형으로부터 제1 격자 점까지의 제1 부호 거리 및 제2 삼각기둥의 기초가 되는 제2 삼각형으로부터 제1 격자 점까지의 제2 부호 거리 중 최단 부호 거리로 계산될 수 있으며, 제3 삼각기둥은 계산에서 제외될 수 있다. 이와 같은 방법으로, 계산을 단축시킬 수 있다.
또한 본 발명의 다양한 실시예들에서, 최단 부호 거리란, 하나 이상의 부호 거리들 중, 절대값이 최소인 부호 거리를 나타낼 수 있다.
한편, S302의 결과 격자 점 Gk가 복수의 삼각기둥들 모두에 대하여 외부에 존재하는 것으로 판단한 경우, S304에서 프로세서(11)는, 제1 부호 거리 함수와 다른 제2 부호 거리 함수를 이용하여 격자 점 Gk에 레벨 값을 부여할 수 있다.
도 11은 본 발명의 일 실시예에 따른, 복수의 삼각기둥들의 외부에 존재하는 격자 점을 설명하기 위한 도면이다. 도 11을 참조하면 3차원 형상(80)의 경우, 제1 면(81)에 수직인 제1 영역(71)과 제2 면(82)에 수직인 제2 영역(72)의 내부의 격자 점들은, 복수의 삼각기둥들 중 적어도 하나의 내부에 존재할 수 있다. 하지만, 제3 영역(73) 내부의 격자 점들은, 복수의 삼각기둥들 모두의 외부에 존재할 수 있다. 따라서 제3 영역(73) 내부의 격자 점에는, 제2 부호 거리 함수를 이용하여 레벨 값을 부여할 수 있다.
도 12는 본 발명의 일 실시예에 따른 3차원 형상 재현 방법 중 제2 부호 거리 함수에 따라 레벨 값을 부여하는 방법의 흐름도이다. 도 12에 도시된 동작들은, 도 7의 S304에 대응할 수 있다. 도 13 및 도 14는 본 발명의 일 실시예에 따른 제2 부호 거리 함수에 따라 레벨 값을 부여하는 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 먼저, 제2 격자 점이 복수의 삼각기둥들의 외부에 존재하는 경우, 상기 제2 격자 점에 제2 부호 거리 함수를 적용하기 위하여, S501에서, 복수의 삼각형들 중 서로 인접한 임의의 두 삼각형의 공통 선분으로부터 제2 격자 점까지의 부호 거리를 계산할 수 있다. 예를 들어 도 13을 참조하면, 서로 인접한 n번째 삼각형(100)과 m번째 삼각형(200)의 공통 선분 V1, n으로부터 제2 격자 점 Gk까지의 부호 거리(130)를 계산할 수 있다.
한편 본 문서에서는 편의를 위하여, 복수의 삼각기둥들 중 적어도 하나의 내부에 존재하는 격자 점을 제1 격자 점으로 지칭하고, 복수의 삼각기둥들의 외부에 존재하는 격자 점을 제2 격자 점으로 지칭할 수 있다.
본 발명의 일 실시예에 따른, 인접한 두 삼각형의 공통 선분으로부터 제2 격자 점까지의 부호 거리를 구하는 방법이, 도 14를 참조하여 설명된다.
n번째 삼각형과 이에 인접한 삼각형의 공통 선분 V1, n의 양 꼭지점이 P1, n = (P1, n, x, P1, n, y, P1, n, z) 및 P2, n = (P2, n, x, P2, n, y, P2, n, z)인 경우, 공통 선분 V1, n의 방정식은 하기의 수학식 7과 같이 나타낼 수 있다.
Figure 112019067394430-pat00022
수학식 7에서 t는 매개변수이며, t=0일 때 V1, n(t=0)는 꼭지점 P1, n을 나타내고, t=1일 때 V1, n(t=1)는 꼭지점 P2, n을 나타낸다.
한편, 도 14를 참조하면, 복수의 삼각기둥들의 외부에 존재하는 격자 점(예: G1, G2, G3)에 대하여, 공통 선분 V1, n으로부터 격자 점까지의 부호 거리의 크기는, 공통 선분 V1, n에 수직인 영역의 내부에 존재하는 격자 점 G2의 경우에는 상기 격자 점 G2로부터 공통 선분 V1, n까지의 수직 거리이고, 공통 선분 V1, n의 제1 꼭지점 P1, n보다 바깥에 존재하는 격자 점 G1의 경우에는 상기 격자 점 G1으로부터 제1 꼭지점 P1, n까지의 거리이고, 공통 선분 V1, n의 제2 꼭지점 P2, n보다 바깥에 존재하는 격자 점 G3의 경우에는 상기 격자 점 G3으로부터 제2 꼭지점 P2, n까지의 거리일 수 있다.
이를 식으로 나타내면 하기의 수학식 8과 같을 수 있다.
Figure 112019067394430-pat00023
수학식 8을 참조하면,
Figure 112019067394430-pat00024
는, n번째 삼각형과 이에 인접한 삼각형의 공통 선분 V1, n으로부터 격자 점 Gk까지의 부호 거리의 크기, 즉 절대값을 나타낸다. 수학식 8에서, 격자 점 Gk가 공통 선분 V1, n에 수직인 영역 내에 존재하는 경우(예: G2) t 값은
Figure 112019067394430-pat00025
를 만족하고, 격자 점 Gk가 상기 수직인 영역에 대하여 제1 꼭지점 P1, n보다 바깥에 존재하는 경우(예: G1) t 값은
Figure 112019067394430-pat00026
를 만족하고, 격자 점 Gk가 상기 수직인 영역에 대하여 제2 꼭지점 P2, n보다 바깥에 존재하는 경우(예: G3) t 값은
Figure 112019067394430-pat00027
를 만족할 수 있다.
상기 수학식 8은, 공통 선분 V1, n으로부터 격자 점 Gk까지의 부호 거리의 크기만을 나타내므로, 상기 부호 거리의 부호는 하기의 수학식 9와 같이 구할 수 있다.
Figure 112019067394430-pat00028
수학식 9에서 Nn은 n번째 삼각형의 단위 법선 벡터를 나타내며, t는 수학식 8에서와 동일하게 정의된다.
따라서, 수학식 8 및 9를 결합하면, 공통 선분 V1, n으로부터 격자 점 Gk까지의 부호 거리
Figure 112019067394430-pat00029
는, 하기의 수학식 10과 같이 계산할 수 있다.
Figure 112019067394430-pat00030
상술한 바와 같이 프로세서(11)는 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 제2 격자 점까지의 부호 거리를 계산할 수 있다(S501).
다음으로, 상기 제2 격자 점의 주변에는, 상술한 바와 같은, 서로 인접한 두 삼각형의 공통 선분이 복수 개 존재할 수 있으므로, S502에서, 하나 이상의 공통 선분들로부터 제2 격자 점까지의 하나 이상의 부호 거리들 중, 최단 부호 거리를 제2 격자 점의 레벨 값으로 저장할 수 있다.
따라서, 제2 부호 거리 함수에 의한, 격자 점 Gk의 레벨 값은 하기의 수학식 11과 같이 구할 수 있다.
Figure 112019067394430-pat00031
수학식 11에서 제2 부호 거리 함수에 의한 격자 점 Gk의 레벨 값
Figure 112019067394430-pat00032
은, 인접한 삼각형들이 형성하는 복수의 공통 선분들로부터 격자 점 Gk까지의 최단 부호 거리를 나타낼 수 있다.
한편, S302에서 특정 격자 점이 복수의 삼각기둥들의 내부에 존재하는지 또는 외부에 존재하는지 여부에 따라 S303 또는 S304에 따라 상기 격자 점에 레벨 값을 부여한 뒤, S305로 진행할 수 있다. S305에서 프로세서(11)는, 3차원 계산 공간 내의 모든 격자 점에 레벨 값을 부여하였는지 여부를 판단할 수 있다.
모든 격자 점에 레벨 값을 부여하지 않은 것으로 판단한 경우, S306에서 프로세서(11)는, 다음 격자 점으로 이동하여, S302 내지 S305 과정을 반복할 수 있다. 모든 격자 점에 레벨 값을 부여한 것으로 판단한 경우, 프로세스를 종료할 수 있다.
상술한 바와 같은 본 발명의 일 실시예에 따라 3차원 계산 공간 내의 모든 격자 점들에 레벨 값을 부여하면, 임의의 모델링된 3차원 형상을 계산 공간 내에서 재현할 수 있다. 즉, 레벨 값이 0인 격자 점들의 집합(set)은 계산 공간 상에서 3차원 형상을 나타낼 수 있다. 또한 같은 레벨 값들을 가지는 격자 점들의 집합은, 상기 3차원 형상의 표면으로부터 같은 거리만큼 이격된 면, 즉 등고면을 나타낼 수 있다. 따라서 본 발명의 다양한 실시예들에 따르면, 3차원 계산 공간 내의 격자 점들에 부여된 레벨 값을 이용하여, 임의의 모델링된 3차원 형상을 재현할 수 있고, 상기 3차원 형상에 대하여 수치해석을 수행할 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나, 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (10)

  1. 3차원 형상을 포함하는 파일로부터, 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하는 과정과,
    상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득하는 과정과,
    상기 복수의 삼각기둥들의 내부에 있는 격자 점에 대해 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정과,
    상기 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정을 포함하고,
    상기 복수의 삼각형들 각각으로부터 형성되는 상기 복수의 삼각기둥들에 관한 정보를 획득하는 과정은,
    상기 복수의 삼각형들 각각에 대하여, 삼각형의 3개의 변들에 수직인 3개의 임시 벡터에 관한 정보를 획득하는 과정을 포함하는, 3차원 형상 재현 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 임시 벡터에 광한 정보를 이용하여, 3차원 계산 공간 내의 격자 점이 복수의 삼각기둥들의 내부에 존재하는지 여부를 판단하는 과정을 더 포함하는, 3차원 형상 재현 방법.
  4. 청구항 1에 있어서,
    상기 복수의 삼각기둥들의 내부에 있는 제1 격자 점에 대해 상기 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은,
    상기 복수의 삼각형들 중에서 하나 이상의 삼각형들이 형성하는 하나 이상의 평면들로부터 상기 제1 격자 점까지의 하나 이상의 부호 거리들을 계산하는 과정과,
    상기 하나 이상의 부호 거리들 중 절대값이 가장 작은 부호 거리를 상기 제1 격자 점의 레벨 값으로 저장하는 과정을 포함하는, 3차원 형상 재현 방법.
  5. 청구항 4에 있어서,
    상기 하나 이상의 부호 거리들을 계산하는 과정은,
    상기 제1 격자 점이 포함된 하나 이상의 삼각기둥에들 대해서만, 상기 하나 이상의 삼각기둥들의 기초가 되는 하나 이상의 삼각형들로부터 상기 제1 격자 점까지의 하나 이상의 부호 거리들을 계산하는 과정을 포함하는, 3차원 형상 재현 방법.
  6. 청구항 1에 있어서,
    상기 복수의 삼각기둥들의 외부에 있는 제2 격자 점에 대해, 상기 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은,
    상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정을 포함하는, 3차원 형상 재현 방법.
  7. 청구항 6에 있어서,
    상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정은,
    상기 제2 격자 점이 상기 공통 선분에 수직인 영역의 내부에 존재하는 경우, 상기 공통 선분으로부터 상기 제2 격자 점까지의 수직 거리를 계산하는 과정을 포함하는, 3차원 형상 재현 방법.
  8. 청구항 7에 있어서,
    상기 복수의 삼각형들 중 서로 인접한 두 삼각형의 공통 선분으로부터 상기 제2 격자 점까지의 부호 거리를 계산하는 과정은,
    상기 제2 격자 점이 상기 공통 선분에 수직인 영역에 대하여 상기 공통 선분의 제1 꼭지점의 바깥에 존재하는 경우, 상기 제1 꼭지점으로부터 상기 제2 격자 점까지의 거리를 계산하는 과정을 더 포함하는, 3차원 형상 재현 방법.
  9. 청구항 6에 있어서,
    상기 복수의 삼각기둥들의 외부에 있는 제2 격자 점에 대해, 상기 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 과정은,
    상기 복수의 삼각형들 중 서로 인접한 두 삼각형들에 의해 형성되는, 하나 이상의 공통 선분들로부터 상기 제2 격자 점까지의 하나 이상의 부호 거리들 중 절대값이 가장 작은 부호 거리를 상기 제2 격자 점의 레벨 값으로 저장하는 과정을 더 포함하는, 3차원 형상 재현 방법.
  10. 비-일시적(non-transitory) 컴퓨터-판독 가능(computer-readable) 저장(storage) 매체(medium)에 있어서,
    3차원 형상을 포함하는 파일로부터, 상기 3차원 형상의 표면을 복수의 삼각형들로 분할하는 동작과,
    상기 복수의 삼각형들 각각으로부터 형성되는 복수의 삼각기둥들에 관한 정보를 획득하는 동작과,
    상기 복수의 삼각기둥들의 내부에 있는 격자 점에 대해 제1 부호 거리 함수를 이용하여 레벨 값을 부여하는 동작과,
    상기 복수의 삼각기둥들의 외부에 있는 격자 점에 대해, 제2 부호 거리 함수를 이용하여 레벨 값을 부여하는 동작을 실행하고,
    상기 복수의 삼각형들 각각으로부터 형성되는 상기 복수의 삼각기둥들에 관한 정보를 획득하는 동작은,
    상기 복수의 삼각형들 각각에 대하여, 삼각형의 3개의 변들에 수직인 3개의 임시 벡터에 관한 정보를 획득하는 동작을 포함하는, 하나 이상의 프로그램들을 저장하기 위한 비-일시적 컴퓨터-판독 가능 저장 매체.
KR1020190078959A 2019-07-01 2019-07-01 3차원 형상 재현 방법 KR102156336B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190078959A KR102156336B1 (ko) 2019-07-01 2019-07-01 3차원 형상 재현 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190078959A KR102156336B1 (ko) 2019-07-01 2019-07-01 3차원 형상 재현 방법

Publications (1)

Publication Number Publication Date
KR102156336B1 true KR102156336B1 (ko) 2020-09-15

Family

ID=72469766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190078959A KR102156336B1 (ko) 2019-07-01 2019-07-01 3차원 형상 재현 방법

Country Status (1)

Country Link
KR (1) KR102156336B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170103409A (ko) * 2016-03-04 2017-09-13 삼성에스디에스 주식회사 3차원 형상의 모델링 방법 및 이를 수행하기 위한 컴퓨팅 장치
JP2018536915A (ja) * 2015-09-25 2018-12-13 マジック リープ, インコーポレイテッドMagic Leap,Inc. 3次元再構成において構造特徴を検出し、組み合わせるための方法およびシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018536915A (ja) * 2015-09-25 2018-12-13 マジック リープ, インコーポレイテッドMagic Leap,Inc. 3次元再構成において構造特徴を検出し、組み合わせるための方法およびシステム
KR20170103409A (ko) * 2016-03-04 2017-09-13 삼성에스디에스 주식회사 3차원 형상의 모델링 방법 및 이를 수행하기 위한 컴퓨팅 장치

Similar Documents

Publication Publication Date Title
US9158297B2 (en) Computing device and method for generating measurement program of product
US20170148228A1 (en) Distance field coupled fitted deformation lattices for shape modification
JP2017182302A (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
KR101853237B1 (ko) 딥 러닝을 이용한 3차원 기하 디노이징 방법 및 그 장치
KR101552828B1 (ko) 3차원 객체 모델의 다각형 정보 추출 방법
CN113724401A (zh) 一种三维模型切割方法、装置、计算机设备和存储介质
US20150269454A1 (en) Extraction device, method, and computer program product
JP2003288372A (ja) Cad用解析結果データ処理装置及びcad用解析結果データ処理方法並びにcad用解析結果データ処理プログラム
CN110458954B (zh) 一种等高线生成方法、装置及设备
US20150103080A1 (en) Computing device and method for simulating point clouds
CN107590300B (zh) 最短路径确定方法和信息处理装置
KR102053188B1 (ko) 기록 매체, 복셀화 처리 방법 및 정보 처리 장치
US20160357878A1 (en) Modelling method and system
KR102156336B1 (ko) 3차원 형상 재현 방법
KR101748637B1 (ko) 깊이 맵 생성 장치 및 방법
EP4086853A2 (en) Method and apparatus for generating object model, electronic device and storage medium
JP2018500683A (ja) 剛体ソルバを用いたサイズ変更可能な物体のシミュレーション
KR20080044221A (ko) 컴퓨터를 이용한 3차원 이미지의 형상화 처리방법
EP4020400A2 (en) Image processing method and image processing device for generating 3d content by means of 2d images
CN110717291B (zh) 一种焊接结构件变形仿真方法、装置、设备及存储介质
US9858364B2 (en) Computing device and method for processing point clouds
US8659600B2 (en) Generating vector displacement maps using parameterized sculpted meshes
US10223824B2 (en) Information processing apparatus, simulator result display method, and computer-readable recording medium
JP6586852B2 (ja) 画像処理装置
US20160163090A1 (en) Computing device and method for simulating process of scanning drawing of object

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant