Skip to content

LJSoo99/Cloth-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Beautiful_still_shot_2

Cloth Simulation using Mass-Spring Model

본 프로젝트는 JGL2 라이브러리를 사용하여 C++로 구현한
3D 천(Cloth) 시뮬레이션 프로그램입니다.

천을 입자(Particle)와 스프링(Spring)의 집합으로 모델링하여
질량-스프링 동역학 기반의 물리 시뮬레이션을 수행하며,
평면 및 구 충돌체와의 상호작용을 지원합니다.

실시간 렌더링과 사용자 입력을 통해
천의 물리적 거동을 직관적으로 관찰할 수 있습니다.

Background

컴퓨터 그래픽스에서 Cloth-Simulation은,
다수의 입자를 스프링으로 연결한 Mass-Spring Model을 통해 근사적으로 표현할 수 있습니다.

각 입자는 외력(중력, 감쇠력, 스프링 힘)을 받아 움직이며,
시간 적분을 통해 위치와 속도를 업데이트합니다.

충돌체와의 상호작용은 침투 방지 및 감쇠 처리를 통해 안정적인 시뮬레이션을 구현합니다.

Implementation Details

  • Language: C++
  • Graphics Library: JGL2

Core Features

  • Mass-Spring 기반 천 시뮬레이션
  • Plane / Sphere collider 지원
  • 실시간 렌더링
  • 사용자 입력 기반 파라미터 조정

Key Components

Particle

  • 천을 구성하는 기본 단위
  • 위치, 속도, 질량, 외력 정보를 가짐
  • 시간에 따라 물리 상태를 업데이트

Spring

  • 두 입자를 연결하는 요소
  • 후크의 법칙(Hooke’s Law)을 기반으로 힘 계산
  • 구조 스프링 및 전단 스프링 구현 가능

Collider

  • 천과의 충돌을 처리하는 객체
  • Plane Collider
  • Sphere Collider

User Interaction

  • 특정 입자의 고정 여부를 토글하여 고정점 설정 가능
  • 슬라이더를 통해 시뮬레이션 파라미터 실시간 조절
    • Spring stiffness
    • Damping coefficient
    • Collision damping

Important Parameters

Parameter Description
alpha 충돌 시 감쇠 계수
ks 스프링 강성 계수
kd 감쇠 계수
rows 천 격자의 행 개수
cols 천 격자의 열 개수

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages