프로젝트 & 과제/2학년

[선형] 종이 움직임 애니메이션 구현

qqlzzb 2022. 1. 12. 21:20

개요

프로그래밍 언어 : 매트랩

과제 수행 날짜 : 2019.04.09

과제 개요 : matlab을 이용하여 종이가 움직이는 애니메이션 구현(슬라이더의 값에 따라 종이의 운동 폭이 커진다)

 

코드 설명

과제 코드 중 핵심적인 부분

num이라는 변수에는 슬라이더의 값이 들어간다. 슬라이더의 값이 크면 종이가 더 큰 폭으로 움직이게 된다.

진자운동을 하는 함수를 만들어서 종이가 움직이도록 한다.

진자의 운동방정식

f는 진자운동을 위한 연립 방정식, init은 초기 조건이다. ode45 함수는 연립 미분방정식 y' = f(t, x)를 적분해준다.

ode45(연립 미분방정식, 적분 구간, 초기 조건)으로 구성되어 적분 값을 반환한다.

 

결과

첫 번째 시도

-> 진자 운동만 구현하고 종이가 움직일 때의 팔랑 거리는 느낌을 구현하지 못했다.

 

두 번째 시도

-> 슬라이더 값에 따라 슬라이더 값이 크면 더 큰 폭으로 종이가 움직이고, 값이 작으면 작은 폭으로 움직이는 것을 구현했다.


2학년 1학기에 선형 시스템이라는 전공 수업에서 수행한 과제이다. 당시에도 어려워서 두 번의 시도 끝에 성공한 과제였는데 지금 봐도 쉽진 않다.. 진자 운동의 방정식을 매트랩으로 구현하는 것도 어렵지만 종이가 팔랑거리는 것을 구현하는 것이 어려워서 헤맸었다. 종이의 팔랑거림은 지수함수를 이용해서 구현할 수 있었다.

'프로젝트 & 과제 > 2학년' 카테고리의 다른 글

[랜덤] Digital Sound Design  (0) 2022.01.17
[랜덤] Monte Carlo Project  (0) 2022.01.16
[랜덤] 랜덤 수 생성기  (0) 2022.01.15
[선형] PCA 얼굴 인식  (0) 2022.01.14
[선형] 태양계 애니메이션 구현  (0) 2022.01.13