KR100500897B1 - 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법 - Google Patents

방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법 Download PDF

Info

Publication number
KR100500897B1
KR100500897B1 KR10-2003-0061525A KR20030061525A KR100500897B1 KR 100500897 B1 KR100500897 B1 KR 100500897B1 KR 20030061525 A KR20030061525 A KR 20030061525A KR 100500897 B1 KR100500897 B1 KR 100500897B1
Authority
KR
South Korea
Prior art keywords
spring
point
force
generalized
atypical
Prior art date
Application number
KR10-2003-0061525A
Other languages
English (en)
Other versions
KR20050024556A (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-2003-0061525A priority Critical patent/KR100500897B1/ko
Priority to US10/821,869 priority patent/US7091977B2/en
Publication of KR20050024556A publication Critical patent/KR20050024556A/ko
Application granted granted Critical
Publication of KR100500897B1 publication Critical patent/KR100500897B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

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

Abstract

본 발명은 방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법에 관한 것이다. 본 발명은 방향을 갖는 질점과 일반화된 스프링으로 모델링된 비정형 물체의 구조를 초기화하는 단계와, 각 질점들의 충돌을 감지하고 질점에 작용하는 외력을 계산하는 단계와, 물리학에 기반하여 각 질점에 작용하는 힘과 토크를 계산하는 단계와, 적분을 통해 질점의 새로운 위치와 속도와 자세와 각속도를 갱신하는 단계와, 결과를 화면에 표시하거나 저장하는 단계를 포함하여 이루어진다. 본 발명에서 제안된 방향을 갖는 질점과 일반화된 스프링 모델은 기존의 질량-스프링 모델을 포함하는 일반화된 모델일 뿐만 아니라 기존의 질량-스프링 모델보다 직관적이고 간단한 구조로 비정형 물체의 구조 표현 및 애니메이션이 가능하다. 또한, 제안된 새로운 질량-스프링 모델을 사용하면 기존의 방법으로는 모사할 수 없었던 머리카락과 같은 가늘고 긴 자유형상의 비정형 물체 및 주름진 옷감 등을 표현할 수 있어 사용자가 다양한 물질의 특성을 애니메이션할 수 있는 특징이 있다.

Description

방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법{ANIMATION METHOD OF DEFORMABLE OBJECT USING ORIENTED MASS AND GENERALIZED SPRING MODEL}
본 발명은 비정형 물체의 애니메이션 방법에 관한 것으로서, 특히 방향을 갖는 질점과 일반화된 스프링으로 비정형 물체를 모델링하여 애니메이션하는 방법에 관한 것이다. 보다 구체적으로, 비정형 물체를 일반화된 스프링으로 연결된 질점들의 구조체로 모델링한 후, 스프링 및 외력에 의해 질점에 작용하는 힘과 토크를 계산하고, 이를 적분하여 질점의 새로운 위치 및 자세를 구함으로써 비정형 물체를 애니메이션하는 방법에 관한 것이다.
최근, 컴퓨터 및 PC용 3차원 그래픽 가속 카드의 성능 향상과 가격 하락에 힘입어 3차원 애니메이션이 보편화되고 있다. 이 때문에, 기존에는 계산 시간이 오래 걸려 불가능했던 물리학적 시뮬레이션을 실시간에 계산하는 것이 가능해졌고, 이것은 3차원 애니메이션 생성방법에 물리 기반 시뮬레이션이라는 새로운 장르를 탄생시켰다. 3차원 게임의 경우 자연스러운 인체의 애니메이션을 위해 기존에 널리 사용되던 모션 캡쳐 기술 외에, 최근에는 물리 기반 시뮬레이션을 이용하여 주인공 캐릭터가 가상 객체와 사실적이고 물리적으로 상호작용하는 효과가 포함되는 추세이다. 특히, 캐릭터의 머리카락이 바람에 날리거나 입고 있는 의복이 바람에 나부끼는 것과 같은 비정형 물체의 애니메이션은 게임 컨텐츠에 사실감을 불어 넣어준다.
정형 또는 강체 애니메이션과 구별되는 비정형 물체의 애니메이션은 말 그대로 형태가 고정되지 않는 물체의 애니메이션을 일컫는다. 대표적인 예로는 머리카락과 같은 1차원적인 물체, 천, 의복, 깃발과 같은 2차원적인 물체, 그리고 젤리, 튜브와 같은 3차원적인 물체를 들 수 있다.
현재의 비정형 물체 애니메이션에는 질량-스프링 모델이 널리 사용되고 있다. 예를 들어, 비정형 물체를 스프링으로 연결된 질점들의 집합으로 모델링한 후, 스프링에 의해 질점에 작용하는 힘을 계산하고, 이를 적분하여 질점들의 새로운 위치를 구함으로써 비정형 물체를 애니메이션하는 것이 가능하다. 여기서 사용되는 스프링은 비록 3차원 공간 상에 위치하더라도 그 동작은 1차원적이다.
도 1에는 종래의 기술에 따른 질량-스프링 모델이 개략적으로 도시되어 있다. 상기 도 1을 참조하면, 종래의 기술에 따른 질량-스프링 모델은 기본이 되는 두 개의 질점(101, 102)과, 이를 연결하는 스프링(103)으로 구성되어 있다. 도 1에서 도면 부호 104는 상기 스프링(103)의 길이 L을 나타낸다. 스프링(103)을 잡아 당기거나 수축시키면 변환된 스프링 길이에 비례하는 힘이 발생한다. 수학적으로는 다음과 같다. 스프링 상수가 k인 스프링을 길이 x만큼 변형시켰을 때 작용하는 힘은 F = -k*x 와 같이 표현된다. 두 질점(101, 102)이 스프링으로 연결되어 있다면, 각 질점에는 작용-반작용의 법칙에 의해 크기가 같고 방향이 반대인 힘이 가해진다. 위 식에서 질점에 작용하는 힘은 스프링의 길이 변화에 비례하며, 공간 상에서의 스프링 자세와는 관련이 없음을 알 수 있다.
따라서, 종래의 질량-스프링 모델을 사용하여 모빌과 같은 1차원적인 비정형 물체를 구성하면, 중력과 같은 외력이 작용하여 그 형태가 무너지게 되고, 원래의 형태를 복원하려는 어떠한 힘도 작용하지 않는다. 예를 들어, 모빌과 같은 1차원적인 비정형 물체에서 중력이 아래 방향으로 작용한다고 가정하고 맨 위쪽의 질점을 고정시키면, 나머지 질점들은 모두 중력 방향의 일직선에 정렬되어 원래의 모습을 상실하게 된다. 종래의 질량-스프링 모델을 사용하여 굴곡있는 천과 같은 2차원적인 비정형 물체를 구성하면, 원래의 굴곡있는 형태를 유지하려는 복원력이 없기 때문에 역시 외력에 의해 형태가 무너진다. 그리고, 종래의 질량-스프링 모델을 사용하여 정육면체 형태의 3차원적인 비정형 물체를 구성하더라도, 앞서 설명한 바와 유사한 원리로 원래의 정육면체 형태를 유지할 수 없다.
상기와 같은 종래의 질량-스프링 모델을 이용한 비정형 물체의 애니메이션에서는 상기 형태를 유지하는 데에 문제가 있어서, 형태를 표현하기 위한 직관적인 스프링 연결 구조 외에 추가적으로 구조를 유지하기 위한 스프링을 추가하여야 하는 단점이 있다. 즉, 대상으로 하는 비정형 물체가 복잡해질수록 스프링 구조도 더욱 복잡하게 되어 사용자가 구조를 설정하기가 쉽지 않다.
한편, 비정형 물체의 애니메이션에 관한 선행 특허로서, 미합중국 특허번호 제6,532,014호(등록일 : 2003년 3월 11일)에 "Cloth Animation Modeling"이 공개되어 있다. 상기 선행 특허는 기존의 질량-스프링 모델에서 세로 노드와 가로 노드의 역할을 구분시키고, 스플라인과 스프링을 융합하여 노드 간의 힘을 계산하여 옷감의 모델링을 수행하고 있다. 그러나, 상기 선행 특허는 애니메이션의 대상이 비정형 물체 중에서 옷감에 한정되어 있다는 점에서 그 효과가 제한적이다.
또한, 비정형 물체의 애니메이션에 관한 선행 특허로서, 미합중국 특허번호 제5,777,619호(등록일 : 1998년 7월 7일)에 "Method for simulating hair using particle emissions"가 공개되어 있다. 상기 선행 특허는 머리카락 한 올의 모습이 파티클의 움직임 궤적과 유사한 점에 착안하여 파티클 시스템으로 헤어를 모사(simulation)한 데에 특징이 있다. 그러나, 상기 선행 특허에서는 애니메이션시킬 비정형 물체 중에서 머리카락(hair)에는 효과적이지만, 파티클들이 서로 연결되어 있지 않아서 다른 비정형 물체의 모사에는 적당하지 않다는 문제점이 있다.
또한, 비정형 물체의 애니메이션에 관한 선행 논문으로서, "Large Steps in Cloth Simulation"(Proc. of SIGGRAPH 98, pp 43-54, 1998)이 D.Baraff 및 A.Witkin에 의해 제안되어 있다. 상기 선행 논문은 옷감 애니메이션에서의 수치 적분 과정을 보다 빠르고 효과적으로 수행하는 방법을 수학적으로 제시한 것으로서, 기존의 explicit 적분법에 비해 안정성이 뛰어난 implicit 적분법을 제안하고 이의 계산을 선형 시스템 문제로 전환하여 해결하였다는 점에 특징이 있다. 그러나, 상기 선행 논문은 질량-스프링 모델의 개선보다는 계산 속도를 향상시키는 것이 주목적이라는 점에서 본 발명과는 그 해결하고자 하는 과제가 서로 다르다.
본 발명은 상기와 같이 종래의 질량-스프링 모델을 이용한 비정형 물체의 애니메이션에서 구조의 보완을 위해 스프링을 추가해야 하는 문제점을 해결하기 위하여, 다양한 형태의 비정형 물체를 사용자가 직관적으로 애니메이션 할 수 있도록 구부림과 꼬임에 대해 복원력을 갖는 일반화된 스프링을 제공하고, 이를 활용하여 방향을 갖는 질점-일반화된 스프링 모델을 사용함으로써 사용자가 다양한 비정형 물체를 쉽게 모델링하고 애니메이션할 수 있는 방법을 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명에 따른 방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법은,
(a) 방향을 갖는 질점과 일반화된 스프링 모델을 사용하여 비정형 물체의 구조를 모델링하는 초기화 단계;
(b) 상기 질점에 작용하는 힘과 토크를 초기화시키고, 질점끼리의 충돌 및 중력과 같은 외력에 의해 질점에 작용하는 힘을 계산하며, 모든 스프링에 대해 질점에 작용하는 힘과 토크들을 누적적으로 계산하며, 상기 계산된 힘을 각 질점에 부가하며, 상기 계산 결과를 이용하여 수치 적분을 수행함으로써 질점의 새로운 위치 및 자세를 계산하는 단계;
(c) 질점의 위치, 속도, 자세 및 각속도를 상기 단계 (b)에서의 계산 결과에 따라 갱신하고, 그 결과를 질점의 옵셋을 고려하여 화면에 표시하는 단계; 및
(d) 종료 조건을 검사하여 종료 조건이 충족되지 않으면 상기 단계 (b) 이후의 과정이 반복 수행되도록 하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 5에는 본 발명의 애니메이션 방법이 적용되는 1차원 비정형 물체 모델의 실시예가 도시되어 있다. 종래의 질량-스프링 모델로서 도 5에 도시된 바와 같은 비정형 물체 모델을 구성하면, 외력에 대해 현재의 형태를 유지하려는 힘이 없기 때문에, 중력과 같은 외력의 작용에 의해 그 형태가 무너지게 된다. 따라서, 종래의 질량-스프링 모델에서는 그 물체의 형태를 나타내기 위한 스프링 외에 그 형태를 유지하기 위한 스프링을 추가로 보완해야 하지만, 이것은 많은 경험 또는 시행착오를 필요로 하게 된다.
도 2에는 본 발명의 실시예에 따른 비정형 물체의 애니메이션 방법이 적용되는 방향을 갖는 질점 및 일반화된 스프링 모델이 개략적으로 도시되어 있다. 상기 도 2에 도시되어 있듯이, 질점 A(201)와 질점 B(202)는 각각 질점에 속한 지역 좌표계를 가지고 있다. 방향을 갖는 질점이란 지역 좌표계를 갖는 질점을 의미한다. 평형 상태에서 두 질점과 스프링은 도 1과 동일하다고 가정한다. 도 2에 도시된 바와 같이, 질점 B(202)의 자세에 변형이 있을 경우, 일반화된 스프링은 도 1에서와 같은 팽창력 혹은 수축력 외에 구부림에 대한 복원력(204)과 꼬임에 대한 복원력(203)을 발생시킨다. 복원력은 각 질점의 지역 좌표계 사이의 회전각을 이용하여 계산된다. 실제 세계에 존재하는 스프링을 연상하면 타당한 복원력임을 알 수 있다. 도 1에 도시된 종래의 질량-스프링 모델에서는 도 2와 같은 변형이 존재해도 두 질점 사이의 거리에 의한 팽창력 혹은 수축력 밖에 작용하지 않는다.
도 3에는 상기 도 2에 도시된 방향을 갖는 질점 및 일반화된 스프링 모델이 힘과 토크 계산을 보여주기 위해 개략적으로 도시되어 있다. 상기 도 3에 도시되어 있듯이, 질점 A(301)와 질점 B(302)가 일반화된 스프링(303)으로 연결되어 있다. 여기서, 일반화된 스프링이라 함은 상기 설명된 1차원적인 팽창력 또는 수축력 외에 질점의 자세 차이로부터 계산되는 구부림과 꼬임에 의한 복원력이 작용하는 스프링을 말한다. 이와 같은 복원력을 위해 각 질점은 자신에게 연결된 스프링 하나에 대하여 기준 방향 벡터를 두 개씩 가지고 있다. 도 3에서, 도면 부호 304는 일반화된 스프링에 대한 질점 A(301)의 구부림 기준 벡터를 나타내고, 도면 부호 306은 질점 A(301)의 꼬임 기준 벡터를 나타낸다. 이와 유사하게, 도면 부호 305는 질점 B(302)의 구부림 기준 벡터를 나타내고, 도면 부호 307은 꼬임 기준 벡터를 나타낸다. 본 발명에서 제안된 일반화된 스프링에 의해 작용하는 힘은 1차원적인 스프링의 고유의 성질에 의한 팽창력, 구부림에 의한 복원력, 그리고 꼬임에 의한 복원력과 같은 세가지 성분으로 이루어진다. 음의 부호를 갖는 팽창력은 결과적으로 수축력을 의미하므로, 이후에는 팽창력과 수축력을 구별하여 쓰지 않기로 한다. 상기 팽창력은 기존의 1차원적인 스프링처럼 스프링의 길이 변형에 비례하는 힘을 나타내며, 상기 구부림에 의한 복원력은 질점이 가지고 있는 구부림 기준 벡터와 스프링의 길이 방향 벡터가 이루는 각도 차에 의한 토크를 말한다. 상기 꼬임에 의한 복원력은 두 질점이 가지고 있는 꼬임 기준 벡터들(306, 307)을 스프링의 길이 방향 벡터에 수직인 평면에 투영시켰을 때 두 기준 벡터가 이루는 각도 차에 의한 토크를 말한다.
도 3에서 힘(309)은 질점 A(301)에 작용하는 팽창력을 나타내고, 힘(310)은 상기 힘(309)에 대한 반작용력을 나타낸다. 스프링 상수를 k라 하면, 팽창력은 F = -k*x로 나타내어진다. 도면 부호 308은 구부림 복원력 표현에 사용되는 질점 A(301)의 회전축을 나타내는데, 질점 A(301)의 구부림 기준 벡터(304)와 질점 A(301)에 작용하는 팽창력(309)에 수직이고 질점 A(301)의 중심을 지나는 직선이다. 기준 벡터와 스프링 길이 벡터의 각도 차이에 의해 복원력이 발생하게 되고, 이 중에서 질점 A(301)에 작용하는 토크(311)는 질점 A(301)의 구부림 기준 벡터(304)와 스프링 길이 벡터의 함수가 된다. 상기 토크(311)는 상기 구부림 기준 벡터(304)를 스프링 길이 벡터에 일치시키는 방향으로 작용하며, 그 크기는 벡터(304)와 스프링 길이 벡터 사이의 각도에 비례할 수 있다. 상기 토크(311)에 의해서 질점 B(302)에는 회전축(308)과 스프링 길이 방향 벡터가 이루는 평면에 수직인 힘(312)이 작용한다. 상기 힘(312)은 질점 A(301)와 질점 B(302) 사이의 거리에 반비례하게 된다. 힘의 평형을 위해 질점 A(301)에는 힘(312)에 대한 반작용력이 작용하여야 하며, 도면 부호 313이 이 힘을 나타낸다.
질점 A(301)에 작용하는 꼬임에 의한 복원력(314)은 질점 A(301)의 꼬임 기준 벡터(306), 질점 B(302)의 꼬임 기준 벡터(307) 및 스프링 길이 벡터에 의해 결정된다. 구체적으로, 두 개의 꼬임 기준 벡터(306, 307)를 스프링 길이 벡터에 수직인 평면에 투영시킨다. 질점 A(301)와 질점 B(302)의 투영된 꼬임 기준 벡터를 각각 V1, V2라 하면, 질점 A(301)에 작용하는 꼬임에 의한 복원력은 상기 V1과 V2를 일치시키는 방향으로 작용하는 토크(314)가 되며, 그 회전축은 스프링 길이 벡터가 된다. 질점 B(302)에는 상기 토크(314)와 크기는 같고 방향이 반대인 반작용 토크(315)가 작용한다.
다음은 상기 일반화된 스프링에 의해 방향을 갖는 질점에 작용하는 힘과 토크의 계산예를 설명한다. 질점 A(301) 및 질점 B(302)의 위치 벡터가 Pa, Pb이고, 속도 벡터가 Va, Vb이고, 구부림 기준 벡터가 각각 Dbend_a, Dbend_b이고, 꼬임 기준 벡터가 Dtwist_a, Dtwist_b이고, 각속도 벡터가 Wa, Wb이고, 스프링 상수가 Kp이고, 구부림 복원력 상수가 Jb_p이고, 꼬임 복원력 상수가 Jt_p이고, 정상 상태의 스프링 길이가 L인 경우에, 질점 A에 작용하는 힘 벡터 Fa와 각가속도 벡터 Ta, 그리고 B에 작용하는 힘 벡터 Fb와 각가속도 벡터 Tb를 계산하는 함수에 대한 가상 코드가 아래에 표현되어 있다.
function [Fa, Ta, Fb, Tb] = spring(Pa, Va, Dbend_a, Dtwist_a, Wa, Pb, Vb, Dbend_b, Dtwist_b, Wb, Kp, Jb_p, Jt_p, L)
vec_ab = Pb - Pa; // 질점 A에서 B로의 벡터 즉, 벡터AB
d = norm(vec_ab); // 벡터 AB의 norm 즉, 질점 A와 B 사이의 거리
vec_ab = normalize(vec_ab); // 벡터 AB의 크기를 1로 정규화
vec_ba = -vec_ab; // 벡터 BA
theta = acos(Dbend_aㆍvec_ab); // Dbend_a 와 벡터 AB가 이루는 각
Ta = (Dbend_a×vec_ab)*Jb_p*theta; // A에 작용하는 구부림 복원력
Fb = normalize(Dbend_a-vec_ab*(Dbend_aㆍvec_ab))*Kp*theta/d // A에 작용하는 구부림 복원력에 의해 질점 B에 작용하는 힘
Fa = -Fb; // 위의 힘에 대한 반작용력(크기는 같고 방향만 반대)
theta = acos((Dtwist_a-vec_ab*(Dtwist_aㆍvec_ab)) ㆍ (Dtwist_b-vec_ba*(Dtwist_bㆍvec_ba))); // 투영된 두 꼬임 기준벡터가 이루는 각
Ta = Ta + normalize((Dtwist_a-vec_ab*(Dtwist_aㆍvec_ab)) × (Dtwist_b-vec_ba*(Dtwist_bㆍvec_ba)))*Jb_p*theta - damping(Wa); // 질점 A에 작용하는 꼬임 복원력 및 질점 A의 회전에 대한 감쇄력
Tb = -Ta; // 질점 B에 작용하는 꼬임 복원력
Fa = Fa + Kp*vec_ab*(d - L); // 질점 A에 작용하는 팽창력 추가
Fb = Fb - Kp*vec_ab*(d - L); // 질점 B에 작용하는 팽창력 추가
theta = acos(Dbend_bㆍvec_ba); // Dbend_b 와 벡터 BA가 이루는 각
Tb = Tb + (Dbend_b×vec_ba)*Jb_p*theta - damping(Wb); // B에 작용하는 구부림 복원력 및 감쇄력 추가
Fa = Fa + normalize(Dbend_b-vec_ba*(Dbend_bㆍvec_ba))*Kp*theta/d - damping(Va, Vb); // 구부림 복원력에 의해 질점 A에 작용하는 힘 및 감쇄력
Fb = Fb - normalize(Dbend_b-vec_ba*(Dbend_bㆍvec_ba))*Kp*theta/d - damping(Va, Vb); // 위 힘에 대한 반작용력 및 질점 B에 대한 감쇄력 추가
여기서, 각속도 벡터란 선속도에 대응하는 개념이다. 예를 들어, W란 각속도 벡터는 회전축 W를 중심으로 회전 속도 |W|로 회전함을 의미한다. 각가속도 벡터란 각속도 벡터의 시간에 대한 미분값이다. 위치 계산을 위한 적분시에 발생할 수 있는 수치적인 불안정성을 해결하기 위하여 일반적으로 감쇄력을 적용한다. 감쇄력은 물체의 상대 속도의 크기에 비례하고 방향은 반대인 힘이다. 상기 가상 코드에서 damping( )으로 표현된 부분이 감쇄력을 나타낸다.
당해 기술 분야의 통상의 지식을 가진 자라면, 앞서 제시한 힘과 토크 계산예를 바탕으로 이보다 물리학적으로 좀 더 타당한 수식을 작성할 수도 있으며, 질점 별로 상수를 달리함으로써 비정형 물체의 구조적 특성을 다양하게 설정할 수 있을 것이다.
도 4에는 본 발명의 실시예에 따른 비정형 물체의 애니메이션 방법의 순서도가 도시되어 있다.
동작이 시작되면(S401), 비정형 물체를 방향을 갖는 질점-일반화된 스프링 모델로 모델링하고 각종 스프링 상수를 초기화하는 초기화 단계(S402)가 수행된다.
다음으로, 힘, 토크 초기화 단계(S403)가 수행되며, 이 단계(S403)에서는 일반화된 스프링들에 의한 팽창력과 복원력을 계산하기 위해 기존에 계산된 힘, 토크에 대한 계산 결과가 지워진다. 충돌 감지 및 외력 계산 단계(S404)는 질점끼리의 충돌 및 중력과 같은 외력에 의해 질점에 작용하는 힘을 계산하는 단계이다. 다음으로, 힘, 토크 계산 단계(S405)는 앞서 제시한 힘 및 토크의 계산예와 같은 방법으로 모든 스프링에 대해서 질점에 작용하는 힘과 토크들을 누적적으로 계산하는 단계이다. 상기 단계(S405)의 마지막 과정은 상기 단계(S405)에서 계산된 힘을 각 질점에 부가하는 것이다. 적분 단계(S406)는 상기 단계(S405)의 계산 결과를 이용하여 수치적으로 적분을 수행함으로써 질점의 새로운 위치 및 자세를 계산하는 단계이다. 상기 수치 적분에는 이미 통용되고 있는 어떠한 방법을 사용하여도 무방하며, 당해 기술 분야의 통상의 지식을 가진 자라면 쉽게 적용할 수 있을 것이다. 간단한 예로서 Euler 방법을 적용할 수 있다. 위치, 속도, 자세 및 각속도 갱신 단계(S407)는 상기 단계(S406)의 결과에 의해 얻어진 값들로 기존의 값들을 대체하는 단계이다.
화면 표시 또는 데이터 저장 단계(S408)는 상기 단계(S407)의 결과로부터 얻어진 질점의 위치로부터 비정형 물체를 화면에 표시하거나 추후 재생을 위하여 그 위치에 관한 데이터를 저장하는 단계이다. 다음으로, 비정형 물체 애니메이션의 종료 조건을 만족하는지 검사하는 단계(S409)가 수행되며, 이 단계(S409)에서 종료 조건이 만족되지 않으면, 상기 단계(S403)로 점프하여 그 이후의 과정을 반복하며, 상기 단계(S409)에서 종료 조건이 만족되면, 본 발명의 실시예에 따른 애니메이션 방법이 종료된다(S410).
도 5에는 본 발명의 애니메이션 방법이 적용되는 1차원 비정형 물체 모델의 실시예가 도시되어 있고, 도 6에는 본 발명의 애니메이션 방법이 적용되는 2차원 비정형 물체 모델의 실시예가 도시되어 있으며, 도 7에는 본 발명의 애니메이션 방법이 적용되는 3차원 비정형 물체 모델의 실시예가 도시되어 있다.
앞서 설명한 바와 같이, 종래의 질량-스프링 모델로 상기 도 5 내지 도 7에 도시된 모델들을 구성하면 모두 구조적으로 불안정하여, 중력과 같은 외력이 작용할 때 그 형태가 무너지게 되는 문제점이 있었다. 이에 반해, 본 발명에서 방향을 갖는 질점과 일반화된 스프링으로 상기 모델들을 구성하면, 상기 3가지 형태의 모델 모두 구조적으로 안정적인 비정형 물체가 되어 애니메이션이 용이하게 수행될 수 있다.
도 8은 본 발명이 적용되는 질점에서의 옵셋을 설명하기 위해 도시된 도면이다. 도 8에서, 흰색으로 표시된 질점이 원래 질점이고 각 질점은 위나 아래 방향으로 옵셋을 가지고 있으며, 색있는 질점이 옵셋을 고려한 위치를 나타낸다. 질점이 옵셋을 가지도록 하고, 화면 출력 시에 마치 질점이 옵셋을 고려한 위치에 존재하는 것처럼 그리면, 종래의 질량-스프링 모델에서도 주름 있는 옷감과 같은 비정형 물체를 시뮬레이션 할 수 있게 된다. 이 방법은 본 발명에서 제안된 방향을 갖는 질점 및 일반화된 스프링 모델에서도 물론 적용될 수 있다. 옵셋은 위치 변환뿐 아니라 회전 변환을 포함할 수 있으며, 이를 응용하면 비교적 간단한 질량-스프링 모델로부터 복잡한 형태의 비정형 물체의 애니메이션이 가능하다.
상술한 바와 같이 본 발명에 의하면, 질점과 스프링 모델을 이용한 비정형 물체 애니메이션에 있어서, 구조의 안정성 확인이 어렵고 구조 보강을 위한 스프링이 추가되어 형태가 복잡하고 전문 지식을 요구하는 기존의 방법 대신에 새로운 일반화된 스프링과 방향을 갖는 질점을 사용함으로써 직관적인 비정형 물체의 모델링이 가능하다는 특징이 있다. 또한, 기존의 방법에 비해 다양한 복원력을 발생시키므로 다양한 특성을 갖는 비정형 물체를 애니메이션할 수 있는 장점이 있어 컴퓨팅 성능의 향상에 따라 앞으로 3차원 애니메이션 및 특수 효과 등에 널리 활용될 것을 기대할 수 있다.
이상으로 설명한 것은 본 발명에 따른 방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 미친다고 할 것이다.
도 1은 종래의 기술에 따른 질량-스프링 모델을 개략적으로 나타낸 도면.
도 2는 본 발명의 실시예에 따른 비정형 물체의 애니메이션 방법이 적용되는 방향을 갖는 질점 및 일반화된 스프링 모델을 개략적으로 나타낸 도면.
도 3은 상기 도 2에 도시된 방향을 갖는 질점 및 일반화된 스프링 모델을 힘과 토크 계산을 보여주기 위해 개략적으로 나타낸 도면.
도 4는 본 발명의 실시예에 따른 비정형 물체의 애니메이션 방법의 순서도를 나타낸 도면.
도 5는 본 발명의 애니메이션 방법이 적용되는 1차원 비정형 물체 모델의 실시예를 나타낸 도면.
도 6은 본 발명의 애니메이션 방법이 적용되는 2차원 비정형 물체 모델의 실시예를 나타낸 도면.
도 7은 본 발명의 애니메이션 방법이 적용되는 3차원 비정형 물체 모델의 실시예를 나타낸 도면.
도 8은 본 발명이 적용되는 질점에서의 옵셋을 설명하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
201 : 질점 A의 지역 좌표계 202 : 질점 B의 지역 좌표계
203 : 꼬임에 대한 복원력 204 : 구부림에 대한 복원력
301 : 질점 A 302 : 질점 B
303 : 일반화된 스프링
304 : 스프링(303)에 대한 질점 A의 구부림 기준 벡터
305 : 스프링(303)에 대한 질점 B의 구부림 기준 벡터
306 : 스프링(303)에 대한 질점 A의 꼬임 기준 벡터
307 : 스프링(303)에 대한 질점 B의 꼬임 기준 벡터
308 : 질점 A의 구부림 복원력에 의한 회전축
309 : 질점 A에 작용하는 스프링 팽창력
310 : 팽창력(309)에 의한 반작용력
311 : 질점 A에 작용하는 토크
312 : 토크(311)에 의해 질점 B에 작용하는 힘
313 : 힘(312)에 의한 반작용력
314 : 꼬임에 의해 질점 A에 작용하는 토크
315 : 토크(314)에 대한 반작용 토크

Claims (5)

  1. (a) 방향을 갖는 질점과 일반화된 스프링 모델을 사용하여 비정형 물체의 구조를 모델링하는 초기화 단계;
    (b) 상기 질점에 작용하는 힘과 토크를 초기화시키고, 질점끼리의 충돌 및 중력과 같은 외력에 의해 질점에 작용하는 힘을 계산하며, 모든 스프링에 대해 질점에 작용하는 힘과 토크들을 누적적으로 계산하며, 상기 계산된 힘을 각 질점에 부가하며, 상기 계산 결과를 이용하여 수치 적분을 수행함으로써 질점의 새로운 위치 및 자세를 계산하는 단계;
    (c) 질점의 위치, 속도, 자세 및 각속도를 상기 단계 (b)에서의 계산 결과에 따라 갱신하고, 그 결과를 질점의 옵셋을 고려하여 화면에 표시하는 단계; 및
    (d) 종료 조건을 검사하여 종료 조건이 충족되지 않으면 상기 단계 (b) 이후의 과정이 반복 수행되도록 하는 단계를 포함하는
    방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법.
  2. 제1항에 있어서,
    상기 방향을 갖는 질점 및 일반화된 스프링 모델은 스프링의 팽창력과 구부림과 꼬임에 대한 복원력을 가지며, 스프링에 대한 질점의 구부림 기준 벡터 및 꼬임 기준 벡터를 설정하며, 스프링의 길이 벡터와 질점의 상기 기준 벡터들로부터 결정되는 구부림 복원력, 꼬임 복원력 및 이에 의한 질점의 각가속도를 형성하며, 스프링의 길이에 의한 팽창력을 가지는
    방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법.
  3. 제1항에 있어서,
    상기 단계 (c)는 각 질점들에 회전 변환과 위치 변환을 포함하는 옵셋을 부여하고, 질점의 자세에 옵셋 변환을 부가한 자세를 질점의 최종 자세로 하여 다양한 질점들의 형태와 다른 형태의 출력이 가능해지도록 하는
    방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법.
  4. 제1항에 있어서,
    상기 비정형 물체는 머리카락과 같은 1차원적인 물체 또는 천, 의복, 깃발과 같은 2차원적인 물체 또는 젤리, 튜브와 같은 3차원적인 물체인
    방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법.
  5. 제1항에 있어서,
    상기 단계 (c)는 추후 재생을 위하여 상기 단계(b)에서 얻어진 질점의 위치에 관한 데이터를 저장하는 단계를 더 포함하는
    방향을 갖는 질점과 일반화된 스프링 모델을 이용한 비정형 물체의 애니메이션 방법.
KR10-2003-0061525A 2003-09-03 2003-09-03 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법 KR100500897B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-0061525A KR100500897B1 (ko) 2003-09-03 2003-09-03 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법
US10/821,869 US7091977B2 (en) 2003-09-03 2004-04-12 Animation method of deformable objects using an oriented material point and generalized spring model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0061525A KR100500897B1 (ko) 2003-09-03 2003-09-03 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법

Publications (2)

Publication Number Publication Date
KR20050024556A KR20050024556A (ko) 2005-03-10
KR100500897B1 true KR100500897B1 (ko) 2005-07-14

Family

ID=34214808

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0061525A KR100500897B1 (ko) 2003-09-03 2003-09-03 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법

Country Status (2)

Country Link
US (1) US7091977B2 (ko)
KR (1) KR100500897B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569172A3 (en) * 2004-02-26 2006-10-04 Samsung Electronics Co., Ltd. Data structure for cloth animation, and apparatus and method for rendering three-dimensional graphics data using the data structure
US20060244757A1 (en) * 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
JP4508776B2 (ja) * 2004-08-18 2010-07-21 任天堂株式会社 画像処理プログラムおよび画像処理装置
JP4472467B2 (ja) * 2004-08-27 2010-06-02 任天堂株式会社 画像処理プログラムおよび画像処理装置
US8064670B2 (en) * 2004-09-29 2011-11-22 Northrop Grumman Systems Corporation Analysis of multidimensional data
US20060177122A1 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Method and apparatus for particle manipulation using graphics processing
US7813903B2 (en) * 2005-04-13 2010-10-12 Autodesk, Inc. Fixed time step dynamical solver for interacting particle systems
US7298374B2 (en) * 2005-08-02 2007-11-20 Sony Computer Entertainment America Inc. Scheme for providing wrinkled look in computer simulation of materials
US7463265B2 (en) * 2005-08-02 2008-12-09 Sony Computer Entertainment America Inc. Constraint schemes for computer simulation of cloth and other materials
US7652670B2 (en) * 2006-02-06 2010-01-26 Sony Computer Entertainment America Inc. Polynomial encoding of vertex data for use in computer animation of cloth and other materials
US8786613B2 (en) 2006-04-08 2014-07-22 Alan Millman Method and system for interactive simulation of materials and models
US8395626B2 (en) * 2006-04-08 2013-03-12 Alan Millman Method and system for interactive simulation of materials
US7936355B2 (en) * 2006-12-04 2011-05-03 Nvidia Corporation Methods for simulating and visually representing objects using particles
US7933858B2 (en) * 2007-03-23 2011-04-26 Autodesk, Inc. General framework for graphical simulations
US8140304B2 (en) * 2007-07-13 2012-03-20 Hyeong-Seok Ko Method of cloth simulation using linear stretch/shear model
KR100901274B1 (ko) * 2007-11-22 2009-06-09 한국전자통신연구원 캐릭터 애니메이션 시스템 및 그 방법
US20090174703A1 (en) * 2008-01-07 2009-07-09 Disney Enterprises, Inc. Particle-based method of generating and animating three-dimensional vegetation
US20110154234A1 (en) * 2009-12-18 2011-06-23 Microsoft Corporation Layout projection using non-linear constraints
KR20140137250A (ko) 2013-05-22 2014-12-02 삼성전자주식회사 페이지의 형태를 변형하여 표시하는 방법 및 장치
US10319132B2 (en) 2014-05-08 2019-06-11 Nvidia Corporation Method and system for representing objects with velocity-dependent particles
WO2018110558A1 (ja) * 2016-12-12 2018-06-21 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN110046406B (zh) * 2019-03-28 2022-07-05 天津大学 解剖教学系统中一种带有力反馈结构的软组织仿真方法
JP7427786B2 (ja) * 2021-02-09 2024-02-05 北京字跳▲網▼絡技▲術▼有限公司 拡張現実に基づく表示方法、機器、記憶媒体及びプログラム製品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302061A (ja) 1991-03-28 1992-10-26 Sony Corp アニメーシヨン作成方法及びその装置
JP3084098B2 (ja) 1991-08-30 2000-09-04 株式会社日立製作所 コンピュータアニメーションの対話処理方式及び装置
US5777619A (en) * 1996-01-02 1998-07-07 Silicon Graphics, Inc. Method for simulating hair using particle emissions
US6342886B1 (en) * 1999-01-29 2002-01-29 Mitsubishi Electric Research Laboratories, Inc Method for interactively modeling graphical objects with linked and unlinked surface elements
US6532014B1 (en) * 2000-01-13 2003-03-11 Microsoft Corporation Cloth animation modeling
US6573897B1 (en) * 2000-02-09 2003-06-03 California Institute Of Technology Real-time, interactive animation of deformable two- and three-dimensional objects
US6525735B1 (en) * 2000-04-20 2003-02-25 Silicon Graphics, Inc. System for attaching rigid objects to deformed shapes in computer generated images via real time local approximation of deformation using rotation
US7363199B2 (en) * 2001-04-25 2008-04-22 Telekinesys Research Limited Method and apparatus for simulating soft object movement

Also Published As

Publication number Publication date
US7091977B2 (en) 2006-08-15
KR20050024556A (ko) 2005-03-10
US20050046629A1 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
KR100500897B1 (ko) 방향을 갖는 질점과 일반화된 스프링 모델을 이용한비정형 물체의 애니메이션 방법
Bender et al. Position-Based Simulation Methods in Computer Graphics.
US8886501B2 (en) Method of simulating deformable object using geometrically motivated model
Selle et al. Robust high-resolution cloth using parallelism, history-based collisions, and accurate friction
Selle et al. A mass spring model for hair simulation
Isaacs et al. Mixed methods for complex kinematic constraints in dynamic figure animation
CN105354879A (zh) 基于质点弹簧结构的通用服装三维模型仿真方法及系统
Kenwright Scalable real-time vehicle deformation for interactive environments
CN111583367B (zh) 一种头发模拟方法及系统
Chen et al. A unified newton barrier method for multibody dynamics
WO2021218093A1 (zh) 信息处理方法、装置、设备及存储介质
CN111651894A (zh) 一种布料形变实时模拟方法
Güdükbay et al. A spring force formulation for elastically deformable models
Wasfy et al. Object-oriented virtual environment for visualization of flexible multibody systems
Volino et al. Interactive cloth simulation: Problems and solutions
US7206729B2 (en) Inertial field generator: a method for controllably coupling kinematic character motions to dynamically simulated elements
US10864434B2 (en) Simulation of multiple connected bodies for real-time application
KR100445429B1 (ko) 비정형 물체 애니메이션 방법
Gu et al. Constraint solving order in position based dynamics
JP2993961B1 (ja) 樹木の変形のアニメ―ション表示装置
Wu et al. Physically based animation of broad-leaf plant
Cao et al. Research on Physically-based Computer Animation
Li et al. A more practical implementation scheme for 3D virtual clothes animation system
KR100629431B1 (ko) 질점 위치 보정 방법 및 그를 이용한 인간형 관절체애니메이션 장치 및 그 방법
Thumrugoti Clothing in Disney's “FANTASIA 2000”

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

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee