#java #game-physics #physics #blender
#java #игра-физика #физика #блендер
Вопрос:
В качестве примера я имею в виду систему столкновения частиц Blender, где вы можете установить случайность для затухания частиц в диапазоне от 0.0 до 1.0. Теперь мой вопрос: как это работает? Да, будет случайное число от 0.0 до 1.0, но как оно применяется к коэффициенту демпфирования? Я хочу создать что-то подобное на Java, и поэтому я хочу полностью понять вычисления, стоящие за этим. Является ли случайный фактор вероятностью p и вычислением чем-то вроде распределения Гаусса? В качестве примера приложения: я хочу рандомизировать направление вектора.
vector.y = random1; vector.y = random2; vector.z = random3; vector.scale(prevLength/vector.length);
Однако может показаться, что все векторные компоненты становятся равными нулю, это очень маловероятно, но не невозможно. Очевидно, что это неправильное решение.
Комментарии:
1. Звучит больше как математический вопрос. На самом деле, это звучит как то, о чем вы должны спросить blender.stackexchange.com
2. мх, может быть … с другой стороны, моя цель — реализовать это на Java…
3. почему он закрыт? Я прошу теорию применения случайности к фактору. В каком смысле это было недостаточно сфокусировано?
4. Я не голосовал за закрытие, но, вероятно, потому, что «теория применения случайности к фактору» не является конкретным вопросом программирования.
5. ПРИВЕТ, если вам нужна помощь с теорией, об этом не следует спрашивать в Stack Overflow (математика может быть лучшим местом?). Если у вас есть вопросы относительно реализации Java или какой-либо конкретной проблемы с вашим кодом Java, обновите свой вопрос примерами кода, чтобы воспроизвести проблемы, и мы вам поможем.
Ответ №1:
Я нашел ответ на демпфирование
public Vector3f damping(Vector3f vector)
{
float random = (float) (this.randomDamp*(Math.random()*2-1));
float clampedValue = Math.max(0, Math.min(1, (1-damp) random)); //clamp between 0 and 1
vector.scale(clampedValue);
return vector;
}
Похоже, что blender просто добавляет случайное число, поэтому с коэффициентом 0,5 и случайным коэффициентом 1 конечный коэффициент будет варьироваться от -0,5 (0) до 1,5 (1).