Flash CS4 + ActionScript 3.0로 벡터 내적,
시계방향 여부 구하기.
빨간 사각형과 파란 사각형은 마우스로 드래그가 가능하다.
빨간 선과 파란 선 사이의 내적, 파란선이 빨간선의 시계 방향 쪽에 있는지를 실시간으로 계산해 표시하게 하다.
회전 제한 각도가 있는 유도탄을 만드는 코드에서 두 각도의 크기 중 작고 큰 걸 결정하거나
회전시 시계방향으로 도는게 가까운지 반시계방향이 가까운지를 결정하는데 벡터가 쓰였는데 잘 이해가 안가서 잠시 미뤄두고
이전 벡터관련하여 테스트하던 게 있던 것이 생각나 간만에 다시 꺼내 다듬었다.
빨간 선과 비교할 파란색 선을 추가하고 둘 다 마우스로 드래그 가능하도록 만들다.
빨간 선과 파란 선의 내적 값를
텍스트 박스에 표시하고,
파란 선이 빨간 선의 시계방향/반시계방향에 있는지 여부를
계산해 Yes/No로 텍스트 박스에 표시했다.
두 벡터 선을 움직이며 실시간으로 내적 값이 변화하는 것을 보니 두 벡터간 내적이 각도(cos)와 관련 있다는
것을 시각적으로 이해할 수 있게 됐다. 두 벡터 사이의 각도가 작을 수록 내적 값은 커지고 두 벡터가 수직이 되었을
때 내적값은 0이 된다.
두 벡터가 단위 벡터일 경우 두 벡터의 내적 값은 두 벡터 간 각도의 cos 값이 된다.
15/5/10 일
A, B 두 벡터간 내적 구하기: Ax * Bx + Ay * By
B벡터가 A벡터의 시계방향에 있는지 여부 판단:
Ay * Bx > Ax * By 이면 반시계 방향, 아니면 시계 방향.
|