Постоянная скорость для колеса любого радиуса при установке скорости в радианах в секунду? - PullRequest
1 голос
/ 16 марта 2009

В физическом движке box2d я могу задать скорость двигателя для соединения на моем колесе в радианах / секунду.

Какое бы выражение я мог установить для скорости, чтобы конечная фактическая «скорость» колеса была одинаковой независимо от радиуса колеса.

В настоящее время я устанавливаю скорость колеса как постоянную, wheelSpeed ​​= 20. Но это приводит к тому, что большие колеса быстрее, чем маленькие. Я хочу, чтобы радиус использовался при расчете радиан / сек для скорости двигателя, поэтому я получу одинаковую эффективную скорость независимо от этого.

Итак, если бы это было маленькое колесо, оно должно было бы поворачиваться гораздо чаще, чем большое.

Я думаю, мне нужно сделать что-то вроде 2 * PI * Радиус / 180 * Скорость? Или что-то подобное, но я не могу понять это точно.

Я хочу, чтобы скорость двигателя колеса (в радианах / с) определялась так, чтобы конечная «скорость» колес была постоянной независимо от размера колеса.

Ответы [ 3 ]

6 голосов
/ 16 марта 2009

В полном круге 2 PI радиан, а длина вашего круга - это окружность (2 PI R).

Итак, если вам нужна постоянная скорость окружности, проходящей за точку, вам нужна радиальная скорость:

Y = 2 PI / 2 PI R

или

Y = 1/R

Другими словами, сделайте значение коэффициентом, обратным вашему радиусу.

2 голосов
/ 16 марта 2009

Если v - скорость, w - частота, а r - радиус: уравнение равно v = w * r или w = v / r. Так что просто возьмите желаемую скорость, разделите ее на радиус колеса и установите ее в качестве угловой скорости.

1 голос
/ 16 марта 2009

Окружность колеса пропорциональна радиусу, поэтому, чтобы сохранить радиальную скорость в линейных единицах / секунду постоянной, разделите на увеличение радиуса.

Например, на радиусе R лучевая скорость равна 1 рад / с. Затем, если вы увеличите радиус до 2R, лучевая скорость должна составлять 1/2 рад / с.

...