LINUX.ORG.RU

Potential Fields

 ,


1

1

Помогите разобраться с потенциальным векторным полем, читаю вот это - http://students.cs.byu.edu/~cs470ta/goodrich/fall2004/lectures/Pfields.pdf и там градиент определяется как:

(xG; yG) - позиция цели
r - радиус цели 
v = [x; y]T - позиция агента
d - дистанция от v до (xG; yG)
µ - угол

определение градиента: 
if d > s + r, dx = a*s*cos(µ) and dy = a*s*sin(µ)
ниже в объяснении про s:

The field has a spread of s and the agent reaches the extent of this field when d = s + r.

Не понимаю что такое s. Если это величина распространения(скорость), то как её можно складывать с r. Если это потенциал, то тоже самое. А так _как_ от s зависит градиент, то это не может быть расстоянием, а больше подходит на роль напряжённости или силы.

Могу не понимать объяснения в физических терминах, уже забыл всё да и не знал никогда особо, прошу как можно более понятно.

Я тоже не понимаю как он определяет спрэд, но похоже что это какой-то характерный размер поля (в единицах длины) — типа, как расстояние на котором на единичную массу действует единичная сила.

nokachi ()

Это эффективный радиус действия поля, за пределами этого радиуса поле считается однородным, т.е. с одинаковой величиной модуля вектора, внути изменяется по заданному закону. Типа если нужно добраться из мухосранска до мск, то сначала двигаемся на максимальной скорости, но как только приближаемся на какое-то расстояние s, то нужно её плавно снижать чтобы не проскочить цель.

Да, физики тут никакой нет, сплошная инженерия.

mashina ★★★★★ ()
Последнее исправление: mashina (всего исправлений: 1)
Ответ на: комментарий от mashina

но так как -

dx = a*s*cos(µ) and dy = a*s*sin(µ)

, то он же отвечает за величину этой скорости? То есть a*s - скалярная величина скорости, s - функция f от радиуса действия поля. А настраивать фактическую скорость нужно с помощью a и f?

pseudo-cat ★★★ ()
Последнее исправление: pseudo-cat (всего исправлений: 1)
Ответ на: комментарий от pseudo-cat

но так как ... то он же отвечает за величину этой скорости?

Не совсем. Здесь s нужно только чтобы неразрывно склеить область вне радиуса с внутренностью. Т.е. на круге слеивания радиуса (s + r) значения двух функций должны быть одинаковыми (последняя и предпоследняя ф-ии в pdf'ке). Только из-за этого туда попало s.

То есть a*s - скалярная величина скорости, s - функция f от радиуса действия поля. А настраивать фактическую скорость нужно с помощью a и f?

Нет, s это не функция от действия, а константа. Параметры (s, a) вместе полностью определяют это поле. Всё, никакого физического смысла у этого поля нет.

Если попробовать придать какой-то смысл этому полю, то нужно рассуждать так: есть скорость сближения V = (s * a) и ускорение маневрирования dV = v / s = a. Исходя из желаемых V и dV можно выбрать параметры поля s = V / dV и a = dV

mashina ★★★★★ ()
Ответ на: комментарий от mashina

Если попробовать придать какой-то смысл этому полю, то нужно рассуждать так: есть скорость сближения V = (s * a) и ускорение маневрирования dV = v / s = a. Исходя из желаемых V и dV можно выбрать параметры поля s = V / dV и a = dV

в каких ед. измерения в таком случае V и dV?

pseudo-cat ★★★ ()
Ответ на: комментарий от pseudo-cat

в каких ед. измерения в таком случае V и dV?

V = длина / время, dV = V / длина = 1 / время. Тут я немного обманул, dV это не совсем обычное «ускорение». Далее под временем и длиной может быть что угодно - метры, писели, секунды, такты и т.п.

mashina ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.