KR20080097089A - 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체 - Google Patents

포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체 Download PDF

Info

Publication number
KR20080097089A
KR20080097089A KR1020070042239A KR20070042239A KR20080097089A KR 20080097089 A KR20080097089 A KR 20080097089A KR 1020070042239 A KR1020070042239 A KR 1020070042239A KR 20070042239 A KR20070042239 A KR 20070042239A KR 20080097089 A KR20080097089 A KR 20080097089A
Authority
KR
South Korea
Prior art keywords
point
shape
shape deformation
deformation
vector
Prior art date
Application number
KR1020070042239A
Other languages
English (en)
Other versions
KR100886721B1 (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 KR1020070042239A priority Critical patent/KR100886721B1/ko
Publication of KR20080097089A publication Critical patent/KR20080097089A/ko
Application granted granted Critical
Publication of KR100886721B1 publication Critical patent/KR100886721B1/ko

Links

Images

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

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

Abstract

포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원 형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체가 개시된다.
본 발명에 따른 포인트 기반의 3차원 형상의 변형 방법은, 사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택하는 단계, 상기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트를 변형하고자 하는 위치로 이동하는 단계, 상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산하는 단계, 상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성하는 단계, 상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산하는 단계, 및 상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하는 단계를 포함한다.
본 발명에 의하면, 3차원의 형상을 변형하는데 있어서 축과 각을 이용하여 신속한 형상 변형 처리가 가능하며, 사용자가 형상 변형점을 자유자재로 선택하여 그 변형점에 따른 형상 변형 결과를 신속하게 확인하여 형상 변형의 효율적인 작업을 수행할 수 있을 뿐만 아니라 가중치 파라미터를 설정할 수 있으므로 다양한 형 상을 형성할 수 있으며, 메쉬 변형 뿐만 아니라 각각 독립적으로 구성된 포인트로 된 형상의 모델의 변형이 가능하고, 영상 프레임 간의 보간 프레임을 정확하고 신속하게 생성할 수 있는 효과가 있다.

Description

포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원 형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체{Method for deforming 3-dimentional shape based on point, Method for generating intermediate frame of 3-dimentional shape and Recording medium thereof}
도 1은 본 발명에 따른 포인트 기반의 3차원 형상의 변형 방법의 변형 알고리즘을 도시한 것이다.
도 2는 본 발명에 따른 포인트 기반의 3차원 형상의 변형 방법의 흐름도이다.
도 3a 내지 도 3f는 본 발명에 적용되는 가중치 파라미터에 따른 3차원 형상의 변형정도를 도시한 것이다.
도 4는 본 발명에 따른 가중치를 적용한 3차원 형상의 변형을 도시한 것이다.
도 5는 본 발명에 따른 사용자와 형상 변형 알고리즘의 독립된 구성을 도시한 것이다.
도 6은 본 발명에 따른 포인트 기반의 3차원 형상의 보간 프레임 생성 방법의 흐름도이다.
도 7a는 본 발명의 일 실시예에 따른 회전 행렬에 따라 보간 프레임을 생성 한 것을 도시한 것이다.
도 7b는 본 발명의 다른 실시예에 따른 선형적인 방법에 따른 보간 프레임을 생성한 것이다.
본 발명은 형상 변형 방법에 관한 것으로써, 특히 사용자에 의해 등록된 조종점이 이동할 때 형성되는 변형 정보를 이용하여 3차원 형상의 변형을 연산하며, 그 변형된 형상의 강체적 특징을 유지할 수 있는 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 보간 프레임 생성 방법 및 이를 기록한 기록매체에 관한 것이다.
형상 변형은 최근 3D 애니메이션, 영상 매체, 의료 분야에서의 성형 수술분야에서의 필요성에 따라 그 수요가 증가하고 있다.
실제로 형상 변형의 결과를 애니메이션과 같은 상기 응용 분야에서 사용될 경우, 변형된 결과가 원래 형상과 상이하게 다를 경우, 이러한 변형 결과는 유용하게 사용할 수 없기 때문에 변형된 형상이 원래 형상의 특징을 최대한 보존해야 하는 것은 형상 변형에 있어서 아주 중요한 문제이다.
그리고, 사용자는 그림으로 손으로 그리거나 제작한 것을 가상의 공간에서 자유자재로 변형하고자 할 경우, 여러 가지 응용 프로그램을 사용할 수 있다.
가장 많이 알려진 형상 변형 방법으로는 사용자가 형상의 뼈대를 미리 정의 하여 이용하는 것[Lewis et al, 2000]이다. 이는 사용자가 뼈대의 형상을 조종하게 되고, 시스템은 그 뼈대와 관련된 전체 형상을 조절한다. 그러나 형상에 대한 뼈대 구조를 정의하는 것은 손쉬운 일이 아니며, 명백한 관절 구조가 부족한 젤리와 같은 물체에는 적용하기 곤란하다.
한편, 또다른 형상 변형 방법으로는 자유 형상 변형(Free-form deformation:FFD)[MacCracken and Joy, 1996]으로 사용자가 공간을 복수 개의 영역으로 명시적으로 분할하여, 그곳에 정의된 제어 점(control points)을 이동함으로써 각각의 영역을 조종하게 된다.
그러나, 이 역시 자유 형상 변형의 영역을 설정하는 것이 번거롭고 많은 시간이 소요되며, 사용자가 수많은 제어 점을 조작하는 것이 쉽지 않다.
따라서, 최근 As-Rigid-As-Possible에 따른 변형방법을 사용하고 있는데, 이는 형상을 변형 시키는 방법인 회전, 이동, 크기변형, 찌그러짐 중에서 형상의 모양을 변형 시키지 않는 회전, 이동만을 이용하는 변형 방법을 이용한다. 이러한 접근 방법으로는, 메쉬를 이루는 각 삼각형이 지역적으로 강체 변형을 수행하도록 하여 전체적으로 최대한 강체성을 유지하도록 하는 방법[Alexa et al, 2000]이 있고, 사용자가 조종점을 등록하고 이동함으로써 2차원 메쉬 모델을 변형하는 방법[Igarashi et al, 2005]이 있으며, 기존의 메쉬의 삼각 삼각형이 아닌 포인트를 기반으로 2차원 포인트 모델을 변형하는 방법[Schaefer et al, 2006] 등이 제시되었다.
그러나, 종래의 형상 변형 방법은 2차원 형상 변형에 그치고, 3차원 형상 변 형에 있어서 구현의 곤란성 및 복잡성으로 인하여 3차원 형상에 확장할 수 없으며, 각 점에서 수행될 강체 변형을 아이겐 벡터(eigen vector)의 문제로 해결하는 방법을 제안하고 있지만, 이 경우 계산량이 많은 행렬 연산을 하여야 하므로 연산 속도가 현저하게 저하되어 처리 시간이 오래 걸리는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는 사용자에 의해 등록된 조종점이 이동할 때 형성되는 변형 정보를 이용하여 3차원 형상의 변형을 연산하며, 그 변형된 형상의 강체적 특징을 유지할 수 있는 포인트 기반의 3차원 형상의 변형 방법을 제공하는 것이다.
그리고, 본 발명이 이루고자 하는 두 번째 기술적 과제는 상기 포인트 기반의 3차원 형상의 변형 방법을 이용한 포인트 기반의 3차원 형상의 보간 프레임 생성 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 세 번째 기술적 과제는 상기 포인트 기반의 3차원 형상의 변형 방법 및 3차원 형상의 보간 프레임 생성 방법을 컴퓨터에서 실행하도록 컴퓨터 프로그램으로 기록한 기록매체를 제공하는 것이다.
상기 첫 번째 기술적 과제를 달성하기 위하여 본 발명은,
사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택하는 단계;, 기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트를 변 형하고자 하는 위치로 이동하는 단계, 상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산하는 단계, 상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성하는 단계, 상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산하는 단계, 및 상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하는 단계를 포함하는 포인트 기반의 3차원 형상의 변형 방법을 제공한다.
그리고, 상기 두 번째 기술적 과제를 달성하기 위하여 본 발명은,
사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이 된 3차원의 형상을 포함하는 제 1 영상 프레임을 저장하는 단계, 상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택하는 단계, 상기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트 중 형상 변형 포인트를 지정하여 지정된 형상 변형 포인트를 변형하고자 하는 위치로 이동하는 단계, 상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산하는 단계, 상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성하는 단계, 상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형 하는 회전 행렬을 연산하는 단계, 및 상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하여 디스플레이하고, 상기 디스플레이된 변형된 3차원 형상을 포함하는 제 2 영상 프레임을 저장하는 단계, 및 상기 제 1 영상 프레임과 상기 제 2 영상 프레임 사이의 보간 프레임을 생성하는 단계를 포함하는 포인트 기반의 3차원 형상의 보간 프레임 생성 방법을 제공한다.
또한, 상기 세 번째 기술적 과제를 달성하기 위하여 본 발명은,
상기 포인트 기반의 3차원 형상의 변형 방법 또는 3차원 형상의 보간 프레임 생성 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세히 설명하지만 본 발명이 이에 의해 제한되는 것은 아니다.
그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형할 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공된다.
도 1은 본 발명에 따른 포인트 기반의 3차원 형상의 변형 방법의 변형 알고리즘을 도시한 것이다.
본 기술의 핵심적인 문제는 형상을 이루는 각 포인트
Figure 112007032684172-PAT00001
의 변형후의 포인트 를 변형식
Figure 112007032684172-PAT00002
을 이용하여 구하는 것이다. 이 때, 형상 전체의 왜곡을 최소화 하기 위해서 형상을 이루는 각 포인트
Figure 112007032684172-PAT00003
는 왜곡을 일으키지 않는 변형인 회전 변형식
Figure 112007032684172-PAT00004
과 이동 변형식
Figure 112007032684172-PAT00005
를 조합하여 강체 변형을 수행한다.
도 1을 참조하면, 우선 사용자는 변형하고자 하는 3차원의 영상을 화면상에 디스플레이한다(100S).
그 다음, 사용자는 변형하고자 하는 3차원의 영상에 대하여, 변형하고자 하는 형상 변형 포인트를 선택한다(110S).
형상 변형 포인트는 사용자가 변형하고자하는 형상의 소정의 위치에 해당하는 포인트로 지정할 수 있으며, 지정할 수 있는 형상 포인트 개수는 사용자의 사용 상태에 따라 제한 없이 지정 가능하다.
한편, 기존의 Affine 변형은 형상 변형 포인트가 4개 이상 필요하지만, 본 발명에 따른 형상 변형 방법은 형상 변형 포인트가 1개 이상이라도 3차원 형상을 형상 변형 할 수 있다.
그 다음, 사용자는 선택된 형상 변형 포인트를 저장하고, 이 저장된 형상 변형 포인트에 해당되는 이동하고자 하는 형상 변형 이동 포인트를 지정한다(120S).
도 1에 도시된 바와 같이 변형 전의 토끼 모델(stanford bunny)에 3개의 형상 변형 포인트를 등록하였을 경우, 상기 형상 변형 포인트를 각각
Figure 112007032684172-PAT00006
라고 하고, 상기 형상 변형 포인트
Figure 112007032684172-PAT00007
를 이동하고자 하는 형상 변형 이동 포인트인
Figure 112007032684172-PAT00008
로 이동한다.
본 발명에서는 상기 형상 변형 포인트인
Figure 112007032684172-PAT00009
와 형상 변형 이동 포인트인
Figure 112007032684172-PAT00010
와의 관계를 이용하여 3차원의 형상을 이루는 점
Figure 112007032684172-PAT00011
의 강체 변형점을 근사화 할 수 있다.
그 다음, 선택된 형상 변형 포인트와 이에 대응되는 이동하고자하는 형상 변형 이동 포인트 각각의 중심점을 연산한다(130S).
형상 변형 포인트의 중심점과 형상 변형 이동 포인트의 중심점을 지정해야 하는데 본 발명에서는 가중치 평균인
Figure 112007032684172-PAT00012
Figure 112007032684172-PAT00013
를 이용하여 형상 변형 포인트의 중심점과 형상 변형 이동 포인트의 중심점을 연산한다.
우선, 형상 변형 포인트의 중심점은 하기의 수학식 1에 의하여 연산될 수 있다.
Figure 112007032684172-PAT00014
수학식 1에서
Figure 112007032684172-PAT00015
는 해당되는 형상 변형 포인트의 인덱스를 나타내며,
Figure 112007032684172-PAT00016
는 각 형상 변형 포인트의 좌표를 나타내고,
Figure 112007032684172-PAT00017
는 각 형상 변형 포인트의 가중치를 나타낸다. 그리고,
Figure 112007032684172-PAT00018
는 형상 변형 포인트의 중심점을 나타내고,
Figure 112007032684172-PAT00019
는 형상 변형 이동 포인트의 중심점을 나타낸다.
여기서, 형상 변형 포인트의 가중치인
Figure 112007032684172-PAT00020
는 3차원 형상에 해당되는 임의의 점인
Figure 112007032684172-PAT00021
와 각 형상 변형 포인트
Figure 112007032684172-PAT00022
와의 거리를 기반으로 한 아래의 수학식 2에 의해 연산될 수 있다.
Figure 112007032684172-PAT00023
상기 수학식 2에서
Figure 112007032684172-PAT00024
는 3차원 형상에 해당되는 임의의 점을 나타내고,
Figure 112007032684172-PAT00025
는 각 형상 변형 포인트를 나타내며 ,
Figure 112007032684172-PAT00026
는 가중치 파라미터를 나타낸다. 가중치 파라미터는 사용자에 의해 3차원 형상의 변형 강도를 나타내며, 0 이상의 실수를 사용할 수 있으며, 가중치 파라미터 값이 커질수록 점
Figure 112007032684172-PAT00027
와 가까이에 있는 형상 변형 포인트
Figure 112007032684172-PAT00028
의 변형에 대한 가중치가 높아지므로, 형상 변형 이동 포인트에 의해 3차원 형상의 변형의 영향을 크게 받게 된다.
그 다음, 연산된 형상 변형 포인트의 중심점과 이에 대응되는 이동하고자하는 형상 변형 이동 포인트의 중심점을 기준으로 형상 변형 포인트 각각에 대한 벡터와 형상 변형 이동 포인트 각각에 대한 벡터를 생성한다(140S).
3차원 형상 변형 전의 형상 변형 포인트인
Figure 112007032684172-PAT00029
와 형상 변형 후의 형상 변형 이동 포인트인
Figure 112007032684172-PAT00030
는, 형상 변형 포인트의 중심점
Figure 112007032684172-PAT00031
와 형상 변형 이동 포인트의 중심점인
Figure 112007032684172-PAT00032
를 기준으로 벡터
Figure 112007032684172-PAT00033
Figure 112007032684172-PAT00034
로 표현할 수 있다.
그 다음, 이와 같이 벡터
Figure 112007032684172-PAT00035
Figure 112007032684172-PAT00036
로 표현함으로써,
Figure 112007032684172-PAT00037
에서
Figure 112007032684172-PAT00038
로의 강체 변형 중 이동 변형인
Figure 112007032684172-PAT00039
를 제거하고, 결과적으로 3차원 형상을 이루는 점
Figure 112007032684172-PAT00040
의 회전 변형은 각
Figure 112007032684172-PAT00041
Figure 112007032684172-PAT00042
사이의 회전 변형
Figure 112007032684172-PAT00043
만을 이용하여 근사함으로써 3차원 형상을 변형할 수 있다(150S).
종래의 2차원 형상을 변형하는 방법에 있어서는 변형 전과 변형 후에 대응되는 각 한 쌍의 형상 변형 포인트와 형상 변형 이동 포인트의 중심점인
Figure 112007032684172-PAT00044
Figure 112007032684172-PAT00045
사이의 변형 행렬인
Figure 112007032684172-PAT00046
를 이용하여 2차원 형상의 각 점이 수행해야 하는 최적의 회전
Figure 112007032684172-PAT00047
을 근사하는 문제를 풀이하는 방법을 적용한다.
이 문제는 2차원에서는 2×2 행렬의 특수성으로 인하여 선형적(linear)인 방법으로 연산이 가능하다. 이는 2차원에서의 회전 행렬은 직교정규(orthonormal) 행렬인데, 이 2×2의 직교정규(orthonormal) 행렬의 선형적 가중치 평균을 연산한 결과도 역시 직규정교(orthonormal) 행렬을 결과로 내기 때문이다.
그러나, 3차원에서는 3×3 행렬의 단순한 가중치 평균은 직교정규(orthonormal) 행렬을 결과로 내지 않는다.
따라서, 이 2차원 방법을 3차원으로 확장하기 위해서는 변형 행렬인
Figure 112007032684172-PAT00048
로부터 최적의 직교정규적인 회전 행렬
Figure 112007032684172-PAT00049
을 근사하는 것을 고유 벡터(eigen vector) 문제로 귀결된다. 그러나 고유 벡터를 이용하여 3차원 형상을 변형하는 것은 연산량이 많으므로 처리 속도가 느리다.
본 발명에서는 변형 행렬인
Figure 112007032684172-PAT00050
로부터 회전 요소를 직접 추출하고, 그 회전요소로부터 최적의 회전 요소를 근사하는 방법을 적용한다.
즉, 도 1을 참조하면, 3차원에서의 회전 요소는 3×3 직규정교 행렬인
Figure 112007032684172-PAT00051
가 아닌 벡터의 축과 각만의 구성을 가진 axis-angle의
Figure 112007032684172-PAT00052
형태로 직접 추출하고(150S), 추출한 회전 요소
Figure 112007032684172-PAT00053
로부터의 차이를 최소화하는 최적의 회전
Figure 112007032684172-PAT00054
을 이동 최소 자승 근사법(Moving Least Squares:MLS)을 이용하여 근사하여
Figure 112007032684172-PAT00055
의 3차원 형상 변형 후의 이동 점인
Figure 112007032684172-PAT00056
를 연산한다.
축과 각 만으로 이루어진 벡터인 axis-angle 벡터는 벡터 사이의 회전을 회전 축을 표현하는 단위벡터
Figure 112007032684172-PAT00057
와 그 축을 기준으로 회전하는 각도
Figure 112007032684172-PAT00058
의 곱 벡터
Figure 112007032684172-PAT00059
Figure 112007032684172-PAT00060
로 표현하는 것이다. 여기서 각도의 단위는 라디안(radian)이다. 즉, 결과 벡터의 크기는 각도를 나타내며, 벡터 방향은 회전 축을 의미한다.
여기서 3차원 형상의 변형 전 후의 형상 변형 포인트에 따른 벡터
Figure 112007032684172-PAT00061
와, 형상 변형 이동 포인트에 따른 벡터
Figure 112007032684172-PAT00062
사이의 회전 축과 각도를 axis-angle 벡터 형태로 하기의 수학식 3과 같이 연산할 수 있다.
Figure 112007032684172-PAT00063
그 다음, 벡터
Figure 112007032684172-PAT00064
들 간의 차이를 최소화하는 벡터
Figure 112007032684172-PAT00065
을 최소 자승 근사법(Moving Least Squares:MLS)을 이용하여 근사화한다(160S).
상기 최소 자승 근사법에 따라 벡터 사이의 회전 벡터
Figure 112007032684172-PAT00066
들 간의 차이를 최소화하는 벡터
Figure 112007032684172-PAT00067
을 최소 자승 근사법에 의해 근사화하는 식은 하기의 수학식 4와 같다.
Figure 112007032684172-PAT00068
상기 수학식 4를 참조하면, 구하고자 하는 벡터
Figure 112007032684172-PAT00069
과 근사 대상이 되는 형상 변형 포인트에 따른 벡터
Figure 112007032684172-PAT00070
와, 형상 변형 이동 포인트에 따른 벡터
Figure 112007032684172-PAT00071
사이의 회전 벡터
Figure 112007032684172-PAT00072
들 간의 차이를 에러라고 하면, 그 에러는 최소화 하는 벡터
Figure 112007032684172-PAT00073
을 연산하는 것이다.
이를 연산하기 위해서는 상기 수학식 4에 따른 2차 방정식을 최소값이 되게 하는 벡터
Figure 112007032684172-PAT00074
, 즉 2차식의 미분 값이 0이 될 경우의
Figure 112007032684172-PAT00075
벡터를 연산하는 것이다.
상기 수학식 4는 간단하게 하기 수학식 5로 선형 가중치 평균(Linear weighted average)으로 풀이할 수 있다.
Figure 112007032684172-PAT00076
상기 수학식 5를 살펴보면
Figure 112007032684172-PAT00077
Figure 112007032684172-PAT00078
이므로, 각
Figure 112007032684172-PAT00079
에 가한 가중치인
Figure 112007032684172-PAT00080
값을 곱한 값에
Figure 112007032684172-PAT00081
의 총합을 나눈값이 에러를 최소화하는 선형 가중치 평균이 됨을 알 수 있다.
한편, 그 결과로 구한 axis-angle 벡터
Figure 112007032684172-PAT00082
로부터 회전 각도
Figure 112007032684172-PAT00083
와 회전 축
Figure 112007032684172-PAT00084
를 하기의 수학식 6으로부터 구한다.
Figure 112007032684172-PAT00085
수학식 6을 참조하면, 회전 벡터
Figure 112007032684172-PAT00086
들 간의 차이를 에러라고 하면, 그 에러는 최소화 하는 벡터
Figure 112007032684172-PAT00087
의 크기는 각도
Figure 112007032684172-PAT00088
를 나타내며, 벡터
Figure 112007032684172-PAT00089
의 방향인
Figure 112007032684172-PAT00090
는 단위벡터로 연산함으로써 구할 수 있다.
상기 수학식 6으로부터 구한 벡터
Figure 112007032684172-PAT00091
은 하나의 회전 행렬
Figure 112007032684172-PAT00092
로 변형하여 최종 결과인 회전 행렬을 연산한다. 여기서 수학식 6으로부터 구한 벡터
Figure 112007032684172-PAT00093
을 회전 행렬
Figure 112007032684172-PAT00094
로 변형하는 방법은 axis-angle 벡터
Figure 112007032684172-PAT00095
을 행렬
Figure 112007032684172-PAT00096
로 변환하는 일반적인 수학적 알고리즘을 이용한다.
그 다음, 마지막으로 회전 행렬
Figure 112007032684172-PAT00097
을 이용하여
Figure 112007032684172-PAT00098
의 이동점인
Figure 112007032684172-PAT00099
를 구한다(170S).
회전 행렬
Figure 112007032684172-PAT00100
을 이용하여
Figure 112007032684172-PAT00101
의 이동점인
Figure 112007032684172-PAT00102
, 즉
Figure 112007032684172-PAT00103
는 하기의 수학식 7을 이용하여 구할 수 있다.
Figure 112007032684172-PAT00104
상기의 수학식 7은
Figure 112007032684172-PAT00105
에 의해 구한 식이다. 상술한 바와 같이 형상 변형 포인트 및 형상 변형 이동 포인트를 벡터로 표현한 것처럼 형상 변형 전의 3차원 형상의 임의의 점
Figure 112007032684172-PAT00106
와 형상 변형 후의 3차원 형상의 이동 점인
Figure 112007032684172-PAT00107
역시 형상 변형 이동 포인트의 중심점
Figure 112007032684172-PAT00108
에 대한 벡터로 표현된다. 따라서 3차원 형상의 임의의 점 모두는 회전 변형을 회전 행렬
Figure 112007032684172-PAT00109
을 수행한다.
마지막으로, 3차원 형상을 이루는 점을 회전 행렬에 따라 회전 변형을 수행하고, 수행된 결과에 따른 3차원 형상을 디스플레이한다(180S).
도 1을 참조하면, 회전 변형을 가한 토끼 형상에 있어서 형상 변형 포인트를 형상 변형 이동 포인트로 이동하였을때의 토끼의 형상을 도시하고 있다. 이를 살펴보면 3차원 형상의 왜곡이나 찌그러짐없이 사용자가 구현하고자 하는 토끼의 형상 변형이 자연스럽게 구현되었음을 확인할 수 있다.
도 2는 본 발명에 따른 포인트 기반의 3차원 형상의 변형 방법의 흐름도이 다.
도 2를 참조하면, 우선 사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택한다(210 과정).
상술한 바와 같이 형상 변형 포인트는 사용자가 변형하고자 하는 형상의 소정의 위치에 해당하는 포인트를 지정할 수 있으며, 지정할 수 있는 형상 포인트의 갯수는 사용자의 사용 상태에 따라 제한 없이 지정 가능하다.
실제로, 사용시에는 사용자가 변형하고자 하는 형상의 소정의 위치에 해당하는 포인트는 디스플레이된 형상의 해당 포인트의 점을 선택하는 것만으로도 가능할 수 있다.
그리고, 본 발명에 있어서 3차원 형상은 메쉬 형상 뿐만 아니라 형상이 서로 연결되지 않은 포인트 만으로 이루어진 포인트 셋의 형상도 변형 가능하다.
그 다음, 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트를 변형하고자 하는 위치로 이동한다(220 과정).
그 다음, 상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산한다.
이는,
Figure 112007032684172-PAT00110
는 해당되는 상기 형상 변형 포인트의 인덱스를 나타내며,
Figure 112007032684172-PAT00111
는 상기 형상 변형 포인트의 중심점을 나타내고,
Figure 112007032684172-PAT00112
는 상기 형상 변형 이동 포인트의 중심점을 나타낼 경우, 상기 형상 변형 포인트의 중심점 및 상기 현상 변형 이동 포인트의 중심점은 수학식
Figure 112007032684172-PAT00113
에 의해 연산될 수 있다.
여기서, 형상 변형 포인트의 중심점 및 상기 현상 변형 이동 포인트의 중심점은 상기 형상 변형 포인트의 가중치에 의해 연산되며,
Figure 112007032684172-PAT00114
는 3차원 형상을 이루는 특정의 포인트이고,
Figure 112007032684172-PAT00115
는 상기 형상 변형 포인트이며,
Figure 112007032684172-PAT00116
는 가중치 파라미터일 경우, 상기 가중치
Figure 112007032684172-PAT00117
는 수학식
Figure 112007032684172-PAT00118
에 의해 연산될 수 있다.
한편, 상기 가중치 파라미터는 상기 3차원 형상의 변형 강도를 나타내는 값으로, 가중치 파라미터 값에 따라 다양한 형상 변형을 이끌 수 있다. 가중치 파라미터 값이 작을수록 형상 변형 포인트의 이동에 따라 원래의 3차원 형상의 변형 정도가 적으며, 가중치 파라미터의 값이 클수록 형상 변형 포인트의 이동에 따라 원래의 3차원 형상의 변형 정도가 크다.
그 다음, 상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성한다(230 과정).
즉, 3차원 형상 변형 전의 형상 변형 포인트인
Figure 112007032684172-PAT00119
와 형상 변형 후의 형상 변형 이동 포인트인
Figure 112007032684172-PAT00120
는, 형상 변형 포인트의 중심점
Figure 112007032684172-PAT00121
와 형상 변형 이동 포인트의 중심점인
Figure 112007032684172-PAT00122
를 기준으로 벡터
Figure 112007032684172-PAT00123
Figure 112007032684172-PAT00124
로 표현할 수 있다.
이와 같이 벡터
Figure 112007032684172-PAT00125
Figure 112007032684172-PAT00126
로 표현함으로써, 3차원의 형상의 변형 중에서 이동 변형인
Figure 112007032684172-PAT00127
를 제거하고, 결과적으로 3차원 형상을 이루는 점
Figure 112007032684172-PAT00128
의 회전 변형
Figure 112007032684172-PAT00129
을 근사화함으로써 3차원 형상을 변형할 수 있다
그 다음, 상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산한다(240 과정).
3차원에서의 회전 요소는 3×3 직규정교 행렬인
Figure 112007032684172-PAT00130
가 아닌 벡터의 축과 각만의 구성을 가진 axis-angle의
Figure 112007032684172-PAT00131
형태로 직접 추출하고, 추출한 회전 요소
Figure 112007032684172-PAT00132
로부터의 차이를 최소화하는 최적의 회전
Figure 112007032684172-PAT00133
을 이동 최소 자승 근사법(Moving Least Squares:MLS)을 이용하여 근사화하여
Figure 112007032684172-PAT00134
의 3차원 형상 변형 후의 이동 점인
Figure 112007032684172-PAT00135
를 연산한다.
축과 각 만으로 이루어진 벡터인 axis-angle 벡터는 벡터 사이의 회전을 회전 축을 표현하는 단위벡터
Figure 112007032684172-PAT00136
와 그 축을 기준으로 회전하는 각도
Figure 112007032684172-PAT00137
의 곱 벡터
Figure 112007032684172-PAT00138
Figure 112007032684172-PAT00139
로 표현하는 것이다.
그리고, 벡터
Figure 112007032684172-PAT00140
들 간의 차이를 최소화하는 벡터
Figure 112007032684172-PAT00141
을 최소 자승 근사법(Moving Least Squares:MLS)을 이용하여 근사화한다.
상기 최소 자승 근사법에 따라 벡터 사이의 회전 벡터
Figure 112007032684172-PAT00142
들 간의 차이를 최소화하는 벡터
Figure 112007032684172-PAT00143
을 최소 자승 근사법에 의해 근사화하여 그 결과로 구한 axis-angle 벡터
Figure 112007032684172-PAT00144
로부터 회전 각도
Figure 112007032684172-PAT00145
와 회전 축
Figure 112007032684172-PAT00146
를 구하여 하나의 회전 행렬
Figure 112007032684172-PAT00147
로 변형하여 최종 결과인 회전 행렬을 연산한다. 여기서 벡터
Figure 112007032684172-PAT00148
을 회전 행렬
Figure 112007032684172-PAT00149
로 변형하는 방법은 축과 각의 성분으로 이루어진 axis-angle 벡터
Figure 112007032684172-PAT00150
을 행렬
Figure 112007032684172-PAT00151
로 변환하는 일반적인 수학적 알고리즘을 이용한다.
마지막으로, 상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하게 된다(250 과정).
도 3a 내지 도 3f는 본 발명에 적용되는 가중치 파라미터에 따른 3차원 형상의 변형정도를 도시한 것이다.
도 3a 내지 도 3f를 참조하면, 본 발명의 가중치 파라미터에 따라 다양한 형상 변형 정도를 알 수 있다. 도 3a는 가중치 파라미터가 0인 경우로 가중치 파라미터가 0인 경우에 형상 변형 포인트의 이동에도 불구하고, 원래의 3차원 형상의 형상 변형에는 아무런 영향을 주지 않음을 알 수 있으나, 가중치 파라미터가 값이 0에서 3까지 커짐으로써 점점 형상 변형 포인트의 이동에 의해 3차원 형상의 변형 정도가 커짐을 알 수 있다.
도 4는 본 발명에 따른 가중치를 적용한 3차원 형상의 변형을 도시한 것이다.
형상 변형에 있어서 일반적인 유클리드 거리를 감안하여 형상을 변형할 경우에는 형상 변형 포인트와 공간적으로 가까이 있지만, 위상적으로 멀리 떨어져 위치한 점들이 형상 변형 포인트의 이동에 따라서 영향을 크게 받는 문제가 발생한다.
그러나, 본 발명에서는 3차원 형상 위의 점과 형상 변형 포인트의 위상적 거리에 따라 3차원 형상의 변형 정도가 다르게 나타난다.
즉, 상술한 바와 같이 상기의 수학식 2를 살펴보면, 형상 변형 포인트와 3차원의 형상을 이루는 포인트의 거리가 클수록 3차원의 형상 변형에 영향을 덜 주게 되어 사용자가 의도한 형상 변형을 유도할 수 있다.
이는 직접 도 4를 통하여 확인할 수 있다. 즉, 형상 변형 포인트의 이동에 대하여 3차원의 형상을 이루는 점들 중 형상 변형 포인트와 상대적으로 멀리 떨어져 있는 점들의 이동에 영향을 적게 주므로, 사용자가 다양한 형상 변형을 유도할 수 있다.
도 5는 본 발명에 따른 3차원의 형상 변형에 있어서, 사용자와 형상 변형 알고리즘의 독립된 구성을 도시한 것이다.
도 5를 참조하면 사용자는 3차원의 형상에 있어서 형상 변형 포인트의 등록과 형상 변형 포인트를 이동한 형상 변형 이동 포인트의 지정으로만 본 발명에 따른 형상 변형을 유도할 수 있다.
실질적으로, 사용자가 형상 변형 포인트를 등록하면, 형상 변형 알고리즘을 통하여 형상 변형 포인트의 등록에 따라 형상 변형 포인트(
Figure 112007032684172-PAT00152
)를 저장하고, 상기 형상 변형 포인트에 따라 형상 변형 포인트에 따른 중심점(
Figure 112007032684172-PAT00153
)을 연산하며, 형상 변형 중심점에 따라 형상 변형 포인트를 이용하여 각각의 형상 변형 벡터(
Figure 112007032684172-PAT00154
)를 생성한다.
그리고 나서, 사용자가 형상 변형 포인트를 이동하여 형상 변형 이동 포인트를 지정하면, 형상 변형 알고리즘을 통하여 형상 변형 이동 포인트(
Figure 112007032684172-PAT00155
)를 저장하고, 상기 형상 변형 이동 포인트에 따라 형상 변형 이동 포인트에 따른 중심점(
Figure 112007032684172-PAT00156
)을 연산하며, 형상 변형 이동 중심점에 따라 각각의 형상 변형 이동 포인 트를 이용하여 각각의 형상 변형 이동 벡터(
Figure 112007032684172-PAT00157
)를 생성한다.
그러면, 형상 변형 벡터 및 형상 변형 이동 벡터를 각과 축으로 구성되는 벡터를 생성하고, 이를 기반으로 축과 각만으로 이루어진 벡터는 벡터 사이의 회전을 회전 축을 표현하는 단위벡터
Figure 112007032684172-PAT00158
와 그 축을 기준으로 회전하는 각도
Figure 112007032684172-PAT00159
의 곱 벡터
Figure 112007032684172-PAT00160
을 생성하게 된다.
그러면, 최소 자승 근사법에 따라 벡터 사이의 회전 벡터
Figure 112007032684172-PAT00161
들 간의 차이를 최소화하는 벡터
Figure 112007032684172-PAT00162
을 최소 자승 근사법에 의해 근사화하여 그 결과로 구한 axis-angle 벡터
Figure 112007032684172-PAT00163
로부터 회전 각도
Figure 112007032684172-PAT00164
와 회전 축
Figure 112007032684172-PAT00165
를 구하여 하나의 회전 행렬
Figure 112007032684172-PAT00166
로 변형하여 최종 결과인 회전 행렬을 연산하여
Figure 112007032684172-PAT00167
의 이동점인
Figure 112007032684172-PAT00168
를 구할수 있게 된다.
표 1은 본 발명에 따른 3차원 형상 변형의 처리 속도를 도시한 것이다.
Figure 112007032684172-PAT00169
표 1은 본 발명에 따른 3차원 형상 변형에 있어서 형상 변형 포인트의 갯수와 3차원 형상을 이루는 포인트의 갯수에 따른 형상 변형의 처리 속도를 비교한 것이다. 상기 표 2를 참조하면, 3차원 형상을 이루는 점의 갯수와 형성 변형 포인트 갯수가 모두 동일하게 형상 변형의 처리 속도에 영향을 미침을 알 수 있다. 형상을 이루는 포인트 갯수가 1000에서 10000으로 10배 증가하였을 경우 형상 변형의 처리 시간이 10배 증가한 것을 알 수 있으며, 형상 변형 포인트의 갯수가 5개에서 10개로 늘어났을 경우, 변형 시간 역시 약 2배 증가한 것을 확인 할 수 있었다.
따라서, 3차원 형상을 변형할 경우, 형상을 이루는 포인트의 갯수를 조절하는 것이 여의치 않을 경우, 형상 변형 포인트의 갯수를 최소화 할 경우, 형상 변형의 처리 속도를 증가시킬 수 있다.
보다 형상을 변형하는데 있어서 지정하는 형상 변형 포인트의 갯수에 따라 3차원 형상 변형의 처리 속도가 크게 달라짐을 알 수 있다.
표 1을 참조하면, 본 발명에서는 형상 변형 포인트가 5개 이하일 경우, 보다 정확하게는 형상 변형 포인트와 형상을 이루는 포인트의 곱이 100,000 이하일 경우에 최적의 성능을 보임을 알 수 있다.
표 2는 여러 가지 모델의 3차원 형상에 대하여 본 발명에 따른 형상 변형 포인트를 지정하고 이를 기반으로 형상을 변형하였을 때의 처리 시간을 도시한 것이다.
표 2를 참조하면 본 발명에 따른 3차원 형상의 형상 변형은 3차원 형상을 이루는 형상점의 갯수와 형상 변형 포인트의 곱에 따라 연산 시간이 달라지므로 3차원 형상의 형상 변형 계산 시간에 3차원 형상점의 갯수와 형상 변형 포인트의 갯수를 곱한 값으로 나누면 3차원 형상을 이루는 단위점에 대한 형상 변형 연산 시간을 알 수 있다.
이에 따라, 3차원 형상의 변형 시간을 연산해 본 결과 3차원 형상의 단위점에 대한 형상 변형 시간은 2.46×10-4(ms) ~ 3.25×10-4(ms)의 시간이 소요됨을 알 수 있어서, 3차원 형상의 형상 변형 시간에 대한 각 점의 시간적인 편차는 거의 없는 것으로 확인되었다.
하기의 표 3은 종래의 방법에 대한 3차원 형상 변형의 처리 시간을 도시한 것이다.
Figure 112007032684172-PAT00171
표 3은 종래의 3차원 형상 변형에 있어서, 3차원 형상을 이루는 단위점에 대한 3차원 형상의 형상 변형 처리 시간을 표시한 것이다.
종래의 3차원 형상 변형은 형상 변형 포인트의 갯수와는 무관하므로, 3차원 형상 변형에 있어서 소요된 시간을 상기 3차원 형상을 이루는 형상 점의 갯수로 나누어 3차원 형상의 단위점에 대한 형상 변형 소요 시간을 계산하였다.
이는 표 3에 표시된 바와 같이 8.98×10-4(ms) ~ 283.3×10-4(ms)의 시간이 소요됨을 알 수 있다.
따라서, 표 3에 도시된 기존의 3차원 형상의 형상 변형 시간과 표 2에 도시된 본 발명에 따른 3차원 형상의 형상 변형 시간을 비교하면, 본 발명에 따른 형상 변형이 최소 2.7배에서 최대 115.2배로 처리 시간이 신속함을 알 수 있다.
이는 종래의 3차원 형상 변형은 기준 벡터 문제(eigen vector problem)로 연산하므로, 본 발명에 따른 3차원 형상 변형에 따른 연산량이 비교적 적기 때문에 나타나는 사항이다.
더불어, 종래의 2차원 형상의 형상 변형 시간은 하기의 표 4와 같다.
Figure 112007032684172-PAT00172
표 4를 참조하면 표 4는 종래의 2차원 형상 변형에 있어서, 2차원 형상을 이루는 단위점에 대한 2차원 형상의 형상 변형 처리 시간을 표시한 것이다.
종래의 2차원 형상 변형 역시 형상 변형 포인트의 갯수와는 무관하므로, 2차원 형상 변형에 있어서 소요된 시간을 상기 2차원 형상을 이루는 형상 점의 갯수로 나누어 2차원 형상의 단위점에 대한 형상 변형 소요 시간을 계산하였다.
이는 표 4에 표시된 바와 같이 24.3×10-4(ms) ~ 192.9×10-4(ms)의 시간이 소요됨을 알 수 있다.
따라서, 표 4에 도시된 기존의 2차원 형상의 형상 변형 시간과 표 2에 도시된 본 발명에 따른 3차원 형상의 형상 변형 시간을 비교하면, 2차원 형상의 형상 변형의 수학적 연산량이 비교적 적음에도 불구하고, 본 발명에 따른 형상 변형이 최소 7.5배에서 최대 78.4배로 처리 시간이 신속함을 알 수 있다.
도 6은 본 발명에 따른 포인트 기반의 3차원 형상의 보간 프레임 생성 방법의 흐름도이다.
도 6을 참조하면 우선,사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이 된 3차원의 형상을 포함하는 제 1 영상 프레임을 저장한다(610 과정).
그 다음, 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택한다(620 과정).
이는 상술한 바와 같이 사용자가 변형하고자 하는 형상의 특정 위치에 해당하는 포인트를 지정할 수 있으며, 지정할 수 있는 형상 변형 포인트의 갯수는 사용자의 사용상태에 따라 제한없이 가능하며, 상술한 바와 같이 형상 변형 포인트와 형상을 이루는 포인트의 곱이 100,000 이하일 경우에 최적의 성능을 보이므로, 형상을 포인트의 갯수가 줄어들면, 그에 따라 더 많은 형상 변형 포인트를 지정할 수 있게 된다.
그 다음, 상기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트 중 형상 변형 포인트를 지정하여 지정된 형상 변형 포인트를 변형하고자 하는 위치로 이동한다(630 과정).
그 다음, 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산한다(640 과정).
즉, 형상 변형 포인트를 이동하고, 이동된 형상 변형 이동 포인트의 중심점을 연산한다. 그리고, 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점은 형상 변형 포인트의 가중치에 의해 연산될 수 있으며, 형상 변형 포인트의 가중치의 값이 클수록 사용자가 이동하고자 하는 형상의 변형 정도가 커진다.
한편 형상 변형 포인트의 가중치는 가중치 파라미터에 의해 결정되는데, 가중치 파라미터의 값이 작을수록 형상 변형 포인트의 이동에 따라 3차원 형상의 변형 정도가 적으며, 가중치 파라미터의 값이 클수록 형상 변형 포인트의 이동에 따라 원래의 3차원 형상의 변형 정도가 크다.
그 다음, 상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성한다(650).
그 다음, 상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산한다(660 과정).
형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 벡터를 생성하고, 이로부터 회전 행렬을 연산하는 방법은 앞서 상술한 바와 동일하므로, 중복된 상술은 피하기로 한다.
그 다음, 상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하여 디스플레이하고, 상기 디스플레이된 변형된 3차원 형상을 포함하는 제 2 영상 프레임을 저장한다(670 과정).
이와 같이 변형된 3차원 형상을 디스플레이하고, 보간 프레임을 생성하기 위하여 형상 변형 이동 포인트와 상기 형상 변형 이동 포인트에 따른 3차원 영상을 저장한다.
마지막으로, 상기 제 1 영상 프레임과 상기 제 2 영상 프레임 사이의 보간 프레임을 생성한다(680 과정).
상기 보간 프레임을 생성하는 방법은 상기 제 1 영상 프레임의 형상 변형 포인트 및 상기 제 2 영상 프레임의 형상 변형 이동 포인트의 시간에 따른 가중 평균값에 의해 연산된 평균 형상 변형 포인트를 기반으로 상기 보간 프레임을 생성할 수 있다.
이는 제 1 영상 프레임에 해당하는 시간이 t이고, 제 2 영상 프레임에 해당하는 시간이 t+1일 경우 상기 보간 프레임의 형상 변형 포인트는 상기 시간 t와 시간 t+1사이의 시간에 해당하는 형상 변형 포인트를 기반으로 3차원의 형상을 이루게 된다.
그리고, 시간상 제 1 영상 프레임과 제 2 영상 프레임의 중간의 시간에 해당하는 보간 프레임은 상기 제 1 영상 프레임의 형상 변형 포인트와 제 2 영상 프레임의 형상 변형 이동 포인트의 평균값이 되는 것이다.
만약, 제 1 영상 프레임에 해당하는 시간이 t이고, 제 2 영상 프레임에 해당하는 시간이 t+1일 경우, 시간을 4 등분하여 제 1 영상 프레임에 가까운 t+1/4에 해당하는 보간 프레임을 생성할 경우, 제 1 영상 프레임의 형상 변형 포인트에 3배의 가중치를 주고, 이를 기반으로 가중치가 부여된 형상 변형 포인트를 기반으로 보간 프레임의 형상 변형 포인트를 생성한다.
그러면 제 1 영상 프레임의 형상 변형 포인트와 상기 보간 프레임의 형상 변형 포인트에 따라, 상술한 바와 같이 중심점을 구하고, 이에 따라 벡터를 생성한 다음 최종적으로 회전 행렬을 구하여, 상기 회전 행렬에 따라 보간 프레임의 3차원 형상을 형성하게 된다.
다시 말하면, 이는 형상 변형 포인트와 형상 변형 이동 포인트를 시간에 따라 가중치를 부여하고, 이에 따라 연산된 회전 행렬에 따라 보간 프레임을 생성하는 것이다.
한편, 보간 프레임을 생성하는 방법은 상기 제 1 영상 프레임의 형상 및 상기 제 2 영상 프레임의 형상을 이루는 대응되는 포인트의 시간에 따른 각도 및 시간에 따른 가중 평균 좌표에 의해 보간 프레임을 생성할 수 있다.
이는 선형적인 방법에 따른 보간 프레임의 생성 방법으로 이에 의하면, 3차원의 형상 자체는 변형되지 않으면서 각도에 따라 좌표를 이동하여 3차원의 전체 형상 자체를 이동하여 보간 프레임의 영상을 형성하는 것으로 상기 방법에 의할 경우, 보간 프레임의 생성 시간은 다소 빠를 수 있다.
도 7a는 본 발명의 일 실시예에 따른 회전 행렬에 따라 보간 프레임을 생성한 것을 도시한 것이고, 도 7b는 본 발명의 다른 실시예에 따른 선형적인 방법에 따른 보간 프레임을 생성한 것이다.
도 7a를 참조하면, 회전 행렬에 따른 보간 프레임을 생성한 영상은 시간의 흐름에 따라 다소 영상의 형상이 변함을 알 수 있으나, 도 7b에 따른 선형적인 방법을 이용하여 보간 프레임을 생성한 영상은 형상 자체는 변함이 없으면서 실제 영상의 좌표값이 시간의 흐름에 따라 변해감을 알 수 있다.
이는 실제 사용자의 영상의 구현 형태와 실시 형태에 따라 다양하게 선택하여 사용할 수 있고, 상기 두 가지 방법을 혼합하여 보간 프레임을 생성하는 것도 가능하다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사항에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 의하면, 3차원의 형상을 변형하는데 있어서 축과 각을 이용하여 신속한 형상 변형 처리가 가능하며, 사용자가 형상 변형점을 자 유자재로 선택하여 그 변형점에 따른 형상 변형 결과를 신속하게 확인하여 형상 변형의 효율적인 작업을 수행할 수 있을 뿐만 아니라 가중치 파라미터를 설정할 수 있으므로 다양한 형상을 형성할 수 있으며, 메쉬 변형 뿐만 아니라 각각 독립적으로 구성된 포인트로 된 형상의 모델의 변형이 가능하고, 영상 프레임 간의 보간 프레임을 정확하고 신속하게 생성할 수 있는 효과가 있다.

Claims (12)

  1. 사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택하는 단계;
    상기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트를 변형하고자 하는 위치로 이동하는 단계;
    상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산하는 단계;
    상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성하는 단계;
    상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산하는 단계; 및
    상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하는 단계를 포함하는 포인트 기반의 3차원 형상의 변형 방법.
  2. 제 1 항에 있어서,
    상기 형상 변형 포인트의 중심점 및 상기 현상 변형 이동 포인트의 중심점은 상기 형상 변형 포인트의 가중치에 의해 연산되며,
    Figure 112007032684172-PAT00173
    는 3차원 형상을 이루는 특정의 포인트이고,
    Figure 112007032684172-PAT00174
    는 상기 형상 변형 포인트이며,
    Figure 112007032684172-PAT00175
    는 가중치 파라미터일 경우, 상기 가중치
    Figure 112007032684172-PAT00176
    는 수학식
    Figure 112007032684172-PAT00177
    에 의해 연산되는 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  3. 제 2 항에 있어서,
    상기 가중치 파라미터는 상기 3차원 형상의 변형 강도를 나타내는 값인 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  4. 제 2 항에 있어서,
    Figure 112007032684172-PAT00178
    는 해당되는 상기 형상 변형 포인트의 인덱스를 나타내며,
    Figure 112007032684172-PAT00179
    는 상기 형상 변형 포인트의 중심점을 나타내고,
    Figure 112007032684172-PAT00180
    는 상기 형상 변형 이동 포인트의 중심점을 나타낼 경우,
    상기 형상 변형 포인트의 중심점 및 상기 현상 변형 이동 포인트의 중심점 은 수학식
    Figure 112007032684172-PAT00181
    에 의해 연산 되는 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  5. 제 1 항에 있어서,
    상기 벡터를 생성하는 단계는,
    상기 형상 변형 벡터로부터 상기 형상 변형 이동 벡터에 이르는 회전 축과 상기 회전 축을 기준으로 상기 형상 변형 벡터와 상기 형상 변형 이동 벡터 간의 회전각의 곱으로 구성되는 회전 벡터를 생성하는 단계를 더 포함하는 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  6. 제 2 항에 있어서,
    상기 회전 행렬을 연산하는 단계는,
    상기 3차원 형상 중 특정 포인트를 추출하고, 상기 형상 변형 포인트의 중심점에서 상기 특정 포인트로 이르는 벡터의 이동 최소 근사값을 이루는 상기 특정 포인트의 형상 변형 이동 벡터를 연산하는 단계; 및
    상기 연산된 형상 변형 이동 벡터에 따라 회전 행렬을 연산하는 단계를 포함하는 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  7. 제 6 항에 있어서,
    상기 형상 변형 이동 벡터를 연산하는 단계는,
    형상 변형 포인트에 따른 벡터가
    Figure 112007032684172-PAT00182
    이고, 형상 변형 포인트와 형상 변형 이동 포인트에 따른 벡터 사이의 회전 벡터가
    Figure 112007032684172-PAT00183
    이며, 상기 특정 포인트의 형상 변형 이동 벡터가
    Figure 112007032684172-PAT00184
    일 경우,
    수학식
    Figure 112007032684172-PAT00185
    의 값이 최소값을 가지도록 상기 형상 변형 이동 벡터
    Figure 112007032684172-PAT00186
    을 연산하는 단계인 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  8. 제 1 항에 있어서,
    상기 3차원 형상은 메쉬 형상 또는 포인트 셋으로 이루어진 형상을 포함하는 것을 특징으로 하는 포인트 기반의 3차원 형상의 변형 방법.
  9. 사용자가 변형하고자 하는 3차원의 형상을 디스플레이하고, 상기 디스플레이 된 3차원의 형상을 포함하는 제 1 영상 프레임을 저장하는 단계;
    상기 디스플레이된 3차원의 형상 중에서 변형하고자 하는 형상 변형 포인트를 선택하는 단계;
    상기 선택된 형상 변형 포인트의 좌표를 저장하고, 상기 저장된 형상 변형 포인트 중 형상 변형 포인트를 지정하여 지정된 형상 변형 포인트를 변형하고자 하는 위치로 이동하는 단계;
    상기 이동된 형상 변형 이동 포인트를 저장하고, 상기 저장된 형상 변형 포인트의 중심점 및 상기 이동된 형상 변형 이동 포인트의 중심점을 연산하는 단계;
    상기 형상 변형 포인트의 중심점 및 상기 형상 변형 이동 포인트의 중심점을 기준으로 상기 형상 변형 벡터 및 상기 형상 변형 이동 벡터를 생성하는 단계;
    상기 생성된 형상 변형 벡터 및 형상 변형 이동 벡터에 따라 상기 3차원 형상을 변형하는 회전 행렬을 연산하는 단계;
    상기 연산된 회전 행렬에 따라 상기 3차원 형상을 이루는 포인트들의 형상 변형 좌표를 산출하고, 상기 산출된 형상 변형 좌표에 따라 상기 3차원 형상을 변형하여 디스플레이하고, 상기 디스플레이된 변형된 3차원 형상을 포함하는 제 2 영상 프레임을 저장하는 단계; 및
    상기 제 1 영상 프레임과 상기 제 2 영상 프레임 사이의 보간 프레임을 생성하는 단계를 포함하는 포인트 기반의 3차원 형상의 보간 프레임 생성 방법.
  10. 제 9 항에 있어서,
    상기 보간 프레임을 생성하는 단계는,
    상기 제 1 영상 프레임의 형상 변형 포인트 및 상기 제 2 영상 프레임의 형상 변형 이동 포인트의 시간에 따른 가중 평균값에 의해 연산된 평균 형상 변형 포 인트를 기반으로 상기 보간 프레임을 생성하는 것을 특징으로 하는 포인트 기반의 3차원 형상의 보간 프레임 생성 방법.
  11. 제 9 항에 있어서,
    상기 보간 프레임을 생성하는 단계는,
    상기 제 1 영상 프레임의 형상 및 상기 제 2 영상 프레임의 형상을 이루는 대응되는 포인트의 시간에 따른 각도 및 시간에 따른 가중 평균 좌표에 의해 보간 프레임을 생성하는 것을 특징으로 하는 포인트 기반의 3차원 형상의 보간 프레임 생성 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020070042239A 2007-04-30 2007-04-30 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체 KR100886721B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070042239A KR100886721B1 (ko) 2007-04-30 2007-04-30 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070042239A KR100886721B1 (ko) 2007-04-30 2007-04-30 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20080097089A true KR20080097089A (ko) 2008-11-04
KR100886721B1 KR100886721B1 (ko) 2009-03-04

Family

ID=40285136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070042239A KR100886721B1 (ko) 2007-04-30 2007-04-30 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR100886721B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951526A (zh) * 2009-07-10 2011-01-19 索尼公司 图像信号处理装置和图像显示器
KR101401417B1 (ko) * 2012-10-22 2014-05-30 한국과학기술연구원 변형체 모델의 조각 시뮬레이션 방법 및 장치
US8830269B2 (en) 2008-12-22 2014-09-09 Electronics And Telecommunications Research Institute Method and apparatus for deforming shape of three dimensional human body model
KR20150077039A (ko) * 2013-12-27 2015-07-07 한국전자통신연구원 표면 모델 정합 장치 및 방법
US9165211B2 (en) 2010-10-20 2015-10-20 Samsung Electronics Co., Ltd. Image processing apparatus and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101395660B1 (ko) 2013-10-04 2014-05-16 주식회사 디피코 법선 벡터를 이용한 3 차원 좌표 정렬 방법 및 이 방법을 처리하는 컴퓨터 판독 가능한 프로그램을 저장하는 저장 매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246420B1 (en) * 1996-10-11 2001-06-12 Matsushita Electric Industrial Co., Ltd. Movement data connecting method and apparatus therefor
JP3954318B2 (ja) * 2001-03-09 2007-08-08 独立行政法人科学技術振興機構 3次元モデル変形システム
JP2004362408A (ja) 2003-06-06 2004-12-24 Canon Inc 3次元データ表示操作装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8830269B2 (en) 2008-12-22 2014-09-09 Electronics And Telecommunications Research Institute Method and apparatus for deforming shape of three dimensional human body model
CN101951526A (zh) * 2009-07-10 2011-01-19 索尼公司 图像信号处理装置和图像显示器
US9165211B2 (en) 2010-10-20 2015-10-20 Samsung Electronics Co., Ltd. Image processing apparatus and method
KR101401417B1 (ko) * 2012-10-22 2014-05-30 한국과학기술연구원 변형체 모델의 조각 시뮬레이션 방법 및 장치
KR20150077039A (ko) * 2013-12-27 2015-07-07 한국전자통신연구원 표면 모델 정합 장치 및 방법

Also Published As

Publication number Publication date
KR100886721B1 (ko) 2009-03-04

Similar Documents

Publication Publication Date Title
US10867453B2 (en) Method and system for generating an image file of a 3D garment model on a 3D body model
US8154544B1 (en) User specified contact deformations for computer graphics
US20180197331A1 (en) Method and system for generating an image file of a 3d garment model on a 3d body model
US7382374B2 (en) Computerized method and computer system for positioning a pointer
US10559109B2 (en) Multipoint offset sampling deformation
US8933928B2 (en) Multiview face content creation
KR100886721B1 (ko) 포인트 기반의 3차원 형상의 변형 방법, 이를 이용한 3차원형상의 보간 프레임 생성 방법 및 이를 기록한 기록매체
Zurdo et al. Animating wrinkles by example on non-skinned cloth
KR101819535B1 (ko) 표정 제어점에 기초한 강체 영역의 표현 방법 및 장치
EP2779115A1 (en) Using curves to perform mesh deformation
WO2022033009A1 (zh) 一种渲染处理的方法及装置、电子设备、存储介质
US9892485B2 (en) System and method for mesh distance based geometry deformation
US20140285513A1 (en) Animation of a virtual object
Cutler et al. An art-directed wrinkle system for CG character clothing
Mosegaard et al. Real-time Deformation of Detailed Geometry Based on Mappings to a Less Detailed Physical Simulation on the GPU.
CN106716500B (zh) 一种信息处理装置及深度定义方法
US8786609B2 (en) Placement of animated elements using vector fields
CN106530384A (zh) 一种三维模型的外观纹理合成方法及装置
JP5165819B2 (ja) 画像処理方法および画像処理装置
JPH07282292A (ja) テクスチャマッピング方法及び画像処理装置
JP4229316B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US10964081B2 (en) Deformation mesh control for a computer animated artwork
Chen et al. Cycled merging registration of point clouds for 3D human body modeling
Yueh et al. Conformal surface morphing with applications on facial expressions
JP2005322097A (ja) 対象物像モデルのアニメーション表示装置、対象物像モデルのアニメーション表示方法および対象物像モデルのアニメーション表示プログラム

Legal Events

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

Payment date: 20130111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140110

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee