Как да намеря вектор2 координати близо до позицията на играч, но на радиус 'r' от центъра?

Опитах се да потърся решение за този вид проблем, но не можах да го намеря. Затова се сетих да попитам.

ПРОБЛЕМ:

Имам център и бих искал да намеря точка по обиколката на окръжността. Сега ограничението е, че бих искал да съм близо до „Позицията на играчите“. Позицията на играчите може да бъде навсякъде от центъра и винаги ще бъде по-малка от радиуса 'r' от центъра. Сега, тъй като казах „близо“, бих искал да го накратко. Нека разделим кръг на четворки. Ако играчът лежи на 1-ва четворка, тогава всяка точка от обиколката освен 3-та четворка е добра.

Надявам се, че бях ясен.

Изображението, представящо проблема, е тук.

ИЛЮСТРАЦИЯ НА ИЗОБРАЖЕНИЕТО: Имайки предвид горната диаграма, да кажем, че радиусът на кръга е 'r' и играчът лежи на 'Pl'. Сега просто произволно, бих искал да получа a Vector2 координати някъде близо до 'x' (червен на цвят). Отново тук те са много произволни, но са в рамките на съседните четворки. Необходимите координати са координати на вектор2.

Благодаря ти много!!!

за разбирането,

Карснен


person karsnen    schedule 21.11.2012    source източник


Отговори (1)


В полярни координати просто трябва да изчислите произволен ъгъл в разглежданата зона (поради позицията на играча)

Например позицията на играча е нещо като (R,theta) в полярни координати, можете да генерирате произволна стойност за ъгъла на търсената от вас позиция между -pi и pi и да я добавите към ъгъла theta на позицията на играча. Или ако наистина искате да направите това само според тези "четворки": Ако играчът е в 1-ва четворка, изчислете произволна стойност между -pi/2 и pi, ако играчът е във 2-ра четворка, изчислете произволна стойност между 0 и 3pi/2 и т.н. .

След това просто трябва да конвертирате в декартови координати.

person stg    schedule 21.11.2012