KR100914869B1 - 실시간 직물 시뮬레이션 시스템 및 방법 - Google Patents

실시간 직물 시뮬레이션 시스템 및 방법

Info

Publication number
KR100914869B1
KR100914869B1 KR1020070052115A KR20070052115A KR100914869B1 KR 100914869 B1 KR100914869 B1 KR 100914869B1 KR 1020070052115 A KR1020070052115 A KR 1020070052115A KR 20070052115 A KR20070052115 A KR 20070052115A KR 100914869 B1 KR100914869 B1 KR 100914869B1
Authority
KR
South Korea
Prior art keywords
vertex
equation
time step
relative position
calculating
Prior art date
Application number
KR1020070052115A
Other languages
English (en)
Other versions
KR20080104797A (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 KR1020070052115A priority Critical patent/KR100914869B1/ko
Priority to PCT/KR2007/003132 priority patent/WO2008146972A1/en
Priority to US12/517,734 priority patent/US8392154B2/en
Priority to JP2009545483A priority patent/JP4988862B2/ja
Publication of KR20080104797A publication Critical patent/KR20080104797A/ko
Application granted granted Critical
Publication of KR100914869B1 publication Critical patent/KR100914869B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/12Cloth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

직물(cloth) 상에 위치한 복수 개의 정점(vertex)의 이전 시간 단계(time step)들에서의 위치를 사용하여, 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치를 산출하는 위치산출 모듈; 상기 상대적인 위치를 사용하여 상기 각 정점의 운동 방정식을 수립하는 분석 모듈; 및 상기 운동 방정식을 적용하여 상기 각 정점의 위치를 갱신하는 갱신 모듈을 포함하는 것을 특징으로 하는 직물 시뮬레이션 시스템이 개시된다. 본 발명에 따른 직물 시뮬레이션 시스템 및 방법을 사용하여, 직물의 질감과 사실성을 한층 증가시키며, 실시간으로 직물의 운동을 계산할 수 있어 표현 대상의 동작의 수에 따라 의상 애니메이션을 미리 수작업으로 제작해야 하는 번거로움이 없으므로, 컴퓨터 게임 등의 제작 비용 및 제작 기간을 현저하게 감소시킬 수 있는 이점이 있다.

Description

실시간 직물 시뮬레이션 시스템 및 방법{System and Method for Real-Time Cloth Simulation}
본 발명은 실시간으로 직물(cloth)의 움직임을 시뮬레이션(simulation)하는 시스템 및 방법에 관한 것이다. 상세하게는, 컴퓨터를 사용하여 시뮬레이션되는 직물의 질감 및 운동을 표현하기 위해, 표현대상 직물에 설정된 복수 개의 정점(vertex)의 시간에 따른 위치 변화를 예측하고, 예측된 위치를 사용하여 정의된 에너지를 통해 각 정점의 운동을 계산함으로서, 빠른 속도로 사실적으로 직물을 시뮬레이션할 수 있는 실시간 직물 시뮬레이션 시스템 및 방법에 관한 것이다.
컴퓨터 관련 하드웨어가 발전하면서, 하나 이상의 코어(core)를 사용하여 병렬로 연산을 수행할 수 있는 하드웨어가 속속 등장하고 있다. CPU의 클럭(clock)을 증가시켜 연산 속도의 증가를 꾀하는 기존 방식과는 달리, 병렬 연산 환경은 복수 개의 프로세서를 사용하여 연산을 병렬화하거나 벡터 연산화하여 연산 속도를 증가시키게 되며, 이는 다수의 물리 객체들을 고속으로 연산하는 작업에 적합하다.
병렬 연산 환경을 제공하는 하드웨어가 발전하면서, 이들 하드웨어를 사용하여 연산하는 컴퓨터 프로그램인 물리 엔진도 하드웨어와 발맞추어 발전하고 있다. 병렬 연산 환경에서 현재 사용되고 있는 Havok 또는 Physx 등의 물리 엔진은 강체나 유체(particle)의 시뮬레이션 및 충돌 처리를 가속하는데 주로 사용된다. 그러나 이들 물리 엔진은 강체의 운동을 모사하는 것에 뛰어난 성능을 보이는 것에 비해, 의상을 표현하기 위해 직물(cloth)의 운동 및 질감에 대한 시뮬레이션은 단순한 형태에 머무르고 있다.
전술한 종래 기술에 따른 직물 시뮬레이션 방법은, 모사하고자 하는 대상인 직물에서 복수 개의 정점을 설정하고, 각 정점의 시간에 따른 위치 변화를 계산하여 전체 직물의 운동 및 질감을 표현하고 있다. 각 정점의 위치 변화를 계산하기 위하여 종래 기술은 각 정점 위치를 시간에 대하여 벌렛 적분(verlet integration)하고, 적분 된 값을 직물의 길이가 일정하게 유지된다는 제약조건을 만족하도록 수렴시키는 과정을 거쳐 정점의 위치를 계산한다.
그러나 전술한 벌렛 적분을 사용하는 종래 기술은 프로세서의 수가 매우 많은 환경에서만 최적으로 수행될 수 있으며, 각 정점 위치에 대한 적분값의 수렴 속도가 느리며, 적분값의 수렴이 보장되어 있지 않아 안정성이 떨어지는 단점이 있다. 또한 정점의 수가 많아짐에 따라 연산 부하가 지나치게 증가하며, 직물의 길이가 반드시 일정하여 유지된다는 제약 조건을 사용하므로 직물의 물성 표현이 자유롭지 못하다.
스포츠 게임이나 대전 게임, MMORPG(Multi-media Online Role-Playing Game) 등 인간과 유사한 캐릭터가 등장하는 모든 게임을 포함한 실시간 3D 어플리케이션(application)에서 의상은 중요한 요소이다. 그러나 전술한 바와 같이 종래 기술은 직물의 운동 및 질감을 표현하는 데는 적합하지않다. 따라서, 현재 의상 등에 포함된 직물의 표현에 대해서는 미리 연산되어 저장되어 있는 데이터를 읽어들여 애니메이션(animation) 하는 방법을 사용하거나, 또는 의상 애니메이션을 아예 사용하지 않고 있는 실정이다.
또한 최근에는 유럽(E-tailor project, 프라운 호퍼, Miralab), 일본(Digital Fashion Ltd.) 및 국내(I-fashion)에서 옷을 직접 입어보지 않고 3차원 가상 환경에서 착용해 볼 수 있는 시스템에 대한 개발이 진행되고 있다. 착용자가 고른 의상을 실시간으로 표현하기 위한 실시간 직물 시뮬레이션 기술은 이와 같은 시스템에 있어서 핵심적인 요소이나, 현재까지 실시간 직물 시뮬레이션 기술이 적용된 시스템은 없었다. 따라서, 실시간으로 처리 가능하면서 높은 품질을 가지는 실시간 직물 시뮬레이션 기술의 개발이 시급하다.
전술한 종래 기술의 문제점을 해결하기 위한 본 발명은, 벌렛 적분이 아닌 반암묵적 적분법(semi-implicit integration)을 사용하여 직물의 운동 및 질감을 시뮬레이션함으로써, 다양한 환경에서 최적화 가능하고, 수렴 속도가 빠르며, 직물의 물성 표현이 자유로운 실시간 직물 시뮬레이션 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 직물 시뮬레이션 시스템은, 직물(cloth) 상에 위치한 복수 개의 정점(vertex)의 이전 시간 단계(time step)들에서의 위치를 사용하여, 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치를 산출하는 위치산출 모듈; 상기 상대적인 위치를 사용하여 상기 각 정점의 운동 방정식을 수립하는 분석 모듈; 및 상기 운동 방정식을 적용하여 상기 각 정점의 위치를 갱신하는 갱신 모듈을 포함하여 구성될 수 있다.
본 발명의 일 실시예에 따른 직물 시뮬레이션 방법은, 직물 상에 위치한 복수 개의 정점의 이전 시간 단계들에서의 위치를 사용하여, 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치를 산출하는 단계; 상기 상대적인 위치를 사용하여 상기 각 정점의 운동 방정식을 수립하는 단계; 및 상기 운동 방정식을 적용하여 상기 각 정점의 위치를 갱신하는 단계를 포함하여 구성될 수 있다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 살펴본다.
도 1은 본 발명의 일 실시예에 따른 직물 시뮬레이션 시스템의 구성을 도시한 구성도이다. 도시된 직물 시뮬레이션 시스템은, 직물상에 설정된 복수 개의 정점에 대해 다음 시간 단계에서의 위치를 예측하여 계산하는 위치산출 모듈(10), 예측된 결과를 사용하여 정의된 에너지로부터 각 정점의 운동 방정식을 구하는 분석 모듈(20), 운동 방정식을 풀어 각 정점의 위치를 갱신하는 갱신 모듈을 포함하여 구성된다.
도 2는 본 발명의 일 실시예에 따른 직물 시뮬레이션 방법의 각 단계를 도시한 순서도이다. 상기 실시예에 따른 직물 시뮬레이션 방법은, 컴퓨터를 이용하여 표현되는 직물 상에, 직물의 질감을 표현하고 운동을 연산하기 위하여 설정된 복수 개의 정점을 이용하여 수행된다. 본 명세서에서 하나의 직물 상에 설정된 복수 개의 정점은 i라는 아래 첨자를 사용하여 표현되며, 각 정점의 3차원적 위치를 나타내는 벡터인 x i는 하기 수학식 1에 의하여 표현된다. ui, vi 및 wi 각각은 정점 위치의 x좌표, y좌표 및 z좌표를 나타낸다. △x i는 각 시간 단계 사이에서 x i의 변화량을 나타낸다.
위치산출 모듈
위치산출 모듈(10)에서는 이전 시간 단계에서의 각 정점의 위치를 사용하여 다음 시간 단계의 인접하는 정점의 상대적인 위치를 예측하여 계산한다. 이를 위해, 위치산출 모듈(10)에 포함된 속도 산출부(11)에서 각 시간 단계에서 각 정점의 속도를 나타내는 속도 벡터인 v를 하기 수학식 2에 의하여 계산한다(S201). 각 시간 단계는 0, 1, 2, …, n-1, n의 인덱스(index)로 표현되며, △t는 각 시간 단계 사이의 시간 간격을 의미한다.
위치 산출부(12)에서는 이전 시간 단계(n)와 그 이전 시간 단계(n-1)의 속도를 사용하여 다음 시간 단계(n+1)에서의 각 정점의 상대적인 위치를 계산한다(S202). 각 정점의 상대적인 위치는 각 정점의 예측된 위치 벡터의 차이로서 구해지며, 에지(edge) 벡터로 표현된다. 우선, i번째 정점 및 j번째 정점의 예측된 위치 벡터 는 하기 수학식 3에 의하여 계산된다.
예측된 위치 벡터가 계산되면, j번째 정점의 위치 벡터와 i번째 정점의 위치 벡터의 차이를 표시하는 에지 벡터 e i ,j 하기 수학식 4와 같이 정의된다.
다음 시간 단계(n+1)에서의 에지 벡터 e i , j 의 예측값인 는 하기 수학식 5에 의하여 계산된다. 수학식 5에서 L은 j번째 정점와 i번째 정점 사이의 초기의 길이를 표시하는 스칼라(scalar) 양이다.
위치 산출부(12)에서는 전술한 수학식 3 내지 수학식 5에 의하여 인접하는 정점 사이의 상대적인 위치를 표시하는 에지 벡터의 값을 예측하여 계산한다. 계산된 의 값은 분석 모듈(20)로 전달된다.
분석 모듈
분석 모듈(20)에 포함된 힘 산출부(21)는 전술한 위치산출 모듈(10)에서 계산된 를 사용하여, 각각의 정점에 인가되는 힘을 계산한다(S203). 예컨대, i번째 정점와 j번째 정점 사이의 내부적 힘으로 인한 에너지는 하기 수학식 6에 의해 정의된다.
상기 수학식 6에서 k는 j번째 정점와 i번째 정점 사이의 탄성을 나타내는 탄성 계수로써, k의 크기는 표현 대상 직물의 경직도에 따라 달라진다. 예컨대, 쉽게 늘어나거나 줄어들지 않는 직물일 경우 k의 값은 매우 크게 되며, 쉽게 늘어나는 직물의 경우에는 k의 값이 작아지게 된다.
상기 수학식 6에 포함된 e i,j를 직물에 포함되는 정점 전체에 대하여 확장한 벡터 e를 하기 수학식 7과 같이 정의한다. 여기서, e i,j는 전술한 수학식 4와 같이 정의되므로, 각각의 e i ,j에 대하여 각 정점의 위치 벡터 x로 풀어쓰면 하기 수학식 7의 우변과 같이 표현될 수 있다.
상기 수학식 7에 의하여 정의된 e를 전술한 수학식 6에 대입하고, i번째 정점와 j번째 정점 사이의 에너지 Ei ,j를 직물에 포함된 정점 전체에 대하여 합산하면 전체 직물의 에너지 E가 하기 수학식 8에 의하여 계산된다.
상기 수학식 8에 의하여 계산된 에너지를 위치에 의하여 적분하면, 각각의 정점에 인가되는 힘 벡터 F를 하기 수학식 9에 의해 계산할 수 있다.
상기 수학식 9에 의하여 계산된 힘 이외에, 중력 등 각 정점에 인가되는 외력이 있을 경우에는 힘 벡터 F에 외력에 의한 벡터를 더해주어야 한다.
힘 산출부(21)에서 직물 전체에 인가되는 힘 벡터가 계산되면, 방정식 수립부(22)에서는 이를 사용하여 직물 전체의 선형 운동 방정식을 수립한다(S204). 우선, 계산된 힘 벡터를 다시 위치 벡터에 의해 적분하면 정점 전체의 자코비안(Jacobian) J를 얻을 수 있다.
상기 수학식 10에서 k는 탄성 계수로써 상수(constant)이며, 벡터 T도 상기 수학식 7에서 정의된 바와 같이 상수 행렬(constant matrix)이므로, 자코비안 전체도 상수 행렬이 된다.
방정식 수립부(22)에서는 계산된 자코비안을 대입하여 반암묵적 적분(semi-implicit integration)을 위한 운동 방정식을 수립한다. 수립된 운동 방정식은 하기 수학식 11과 같이 표현된다.
상기 수학식 11에서 (n)과 (n+1)은 시간 단계를 표시하는 인덱스이다. 따라서 x(n), F(n) 및 v(n) 각각은 n 시간 단계에서의 전체 정점의 위치, 정점에 인가되는 힘 및 속도를 표시하는 벡터들이다. 또한 m은 각 정점의 질량을 표시하며, I는 단위 행렬(identity matrix)이고, h는 각 시간 단계 사이의 시간 간격(△t)이다. 상기 수학식 11을 m으로 나누면 하기 수학식 12를 얻을 수 있다.
상기 수학식 12에 표현된 운동 방정식에서, 우변에 위치한 계산식 및 좌변에 위치한 각각의 괄호 안의 계산식을 하기 수학식 13 내지 수학식 15에 의하여 하나의 문자로 정리할 수 있다.
수학식 13 내지 수학식 15에 정의된 문자를 사용하여 상기 수학식 12를 선형 방정식으로 정의하면 하기 수학식 16과 같다.
갱신 모듈
갱신 모듈(30)에서는 분석 모듈(20)에서 수립된 전술한 선형 방정식을 풀어, 각 정점 위치의 좌표 변화량을 계산한다(S205). 본 발명의 일 실시예에서, 갱신 모듈(30)은 계산 과정을 빠르게 하기 위해, 각 정점의 운동에 따라 값을 달리하지 않는 시스템 행렬을 미리 계산하여 저장부(31)에 저장해 둘 수 있다.
저장부(31)에 저장되는 시스템 행렬에 대하여 설명하면 다음과 같다. 직물에 포함되는 전체 정점의 위치 변화량을 벡터 △x로 표시할 수 있다. △x에서는 각 정점별로 좌표 변화량이 표시되나, 적절한 치환(permutation) 행렬을 곱함으로써 각 정점의 x좌표, y좌표 및 z좌표에 대해 각각의 좌표축별로 좌표 변화량을 함께 표시하는 것이 가능하다. 전술한 과정이 하기 수학식 17에 의하여 수행된다.
분석 모듈(20)에서 계산된 선형 방정식인 수학식 16에서 Ab 행렬에 치환 행렬 P를 적용하면 다음 수학식 18을 얻게 된다.
Au, Av 및 Aw각각은 x좌표, y좌표 및 z좌표에 대하여 분리된 A 행렬을 나타내며, 각각의 행렬은 모두 동일한 값을 가지게 된다. 상기 수학식 18을 선형 방정식인 수학식 16에 대입하면 하기 수학식 19를 얻게 된다.
치환 행렬을 적용한 결과 기존의 A 행렬보다 1/3의 열과 행의 개수를 가지는 Ap 행렬에 의하여 각 좌표별로 분리하여 계산되는 운동 방정식이 수립되었다. Ap 의 값은 촐레스키 분해(cholesky factorization)를 사용하여 하기 수학식 19에 의해 미리 계산될 수 있다.
촐레스키 분해는 잘 알려진 방법이므로, 본 명세서에서는 자세한 설명을 생략한다. 저장부(31)에서는 전술한 촐레스키 분해에 의하여 시스템 행렬 L을 미리 계산하여 저장한다. 시스템 행렬 L의 값은 직물의 운동에 따른 정점의 위치 변화에 무관하게 일정하게 유지된다. 따라서, 계산된 시스템 행렬의 값을 저장부(31)에 저장해두고, 각 시간 단계마다 이를 다시 계산할 필요 없이 저장부(31)로부터 읽어들여 운동 방정식을 계산하는 데 사용할 수 있다. 이와 같이 시스템 행렬의 값을 미리 계산해서 저장해 둠으로써, 직물을 시뮬레이션하는 속도를 현저하게 상승시킬 수 있게 된다.
갱신 모듈(30)에 포함된 적분부(32)에서는 저장부(31)에 저장된 행렬 L의 값을 이용하여 상기 수학식 18의 우변에 표시된 선형 방정식 각각을 풀어낸다(S205). b u, b v, b w 각각의 값은 전술한 수학식 15를 사용하여 반암묵적 적분에 의하여 계산할 수 있다. 전술한 적분 과정에서, 각각의 좌표에 대한 운동 방정식은 병렬 연산 환경에서 복수 개의 프로세서를 사용하여 병렬적으로 수행될 수 있다. 반암묵적 적분 방법은 잘 알려진 방법이므로, 본 명세서에서는 자세한 설명을 생략한다. 적분부(32)는 반암묵적 적분에 의하여 전체 정점에 대한 각 좌표값의 변화량인 △u, △v, △w 를 계산할 수 있으며, 이전 시간 단계에서의 전체 정점의 위치를 표시하는 벡터인 x(n)에 변화량을 더함으로써 갱신된 위치 벡터 x(n+1)을 얻게 된다(S206).
전술한 과정에 의하여, 표현 대상인 직물 상의 각 정점의 시간에 따른 위치 변화를 예측하고, 예측된 위치를 사용하여 도출된 에너지를 사용하여 힘을 계산하며, 계산된 힘을 적용한 운동 방정식을 풀어내어 각 정점의 위치를 정확하게 시뮬레이션할 수 있다. 본 발명에 따른 직물 시뮬레이션 시스템 및 방법은, 각 정점의 위치가 적분에 의하여 수렴되는 속도가 빠르고, 수렴이 보장되어 있어 안정적으로 직물을 시뮬레이션할 수 있다. 또한, 각 정점 사이의 에너지를 새롭게 정의함으로써 종래 기술과 달리 직물의 물성 표현을 자유롭게 조절할 수 있어, 직물 표현에 있어서 질감과 사실감이 증대된다
본 발명에 따른 실시간 직물 시뮬레이션 시스템 및 방법은 게임을 포함한 실시간 3D 어플리케이션에서 활용될 수 있으며, 기존의 애니메이션 및 특수효과에도 효과적으로 이용될 수 있다. 본 발명은 현재 애니메이션 프로덕션 등에서 사용 중인 시뮬레이터의 성능을 훨씬 뛰어 넘으면서 비슷한 수준의 시뮬레이션 품질을 가지기 때문에, 기존의 저속 시뮬레이션 소프트웨어를 대체하여 사실감 증가, 제작 기간의 단축 및 제작 비용의 감소를 가져올 수 있다. 또한 본 발명에 따른 실시간 직물 시뮬레이션 시스템 및 방법은 옷을 직접 입어보지 않고 가상 환경에서 착용해 볼 수 있는 실시간 가상 착용 시스템에도 활용될 수 있다.
이상 본 발명의 특정 실시예를 도시하고 설명하였으나, 본 발명의 기술사상은 첨부된 도면과 상기한 설명내용에 한정하지 않으며 본 발명의 사상을 벗어나지 않는 범위 내에서 다양한 형태의 변형이 가능함은 이 분야의 통상의 지식을 가진 자에게는 자명한 사실이며, 이러한 형태의 변형은, 본 발명의 정신에 위배되지 않는 범위 내에서 본 발명의 특허청구범위에 속한다고 볼 것이다. 
본 발명에 따른 직물 시뮬레이션 시스템 및 방법을 사용하여, 게임을 포함한 실시간 3D 어플리케이션에서 컴퓨터 그래픽으로 표현되는 직물의 질감과 사실성을 한층 증가시키며, 실시간으로 직물의 운동을 계산할 수 있어 표현 대상의 동작의 수에 따라 의상 애니메이션을 미리 수작업으로 제작해야 하는 번거로움이 없으므로, 제작 비용 및 제작 기간을 현저하게 감소시킬 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 실시간 직물 시뮬레이션 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 직물 시뮬레이션 방법의 각 단계를 도시한 순서도이다.

Claims (18)

  1. 직물(cloth) 상에 위치한 복수 개의 정점(vertex)의 이전 시간 단계(time step)들에서의 위치를 사용하여, 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치의 예측값을 산출하는 위치산출 모듈;
    상기 상대적인 위치의 예측값을 이용하여 인접하는 상기 정점 사이의 에너지를 구하며 구해진 상기 에너지를 사용하여 상기 각 정점에 인가되는 힘을 산출하는 힘 산출부, 및 산출된 힘을 사용하여 상기 각 정점의 운동 방정식을 수립하는 방정식 수립부를 포함하는 분석 모듈; 및
    상기 운동 방정식을 적용하여 상기 각 정점의 위치를 갱신하는 갱신 모듈을 포함하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  2. 제 1항에 있어서,
    상기 위치산출 모듈은,
    이전 시간 단계들에서의 상기 정점의 속도를 구하는 속도 산출부; 및
    산출된 속도에 기초하여 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치의 예측값을 구하는 위치 산출부를 포함하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  3. 제 2항에 있어서,
    상기 위치 산출부는, 다음 시간 단계에서 상기 정점 중 i번째 정점의 예측된 위치를 , j번째 정점의 예측된 위치를 , 상기 i번째 정점과 상기 j번째 정점 사이의 초기의 길이를 L, 상기 i번째 정점과 상기 j번째 정점의 상대적인 위치의 예측값을 라 할 경우, 의 수학식에 의하여 상기 상대적인 위치의 예측값을 구하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  4. 제 2항에 있어서,
    상기 위치 산출부는, 이전 시간 단계 (n)에서 상기 정점 중 i번째 정점의 위치를 , 이전 시간 단계 (n) 에서 상기 i번째 정점의 속도를 , 이전 시간 단계 (n-1)에서 상기 i번째 정점의 속도를 , 상기 시간 단계들 사이의 시간 간격을 △t, 다음 시간 단계에서 상기 i번째 정점의 예측된 위치를 라 할 경우, 의 수학식에 의하여 다음 시간 단계에서 상기 i번째 정점의 예측된 위치를 구하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  5. 삭제
  6. 제 1항에 있어서,
    상기 힘 산출부는, 이전 시간 단계에서 상기 정점 중 i번째 정점과 j번째 정점 사이의 상대적인 위치를 , 다음 시간 단계에서 상기 i번째 정점과 상기 j번째 정점의 상대적인 위치의 예측값을 , 미리 설정된 탄성 계수를 k, 상기 i번째 정점 및 상기 j번째 정점 사이의 에너지를 Ei,j라 할 경우, 의 수학식에 의하여 상기 에너지를 구하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  7. 제 1항에 있어서,
    상기 갱신 모듈은,
    미리 설정된 시스템 행렬의 값을 산출하여 저장하는 저장부; 및
    상기 시스템 행렬을 사용하여 상기 운동 방정식을 연산하고, 연산 결과에 따라 상기 각 정점의 위치를 갱신하는 적분부를 포함하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  8. 제 7항에 있어서,
    상기 저장부는, 촐레스키 분해(cholesky factorization)에 의하여 상기 시스템 행렬을 산출하여 저장하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  9. 제 7항에 있어서,
    상기 적분부는, 반 암묵적 적분(semi-implicit integration)에 의하여 상기 운동 방정식을 연산하는 것을 특징으로 하는 직물 시뮬레이션 시스템.
  10. 직물 상에 위치한 복수 개의 정점의 이전 시간 단계들에서의 위치를 사용하여, 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치의 예측값을 산출하는 단계;
    상기 상대적인 위치의 예측값을 이용하여 인접하는 상기 정점 사이의 에너지를 구하는 단계;
    구해진 상기 에너지를 사용하여 상기 각 정점에 인가되는 힘을 산출하는 단계;
    산출된 힘을 사용하여 상기 각 정점의 운동 방정식을 수립하는 단계; 및
    상기 운동 방정식을 적용하여 상기 각 정점의 위치를 갱신하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  11. 제 10항에 있어서,
    상기 상대적인 위치의 예측값을 산출하는 단계는,
    이전 시간 단계들에서의 상기 정점의 속도를 구하는 단계; 및
    구해진 속도에 기초하여 다음 시간 단계에서의 인접하는 상기 정점들의 상대적인 위치의 예측값을 구하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  12. 제 11항에 있어서,
    상기 상대적인 위치의 예측값을 구하는 단계는, 다음 시간 단계에서 상기 정점 중 i번째 정점의 예측된 위치를 , j번째 정점의 예측된 위치를 , 상기 i번째 정점과 상기 j번째 정점 사이의 초기의 길이를 L, 상기 i번째 정점과 상기 j번째 정점의 상대적인 위치의 예측값을 라 할 경우, 의 수학식에 의하여 상기 상대적인 위치의 예측값을 구하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  13. 제 11항에 있어서,
    상기 상대적인 위치의 예측값을 구하는 단계는, 이전 시간 단계 (n)에서 상기 정점 중 i번째 정점의 위치를 , 이전 시간 단계 (n) 에서 상기 i번째 정점의 속도를 , 이전 시간 단계 (n-1)에서 상기 i번째 정점의 속도를 , 상기 시간 단계들 사이의 시간 간격을 △t, 다음 시간 단계에서 상기 i번째 정점의 예측된 위치를 라 할 경우, 의 수학식에 의하여 다음 시간 단계에서 상기 i번째 정점의 예측된 위치를 구하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  14. 삭제
  15. 제 10항에 있어서,
    상기 에너지를 구하는 단계는, 이전 시간 단계에서 상기 정점 중 i번째 정점과 j번째 정점 사이의 상대적인 위치를 , 다음 시간 단계에서 상기 i번째 정점과 상기 j번째 정점의 상대적인 위치의 예측값을 , 미리 설정된 탄성 계수를 k, 상기 i번째 정점 및 상기 j번째 정점 사이의 에너지를 Ei,j라 할 경우, 의 수학식에 의하여 상기 에너지를 구하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  16. 제 10항에 있어서,
    상기 갱신하는 단계는,
    미리 설정된 시스템 행렬의 값을 산출하는 단계; 및
    상기 시스템 행렬을 사용하여 상기 운동 방정식을 연산하고, 연산 결과에 따라 상기 각 정점의 위치를 갱신하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  17. 제 16항에 있어서,
    상기 산출하는 단계는, 촐레스키 분해에 의하여 상기 시스템 행렬의 값을 산출하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
  18. 제 16항에 있어서,
    상기 갱신하는 단계는, 반 암묵적 적분에 의하여 상기 운동 방정식을 연산하는 단계를 포함하는 것을 특징으로 하는 직물 시뮬레이션 방법.
KR1020070052115A 2007-05-29 2007-05-29 실시간 직물 시뮬레이션 시스템 및 방법 KR100914869B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070052115A KR100914869B1 (ko) 2007-05-29 2007-05-29 실시간 직물 시뮬레이션 시스템 및 방법
PCT/KR2007/003132 WO2008146972A1 (en) 2007-05-29 2007-06-28 System and method for real-time cloth simulation
US12/517,734 US8392154B2 (en) 2007-05-29 2007-06-28 System and method for real-time cloth simulation
JP2009545483A JP4988862B2 (ja) 2007-05-29 2007-06-28 リアルタイム・クロース・シミュレーションシステム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070052115A KR100914869B1 (ko) 2007-05-29 2007-05-29 실시간 직물 시뮬레이션 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20080104797A KR20080104797A (ko) 2008-12-03
KR100914869B1 true KR100914869B1 (ko) 2009-08-31

Family

ID=40075188

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070052115A KR100914869B1 (ko) 2007-05-29 2007-05-29 실시간 직물 시뮬레이션 시스템 및 방법

Country Status (4)

Country Link
US (1) US8392154B2 (ko)
JP (1) JP4988862B2 (ko)
KR (1) KR100914869B1 (ko)
WO (1) WO2008146972A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101131007B1 (ko) 2010-02-26 2012-03-28 이화여자대학교 산학협력단 동적 디테일 수준을 적용한 직물 시뮬레이션 시스템 및 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853044A (zh) * 2012-12-04 2014-06-11 中山大学深圳研究院 一种基于径向基函数的交互式群组控制方法
US20150242546A1 (en) * 2014-02-21 2015-08-27 Inyong JEON Method of Cloth Simulation using Constrainable Multigrid
ES2597173B2 (es) * 2015-07-15 2017-10-16 Universidad Rey Juan Carlos Método implementado por ordenador, sistema y producto de programa para ordenador para simular el comportamiento de textil tejido a nivel de hilo
JP6514156B2 (ja) * 2016-08-17 2019-05-15 ファナック株式会社 ロボット制御装置
US11270041B2 (en) 2017-09-25 2022-03-08 Nvidia Corporation Position-based dynamics simulation
US10613710B2 (en) 2017-10-22 2020-04-07 SWATCHBOOK, Inc. Product simulation and control system for user navigation and interaction
US11200356B2 (en) 2019-04-09 2021-12-14 Nvidia Corporation Using a computer to model the reactions of objects to simulated physical interactions
CN112464467B (zh) * 2020-11-24 2022-04-08 哈尔滨工业大学(威海) 一种三维编织结构的计算机仿真方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050052555A (ko) * 2003-11-28 2005-06-03 양기혁 자이로 및 엑셀로미터 센서를 이용한 모션캡쳐 장치 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04304574A (ja) * 1991-03-31 1992-10-27 Sony Corp アニメーシヨン作成方法及びその装置
US6909431B1 (en) * 1999-03-01 2005-06-21 Lucas Digital Ltd. Position and shape control for cloth and soft body animation
US6509899B1 (en) * 1999-03-01 2003-01-21 Lucas Digital Ltd. Time differencing for improved cloth animation
US6462740B1 (en) * 1999-07-30 2002-10-08 Silicon Graphics, Inc. System for in-scene cloth modification
KR100511228B1 (ko) * 2003-01-10 2005-08-31 최광진 직물의 움직음을 시뮬레이션하는 방법 및 이 방법을 실행하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체
JP3938915B2 (ja) * 2003-09-22 2007-06-27 株式会社コナミデジタルエンタテインメント 描画用計算装置、コンピュータプログラム及び記録媒体
US7385603B2 (en) * 2004-06-30 2008-06-10 Warner Bros. Entertainment, Inc. Method for simulating motion of cloth
US7616204B2 (en) * 2005-10-19 2009-11-10 Nvidia Corporation Method of simulating dynamic objects using position based dynamics
US8327388B2 (en) * 2005-12-07 2012-12-04 Nvidia Corporation Cloth application programmer interface
US8140304B2 (en) * 2007-07-13 2012-03-20 Hyeong-Seok Ko Method of cloth simulation using linear stretch/shear model
US8000947B1 (en) * 2008-05-22 2011-08-16 Electronic Arts Inc. Particle-based cloth simulation using verlet integration with fixed and stiff-spring constraints supporting collision detection and reaction with projectiles in sports video games

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050052555A (ko) * 2003-11-28 2005-06-03 양기혁 자이로 및 엑셀로미터 센서를 이용한 모션캡쳐 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101131007B1 (ko) 2010-02-26 2012-03-28 이화여자대학교 산학협력단 동적 디테일 수준을 적용한 직물 시뮬레이션 시스템 및 방법

Also Published As

Publication number Publication date
KR20080104797A (ko) 2008-12-03
US20100070246A1 (en) 2010-03-18
WO2008146972A1 (en) 2008-12-04
US8392154B2 (en) 2013-03-05
JP4988862B2 (ja) 2012-08-01
JP2010515995A (ja) 2010-05-13

Similar Documents

Publication Publication Date Title
KR100914869B1 (ko) 실시간 직물 시뮬레이션 시스템 및 방법
US9990754B1 (en) System for rendering using position based finite element simulation
Bender et al. Position-based Methods for the Simulation of Solid Objects in Computer Graphics.
Santesteban et al. Snug: Self-supervised neural dynamic garments
Holden et al. Subspace neural physics: Fast data-driven interactive simulation
Iben et al. Generating surface crack patterns
US7505883B2 (en) Computer simulation of body dynamics including a solver that solves in linear time for a set of constraints
Xu et al. Pose-space subspace dynamics
Hahn et al. Efficient simulation of secondary motion in rig-space
CN105354879A (zh) 基于质点弹簧结构的通用服装三维模型仿真方法及***
JP2009529161A (ja) 幾何学に基づくモデルを使用して変形可能物体をシミュレートする方法
CN106934192B (zh) 一种参数优化的浅水方程模型水体建模方法
CN112862942B (zh) 物理特效模拟方法、装置、电子设备和存储介质
WO2018213607A1 (en) Computerized rendering of objects having anisotropic elastoplasticity for codimensional frictional contact
Li et al. Fast simulation of deformable characters with articulated skeletons in projective dynamics
Romeo et al. Muscle Simulation with Extended Position Based Dynamics.
Huang et al. A survey on fast simulation of elastic objects
Li et al. Soft articulated characters in projective dynamics
Volino et al. Stop-and-go cloth draping
CN112862957B (zh) 一种基于约束投影的gpu并行试衣仿真方法
Cetinaslan ESPEFs: Exponential spring potential energy functions for simulating deformable objects
CN110717297B (zh) 织物仿真模型的建立方法、***、存储介质及电子设备
US10864434B2 (en) Simulation of multiple connected bodies for real-time application
Yinghui et al. Real-time deformation using modal analysis on graphics hardware
CN101655832B (zh) 一种基于标量场梯度的物理变形方法

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150825

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160817

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170810

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190812

Year of fee payment: 11