![]() |
|
Модераторы: Rickert |
![]()
|
|
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
Здравствуйте!
Возникла проблема! Представим систему из двух обьектов! Один движется в произвольном направлении с одной скоростью, а другой в произвольном направлении в другую сторону! Как описать их поведение, если их связать друг с другом тросом определеной длины?? -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 6 Всего: 52 |
Т.е. если один тянет сильнее, то второго тянет за ним, при этом протаскивает ещё по вектору собственного импульса?
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
да, + он должен описывать коло вокруг второго обьекта:(
-------------------- Иногда переменная - это просто переменная |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Graf_h, http://forum.vingrad.ru/forum/topic-77796/...ry615219/0.html
посмотри тут, очень похоже на то, что тебе нужно... по краней мере, должно натолкнуть на мысли. |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
arilou, спасибо, почитаю, может и поможет
-------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 6 Всего: 52 |
что такое "коло"? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
-------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Ежели сама веревка не нужна (т.е. именно как описано - поведение двух объектов итд..) то там вроде ничего сложного. На расстоянии до длины троса они движутся как обычно, за его пределами на каждый объект начинает действовать сила направленная в сторону второго объекта. Сила тем больше чем сильнее натянут трос. И все.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 6 Всего: 52 |
Сила натяжения.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
Не только натяжения! Нужно правильно сложить все силы
Добавлено через 1 минуту и 39 секунд , Не все :(! Еще их нужно сложить, вывести формулу. У кого есть время - помогите -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Изменение скорости (V) объекта под действием силы (F):
V = V + (F/m)*t; V - скорость(м/с); F - сила(Н?); m - масса объекта(кг); t - время кадра(с) За корректность на зуб спорить не стану, но коло получается что надо Каждая вычисленная сила применяется к объекту через эту формулу. Можно наверное суммировать силы а потом применить их один раз. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| Rickert |
|
|||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 6 Всего: 52 |
Rpahut, всё правильно сказал. А F - это будет сумма векторов всех сил.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
Rpahut,
Rickert, во первых что за сила F? В нашем слечае, возьмем к примеру систему из 5 обектов! все они движутся в разных направлениях! На каждого действуют сили остальных из системы+ сила натяжения троса для каждого из них(может еще что то забыл). -------------------- Иногда переменная - это просто переменная |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 5 Всего: 7 |
Сила натяжения, сила тяжести, может еще какая сила про которую вы забыли - каждая из них и есть сила F. Нашли силу натяжения одного из тросов - применили. Взяли силу тяжести - тоже применили. У меня в коде F - это единичный вектор, задающий направление действия силы, плюс скаляр - ее величина. Можно и одним вектором соответствующей длины, но так мне кажется проще величину контролировать. mult = (force*time)/mass; vx += a*mult; vy += b*mult; vx(vy) - горизонтальная(вертикальная) составляющая скорости объекта; a(b) - горизонтальная(вертикальная) составляющая вектора силы; force - величина силы; time - время отрисовки кадра. Для каждой пары объектов делаете следующее: Рассчитываете вектор троса (ra, rb) Находите его длину (rl) Если длина больше "нормальной" длины (rl>ropeLen) Применяете к обоим объектам силу: вектор силы - (ra/rl, rb/rl) величина - подбирается в зависимости от потребностей, влияет на эластичность троса; ЗЫЖ для одного из объектов применяется сила той же величины но со знаком минус Это сообщение отредактировал(а) Rpahut - 29.1.2009, 23:44 --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
Rpahut, спасибо за помощь!
-------------------- Иногда переменная - это просто переменная |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |