Russian Qt Forum
Ноябрь 23, 2024, 00:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: Распределенная сила (магнит)  (Прочитано 25488 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #45 : Май 06, 2011, 15:44 »

Формы объектов ничем не ограничены или это длинный фиксированный список объектов? Если второе, то для каждого объекта из списка задавать контрольные точки, для каждой из которых расчитывать момент сил(относительно центра масс объекта) в однородном магнитном поле. Складываете моменты и получаете "вращение". А поступательное движение - это просто сила, приложенная к центру масс.

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

А физику я подзабыл, поэтому может где и закралась ошибка.
1) Нет, объекты заранее не известны и присвоить им какие-то данные не удается

2) Нет никакой необходимости самому рассчитывать моменты, достаточно N раз вызвать метод движка applyForce где указать вектор силы и точку его приложения. Другое дело - непонятно откуда взять эти N векторов и каких.

3) Взаимодействие центр-центр совсем неплохо и оно тоже есть (как одна из опций). Но вращения с ним не получается, т.к. сила приложенная к центру ничего не вращает. Простой пример: чайник отталкивается сферой, и ожидается что он должен оттолкнуться "носиком", ну и как-то улетать вращаясь. Но центр-центр этого сделать не может, и это очень заметно.

У меня получилось 8 типов сил, взаимодействие поверхностей - самый сложный вариант. Пока парю остальные 7 и подтягиваю UI. Скоро вернусь к поверхностям, будут результаты - отпишусь
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #46 : Май 09, 2011, 14:52 »

Это правда немного другой метод расчета силы, но все равно - похвастаюсь  Улыбающийся
http://www.2shared.com/video/cI3QS23Q/PolygonAttractor.html
6.5 Mб, QuickTime movie
Записан
brankovic
Гость
« Ответ #47 : Май 09, 2011, 15:34 »

Это правда немного другой метод расчета силы, но все равно - похвастаюсь  Улыбающийся
http://www.2shared.com/video/cI3QS23Q/PolygonAttractor.html
6.5 Mб, QuickTime movie

красиво, даже очень.. А как относится к задаче, я так понимаю они притягиваются к невидимому "скелету"?
Записан
Akon
Гость
« Ответ #48 : Май 11, 2011, 19:16 »

Да, здорово. В газонокосильщике было что-то похожее.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #49 : Май 12, 2011, 10:05 »

Спасибо за хорошие слова. В этом методе (да, каждый кубик притягивается к центру полигона невидимого объекта) тоже получил проблему: получается эффект пружины/маятника

http://www.2shared.com/file/LSCBj5ds/Previewmov.html

Максимально упрощенный случай: объект притягивается точкой. Начинает двигаться, развивает какую-то скорость, наконец объект находится в нужной точке. Но скорость-то не ноль, движение по инерции продолжается. Это корректно с точки зрения физики, но иногда/часто пользователю нежелательно. Сейчас думаю как сделать торможение, Просто так скорость я менять не должен - ведь неизвестно чем она вызвана - может и не данной силой вообще.
Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.