프로그래밍/물리 & 수학 스피비 2011. 6. 15. 14:12
1.벡터의 정의 벡터는 크기와 방향을 나타내는 수학적 도구 ex) 특정 개체의 이동방향과 속도 등을 표현 2.벡터의 표현방법 벡터는 벡터의 크기와 단위벡터(방향)로 표현 3.벡터 관련 단어 정리 벡터의 크기 : 문자 그대로 특정 방향으로의 벡터의 크기를 말한다. 단위벡터 : 벡터의 크기가 1인 벡터로 그 벡터가 어느 방향인지를 나타낸다. 4.벡터의 연산 연산 대표적으로 덧셈, 뺄셈, 스칼라곱, 내적, 외적이 있다. 1) 덧셈,뺄셈 응용 벡터의 덧셈, 뺄셈 으로 충돌이나 방향전환 등에 대한 것을 처리 할 수 있겠고, 두개의 벡터가 충돌했을 경우 발생하는 벡터나 한 벡터의 값으로 움직일때 다른 벡터의 움직임에 대한 표현의 가능 정도밖에 떠오르지 않는다. 2) 스칼라곱 응용 벡터의 스칼라곱은 특정방향으로의 움..
프로그래밍/물리 & 수학 스피비 2011. 6. 15. 13:49
제목 그대로 그림에서처럼 두 벡터 사이의 각도를 구해보죠. 이건 원운동을 하기 위해 필요한 작업이에요. 사실 이건 고등학교 수학책에도 나올만한 문제이지요. 백터의 내적을 이용하면 되거든요. a점의 x1, y1이고 b점이 x2, y2면 아시다시피 두 백터의 내적은 다음과 같아요. a*b = |a||b|*cos(c) -- 앞의 * 는 내적을 표해요. 표현하기가 마땅치 않군요. 이걸 풀어쓰고 정리하면(루트는 sqrt()로 쓸게요) cos(c) = { x1 * y1 + x2 * y2 } / { sqrt( x1^2 + y1^2 ) * sqrt( x2^2 + y2^2 ) } 이제 cos의 역함수인 acos()함수를 쓰면 c를 구할 수 있어요. 보통은. 그런데 여기서 math.h 에 들어있는 acos의 한계가 나와요..
프로그래밍/물리 & 수학 스피비 2011. 6. 15. 11:56
1. FSM 이란? 유한상태기계(finite state machine, FSM)는 게임 에이전트에게 환상적인 지능을 부여하기 위한 선택 도구로 사용되어왔다. 다시 말해, 유한상태기계는, 주어지는 모든 시간에서 처해 있을 수 있는 유한 개의 상태를 가지고 주어지는 입력에 따라 어떤 상태에서 다른 상태로 전환시키거나 출력이나 액션이 일어나게 하는 장치 또는 그런 장치를 나타낸 모델이다. FSM 이란 특정한 상태를 정의하기위한 개념적 모델이다. 여러개의 제한된 상태(State)가 존재하고 그 존재들이 특정 조건에 물려 서로 연결되어있는 형태를 의미한다. 위의 그림과 같이 유한 상태 기계의 간단한 예로는 집에 있는 전등 스위치를 들 수 있다. 스위치가On일 때는 전등의 불이 들어오게 되고 그 상태가 유지 된다...
프로그래밍/물리 & 수학 스피비 2011. 5. 26. 12:09
1. 삼각함수의 구현 이해 우리가 프로그래밍을 하면서 자주 사용하는 여러 수학 함수들이 있다. 할일 없는 사람들은 이 함수들이 어떻게 작동하는지 정말 궁금해할지도 모른다. 한 번 내가 알고 있는 것들을 글로 써보며 생각을 정리해보고자 한다. 수학함수를 구현할때 가장 중요한 점은 정밀도와 속도이다. 늘상 있는 일이지만 프로그래머는 정확성과 속도 사이를 잘 조율해야한다. 필요이상의 정밀도는 시간 낭비일뿐이다. 삼각함수는 비용이 비싼 측에 낀다. (계산량을 줄일만한 획기적 방법이 별로 없는듯하다.) 그래서 삼각함수 연산을 자주 하는 프로그램에서는 대게 테이블을 만들어놓고 참조하는 방법을 쓴다. 이 방법이 대체로 빠른 방법이어서 추천하는 바이다. (가장 좋은 방법은 FPU의 빵빵한 지원이라고나 할까) 아래에 설..
프로그래밍/물리 & 수학 스피비 2011. 5. 22. 20:17
1)하노이탑 퍼즐의 게임 규칙 목표: 한 기둥에 있는 원판들을 다른 기둥 두개 중 한 쪽으로 옮기는 것 규칙: 원판은 한번에 한개만 옮길 수 있다. 작은 원판 위에 그 원판보다 큰 원판이 있으면 안된다 2)원판의 이동횟수 : 규칙알아보기 -원판의 개수에 따른 이동 횟수알아보기 1개 : 1번 2개 : 3번 3개 : 7번 4개 : 15개 . . . 일열로 나열해보면 1, 3, 7, 15... > 첫번 째 규칙! 1.대 충 보면, 원판이 한개가 더 적을 때의 이동회수에 2를 곱하고 1을 더했다는 것을 알 수 있죠? 이 것을 보기 좋게 표현 하는 방법이 있답니다. => 바로, P(n-1)x2 +1 Pn의 의미는 무엇일까요? P1은 1을 뜻하고, P2는 3을 뜻한답니다. P3는 7을 뜻하고, P4는 15를 의미한..