나는 최대 속도로 여행하고 초당도 maxSpeed
를 돌릴 수 있는 배를 가지고 있습니다 rotationSpeed
. 선박은 항상 자신이 향하는 방향으로 움직입니다. 즉, 선박이 빠르게 이동할수록 선회 반경이 커집니다.
내 위치, 회전 및 대상 위치를 알고 있습니다.
내가 알아 내고 싶은 것은 목표가이 속도로 회전 반경 안에 있는지 또는 더 나은지, 내가 이동할 수있는 최대 속도는 목표를 계속 돌지 않고 목표를 향하게하는 것입니다.
이것을 수행하는 효율적인 (쉬운) 방법이 있습니까?
지금까지 내가 생각하고있는 것은 다음과 같습니다. 걸음 당 이동 거리와 걸음 당 회전 속도를 알기 때문에 다음 두 프레임의 위치를 파악할 수 있습니다. 내 현재 위치는 p1, 다음 위치는 p2, p3입니다. (p1, p2)와 (p2, p3)의 수직 이등분선을 취할 수 있습니다. 그들의 교차점은 나에게 원의 중심을 줄 것입니다. 그런 다음 대상이 해당 원 안에 있는지 테스트 할 수 있습니다.
이것이 3D로 작동하는지 확실하지 않습니다 (입력으로 구를 계산하는 방법을 잘 모르겠습니다). 이 솔루션은 여행에 적합한 속도를 찾는 데 너무 도움이되지 않습니다. 합리적인 속도를 찾기 위해 다른 속도로 몇 번 시도해야합니다.
더 나은 솔루션에 대해 누구나 밝힐 수 있습니까?