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

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

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

Сообщений: 11445


Просмотр профиля
« Ответ #30 : Апрель 26, 2011, 06:16 »

Избегаю цитирования чтобы было короче.

Что собственно непонятно в постановке? Пусть в пространстве есть несколько объектов, один из них - магнит. Пользователь в UI назначил мощность магнита 1.0. Значит все остальные объекты начинают двигаться к магниту с ускорением 1.0 по второму закону Ньютона пока не прилипнут к поверхности магнита. Это в предположении что масса каждого объекта 1.0 и радиус действия магнита не ограничен. Другие массы, другой радиус, замешаны др силы (та же гравитация), магнит отталкивает (-1.0), оба магниты или только один - поведение будет другим, но подробности расчета очевидны.

Проблемы возникают когда расстояние между объектами становится меньше их геометрических размеров. Здесь просто взаимодействие 2-х точек (центров) не проходит, о чем вполне ясно было сказано еще в первом посте темы. Если 2 кубика достаточно близко то результат может быть очень разным в зависимости от их взаимного расположения. Напр. магнит может заставить кубик вращаться если сила приложена к углу кубика.

Инструменты: я подаю силы движку, указывая вектор силы и точку ее приложения. Могу подать 1 вектор, могу 100. Не раз уже говорилось что пользователя не волнует теория электромагнитного поля и.т.п.

Какие неясности? (что же все-таки мешает нашим танцорам? Улыбающийся)
Записан
Akon
Гость
« Ответ #31 : Апрель 26, 2011, 07:41 »

m_ax:
Цитировать
Вы под точным решением понимаете результат непременно в аналитическом виде...
Сорри. Конечно же, имел ввиду результат в виде элементарных функций.
В конечном счете мы получим диф. ур - е, что и есть аналитический результат (а не эмпирический или там гипотетический).

Цитировать
А Вы что, наивно полагаете, что получив численное решение можете сказать, что задача решена точно?
Задача может быть решена с необходимой точностью.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #32 : Апрель 26, 2011, 07:49 »

Задача может быть решена с необходимой точностью.
Хочу заметить что требования к точности "более чем лояльны". Рекомендуемая частота движка 60 герц, что само по себе мощный интегратор - сила добавляемая на каждом шаге складывается с предыдущими.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #33 : Апрель 26, 2011, 08:55 »

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

Я прикидывал так: найти "принципиальную плоскость" (термин мой). Это плоскость  в которой проекции полигонов источника и приемника (в сумме) максимальны.Простейший вариант - найти минимальное расстояние объект-объект - это и есть нормаль к "принципиальную плоскости". В большинстве случаев такая плоскость одна, в редких случаях несколько (шарик у плинтуса, шарик в углу). Дальше найти пересечение проекций  источника и приемника на нее. Дальше - пока не знаю Улыбающийся Просто рабочая мысль, не более того
Записан
Akon
Гость
« Ответ #34 : Апрель 26, 2011, 09:48 »

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

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

Да, и если, как вы указали, что радиус действия магнита не ограничен, то проблем возникать не должно, когда расстояние между объектами становится меньше их геометрических размеров, поскольку поле будет постоянно в любой точке пространства, и все тела будут двигаться только поступательно. Сила магнита, имхо, должна существенно уменьшаться с расстоянием.
« Последнее редактирование: Апрель 26, 2011, 10:01 от Akon » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #35 : Апрель 26, 2011, 10:04 »

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

В общем, это все тоже решение, только вместо дифференциалов величин используются конечные значения, и появляется погрешность.
Против погрешности никто не возражает, более того, в данном случае она может быть заметно больше чем обычные инженерные 5%. Но давайте посмотрим на чайник (приаттачен). Как ни крутите, с 10 "нодами" получим довольно грубую аппроксимацию. Это само по себе еще не значит "плохо", НО - ведь запросто вся песня может происходить "в носике" - он оказался близок к магниту, остальное тело практически не роялит, нужно приложить силу к носику, а движок уже сделает остальное.
Записан
Akon
Гость
« Ответ #36 : Апрель 26, 2011, 10:32 »

Я бы навскидку зарядил одну точку в носик, вторую в ручку, четыре точки в стенки чайника на уровне начала носика, одну точку в крышку, одну точку в донышко.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #37 : Апрель 26, 2011, 12:37 »

Избегаю цитирования чтобы было короче.

Что собственно непонятно в постановке? Пусть в пространстве есть несколько объектов, один из них - магнит. Пользователь в UI назначил мощность магнита 1.0. Значит все остальные объекты начинают двигаться к магниту с ускорением 1.0 по второму закону Ньютона пока не прилипнут к поверхности магнита. Это в предположении что масса каждого объекта 1.0 и радиус действия магнита не ограничен. Другие массы, другой радиус, замешаны др силы (та же гравитация), магнит отталкивает (-1.0), оба магниты или только один - поведение будет другим, но подробности расчета очевидны.

Что значит мощность магнита? Как Вы это себе колличественно представляете?
Что значит начинают двигаться с ускорением 1.0? С чего вы взяли что оно вообще постоянно? И вообще ускорение это векторная величина. Куда оно должно быть направлено?
Что значит по-вашему радиус действия магнита? Как вы хотите представить колличественно действие магнита на тело?
Цитировать
...оба магниты или только один - поведение будет другим, но подробности расчета очевидны.
Непонимающий
Похоже, мы говорим на разных языках)
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #38 : Апрель 26, 2011, 12:57 »

m_ax:
Цитировать
Вы под точным решением понимаете результат непременно в аналитическом виде...
Сорри. Конечно же, имел ввиду результат в виде элементарных функций.
В конечном счете мы получим диф. ур - е, что и есть аналитический результат (а не эмпирический или там гипотетический).

Цитировать
А Вы что, наивно полагаете, что получив численное решение можете сказать, что задача решена точно?
Задача может быть решена с необходимой точностью.

Дифференциальные уравнение - это не есть аналитический результат.
Поскольку само решение будет зависеть от начальных условий. Если задача краевая, то придётся задавать граничные условия. А если у вас имеются свободные параметры в системе можете ли вы мне сказать функциональную зависимость полученного решения от них?

К сожалению далеко не все задачи могут быть решены численно с заданной точностью. И самые интересные как раз не решаются( Более того их численное решение не представляет ни какого интереса.
Простой пример: модель простого скалярного поля φ4, которая в частности описывает фазовые переходы второго рода..
По сути нужно просто посчитать интегралл. Однак пока это точно никому не удалось(
Обычная теория возмущений там тоже не работает.
И вообще очень много задач, где теория возмущений в принципе не применима.
« Последнее редактирование: Апрель 26, 2011, 13:01 от m_ax » Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #39 : Апрель 26, 2011, 13:35 »

Я бы навскидку зарядил одну точку в носик, вторую в ручку, четыре точки в стенки чайника на уровне начала носика, одну точку в крышку, одну точку в донышко.
Каждый из нодов должен иметь объем (иначе как интегрировать) а какой?  Я не против упрощений (наоборот) но все-таки "погрешность" 50-75% - многовато будет Улыбающийся  Также: а если сам магнит вообще не имеет объема? Почему пользователь не может задать в качестве магнита плоскость или более сложную, но поверхность?
Выделять ноды (из полигонной модели) - тоже не мед. Итого: работы много, а результат сомнителен.

Что значит начинают двигаться с ускорением 1.0? С чего вы взяли что оно вообще постоянно? И вообще ускорение это векторная величина. Куда оно должно быть направлено?
В простейшем случае (2 объекта достаточно далеко друг от друга по сравнению с из размерами) вдоль вектора центр-центр. Постоянно потому что величина прикладываемой силы постоянна. Если пользователь захочет, он может управлять величиной силы во времени.

К сожалению далеко не все задачи могут быть решены численно с заданной точностью. И самые интересные как раз не решаются( Более того их численное решение не представляет ни какого интереса.
Простой пример: модель простого скалярного поля φ4, которая в частности описывает фазовые переходы второго рода..
По сути нужно просто посчитать интегралл. Однак пока это точно никому не удалось(
Обычная теория возмущений там тоже не работает.
И вообще очень много задач, где теория возмущений в принципе не применима.
Цитировать
- Дивись, куме, ну яка умна людина!
- Мммм.. то що це ii дало?
Улыбающийся
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #40 : Апрель 26, 2011, 13:45 »

Цитировать
Цитата: Akon от Сегодня в 10:32
Я бы навскидку зарядил одну точку в носик, вторую в ручку, четыре точки в стенки чайника на уровне начала носика, одну точку в крышку, одну точку в донышко.

Каждый из нодов должен иметь объем (иначе как интегрировать) а какой?  Я не против упрощений (наоборот) но все-таки "погрешность" 50-75% - многовато будет Улыбающийся  Также: а если сам магнит вообще не имеет объема? Почему пользователь не может задать в качестве магнита плоскость или более сложную, но поверхность?
Выделять ноды (из полигонной модели) - тоже не мед. Итого: работы много, а результат сомнителен.
Не понял про объём? Особенно про магнит с который может вообще не иметь объёма?
Что вы там хотите интегрировать?

Вот простая задачка, мне чтоб понять Ваш образ мылсли приведите её решение:
Два диполя находятся на расстояние R. Один диполь зафиксирован в начале координат. Второй свободный. В начальный момент времени его скрость равна нулю.
Найти r(t) для второго диполя.

Цитировать
В простейшем случае (2 объекта достаточно далеко друг от друга по сравнению с из размерами) вдоль вектора центр-центр. Постоянно потому что величина прикладываемой силы постоянна. Если пользователь захочет, он может управлять величиной силы во времени.
С чего это она постоянна? По вашему пользователь может менять законы физики и так между делом положить силу взаимодействия обусловленную магнетизмом постоянной?
Круто)
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #41 : Апрель 26, 2011, 14:40 »

m_ax, чтобы не засорять форум, позвольте просто кратко повторить:

Буквальное/точное следование законам физики НЕ ЕСТЬ ни целью ни обязательным условием. Задача дать пользователю ручки такие чтобы он мог рулить силами удобно и предсказуемо. Сожалею что лишил Вас возможности блеснуть академическими знаниями, но моя работа такая  Улыбающийся
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #42 : Апрель 26, 2011, 14:58 »

m_ax, чтобы не засорять форум, позвольте просто кратко повторить:

Буквальное/точное следование законам физики НЕ ЕСТЬ ни целью ни обязательным условием. Задача дать пользователю ручки такие чтобы он мог рулить силами удобно и предсказуемо. Сожалею что лишил Вас возможности блеснуть академическими знаниями, но моя работа такая  Улыбающийся
Если пользователь сам задаёт силы, то тогда к чему все эти разговоры а магнетизме и т.д.?
Если силы заданы, масы и начальные условия известны то задача сводится к решению диф. уравнений, которые, как я понял решает сам движок..
В общем из всей этой темы я так и не понял чего же Вы хотите. И чтоб было конструктивное обсуждение недостаточно интуитивных (основанных на бытовом опыте) определений. Я например не понимаю ни что такое мощьность магнита и как Вы себе это представляете, ни что вы хотите интегрировать, зачем и как..
Понял лишь, что проблема в непонимании)) 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #43 : Апрель 26, 2011, 15:20 »

Если пользователь сам задаёт силы, то тогда к чему все эти разговоры а магнетизме и т.д.?
Позвольте, а кто эти разговоры (активно) ведет? Улыбающийся Почему слово "магнит" непременно должно означать "физика, теория магнетизма и.т.п"? Разве нельзя употребить его просто в широком смысле притягивает/отталкивает?

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

В общем из всей этой темы я так и не понял чего же Вы хотите. И чтоб было конструктивное обсуждение недостаточно интуитивных (основанных на бытовом опыте) определений.
Я попытался выразить что я хочу в названии темы "распределенные". Налицо случай когда взаимодействие точка-точка недостаточно, нужно вычислять вектор(а) силы учитывая поверхности объектов. Я понимаю что в книжке об этом не написано, но ведь голова-то на плечах есть  Улыбающийся
Записан
Waryable
Гость
« Ответ #44 : Май 06, 2011, 10:13 »

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

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

А физику я подзабыл, поэтому может где и закралась ошибка.
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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