Как трение может перетащить быть вычисленным для перемещения и вращающего диска на 2D поверхности?

Вы можете использовать flatMap для отображения на SimpleEntry, а затем groupingBy как:

return items.stream()
        .flatMap(p -> p.getBelongsToCategories()
                .stream()
                .map(l -> new AbstractMap.SimpleEntry<>(l, p)))
        .collect(Collectors.groupingBy(Map.Entry::getKey,
                Collectors.mapping(Map.Entry::getValue,
                        Collectors.toList())));
5
задан f3r3nc 12 March 2009 в 00:11
поделиться

4 ответа

Если бы Вы собираетесь моделировать это, я, вероятно, рекомендовал бы что-то как деление, контакт появляется между диском и таблицей в радиальную сетку. Вычислите относительную скорость, и сила в каждой точке на сетке каждый раз ступают, затем подводят итог сил, и крутящие моменты (r пересекают F) получить сетевую силу F и сетевой крутящий момент T на диске в целом. Затем можно применить уравнения F = (m) (dv/dt) и T = (I) (dw/dt) для определения дифференциальных изменений в v и w для следующего временного интервала.

Если это имеет значение я не думаю, что плоский диск изогнулся бы под влиянием или (независимой от скорости) силы трения или силы сопротивления (линейно пропорциональный скорости).

3
ответ дан 14 December 2019 в 13:48
поделиться

Численное интегрирование законов Ньютона движения было бы тем, что я рекомендую. Нарисуйте бесплатную схему тела диска, дайте начальные условия для системы и численно интегрируйте уравнения для ускорения и скорости вперед вовремя. У Вас есть три степени свободы: x, y перевод в плоскости и перпендикуляре вращения к плоскости. Таким образом, у Вас будет шесть одновременных ОД для решения: уровни изменения линейных и угловых скоростей, уровни изменения для двух положений и уровень изменения углового вращения.

Будьте осторожны: трение и контакт делают то граничное условие между диском и таблицей нелинейным. Это не тривиальная проблема.

Могли быть некоторые упрощения путем обработки диска как массы точки. Я рекомендовал бы смотреть на Динамику Kane для хорошего понимания физики и как лучше всего сформулировать проблему.

Я задаюсь вопросом, произошел ли изгиб пути, который Вы воображаете, с отлично сбалансированным диском. Я не разработал его, таким образом, я не уверен. Но если бы Вы взяли отлично сбалансированный диск и вращали его о его центре то не было бы никакого перевода без неустойчивости, потому что нет никакой сетевой силы, чтобы заставить его переводить. Добавление в начальной скорости в данном направлении не изменило бы это.

Но легко видеть силу, которая заставила бы диск отклоняться от прямого пути, если бы была неустойчивость в диске. Если я корректен, необходимо будет добавить неустойчивость к диску для наблюдения изгиба от прямой линии. Возможно, кто-то, кто лучший физик, чем я, мог взвеситься.

1
ответ дан 14 December 2019 в 13:48
поделиться

Когда Вы говорите, что трение u, я не уверен, что Вы имеете в виду. Обычно существует коэффициент трения C, таков, что трение F скользящего объекта = C * связывается с силой.

Диск смоделирован как отдельный объект, состоящий из некоторого числа очков, расположенного в кругах о центре.
Для простоты Вы могли бы смоделировать диск как шестиугольник, равномерно заполненный точками, чтобы удостовериться, что каждая точка представляет равную область.

Вес w каждой точки является весом части диска, который это представляет.
Это - вектор скорости, легко вычисляется из скорости и скорости вращения диска.
Сила сопротивления в той точке является минус ее времена веса коэффициентом трения, времена единичный вектор в направлении ее скорости.

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

Для получения общей силы замедления на диске суммируйте, они перетаскивают векторы.

Для получения углового момента замедления преобразуйте каждого, перетаскивают вектор к угловому моменту о центре диска и суммируют их.

Фактор в массе диска и угловой инерции, затем это должно дать линейный и угловой acclerations.

Для интеграции уравнений движения удостоверьтесь, что Ваш решатель может обработать резкие переходы, как то, когда диск останавливается.
Простой Euler решатель с действительно прекрасным stepsize мог бы быть достаточно хорошим.

0
ответ дан 14 December 2019 в 13:48
поделиться

Шар переместится в большую дугу с вращением, но [универсальный] диск на 2D поверхности не будет.

Для диска это - центр вращения, совпадает с, это - центр тяжести, таким образом, нет никакого примененного крутящего момента. (Как упомянуто duffymo, неоднородному диску применят крутящий момент.)

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

Если бы была поперечная скорость, то шар прошел бы парабола, как падающий объект. Компонент крутящего момента (и радиус дуги) может быть вычислен таким же образом, Вы делаете для прецессирующей вершины. Это просто, что шар находится в подсказке вершины (допустите ошибку....), и нижняя часть является "мнимой".

Главное уравнение: http://hyperphysics.phy-astr.gsu.edu/HBASE/top.html

omega_p = mgr/I/omega

где

omega_p = rotational velocity...dependent on how quickly you want friction to slow the ball
m = ball mass
g = 9.8 m/s^2 (constant)
r = distance from c.g. (center of ball) to center, depends on angle of spin axis (solve for this)
omega = spin rate of ball
I = rotational inertia of a sphere

Мои 2 цента.

2
ответ дан 14 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: