게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
탐구과제때문에 진자를 시뮬레이팅하는데..
게시물ID : programmer_12506짧은주소 복사하기
작성자 : 아희
추천 : 0
조회수 : 386회
댓글수 : 3개
등록시간 : 2015/08/03 01:07:56
4일동안 방학에 못쉬고 학원에다 탐구를 3시까지 진행하느라 몸도 마음도 지쳤네요.

처음 주제는 '진자를 시뮬레이팅해서 현실값과 비교한다음 공기 저항을 계산해보자!' 라는 취지로 테스트 겸 가볍게 공기저항 없는 진자 모델을 구현하려 했는데...

물리실력이 그닥인 저에게는 생각보다 정말 골때리더라구요.

처음에는 간단하게 '그냥 까짓거 각가속도 더한다음에 매 0.1밀리초마다 각가속도에서 속도 계산하면 되지 뭐' 이런 식이었는데

간단하게 구현한 덕분에 오차가 4초 이상이나...ㅎㄷ;

그래서 나름 삽질하다가 안되겠다 하고 그냥 x, y 벡터로 분리해서 중력을 접선방향으로 변환하고 이놈을 x/y 성분으로 분리했더니...

http://i.imgur.com/G2YegJT.png

W-T-F

(주기 기준점 시간, x좌표, y좌표 순입니다)

그냥 사정없이 나락으로 떨어집니다. 무슨 포물선 그래프 보는 줄...;

그래서 멘탈 추스르고 sin/cos 입력값 부호에 따른 출력값 부호 생각해서 다시 짰더니 y가 요동치는 겁니다.

그래서 미친 셈 치고 y좌표를 그냥 없애버렸습니다. 무조건 x만 계산하고 진자가 돌아오는 것도 x방향 부호 변화로 판단하고... 각도도 asin()으로 했는데...

temp.PNG

???!?!!!??

y좌표를 없앴으니(당연히) 연산속도는 빨라졌는데 오차가 사라졌습니다.

모든 일의 원흉은 y좌표였어요.

하하.. 멘탈이 갈리네요

이제 공기 저항만 모델에 넣으면 재미있겠네요.

꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호