티스토리 뷰
cos(), sin() 함수로 간단하게 구할 수 있다.
우리는 현제 원점(x1,y1)과 또다른 점(x2,y2), 그리고 각도θ를 알 고 있다.
회전운동을 하기 위한 점을 (x3,y3)라 정하면,
먼저 (x1,y1), (x2,y2)의 거리를 구한다..
bottom = (x2 - x1);
height = (y2 - y1);
위에서 구한 길이를 토대로, (x3,y3)의 값을 구해준다.
x3 = cos(θ) * bottom - sin(θ) * height;
y3 = sin(θ) * bottom + cos(θ) * height;
이렇게 구한 (x3,y3)좌표를 계속 구해(x1,y1)과 지속적으로 더하면,
x1 += x3;
y1 += y3;
최종적으로 저런 형태의 식이 나오며, 직선은 회전운동을 하게 된다.
'Programming > 수학&물리' 카테고리의 다른 글
두 원의 충돌(원과 점의 충돌) (0) | 2015.11.21 |
---|---|
점과 직선사의 거리 (0) | 2015.11.21 |
각도에따라서 회전시키기! (0) | 2015.01.07 |
캐릭터를 마우스 좌표로 부드럽게 이동시켜보자. (0) | 2015.01.07 |
[C++]MagicSquare programming : 마방진 (0) | 2014.09.18 |
댓글