Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по игровой логике 
:(
    Опции темы
Graf_h
Дата 13.1.2009, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



Здравствуйте!
Возникла проблема! Представим систему из двух обьектов! Один движется в произвольном направлении с одной скоростью, а другой в произвольном направлении в другую сторону! Как описать их поведение, если их связать друг  с  другом тросом определеной длины?? 


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Rickert
Дата 14.1.2009, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Т.е. если один тянет сильнее, то второго тянет за ним, при этом протаскивает ещё по вектору собственного импульса?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Graf_h
Дата 14.1.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



да, + он должен описывать коло вокруг второго обьекта:(


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
arilou
Дата 14.1.2009, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Graf_h, http://forum.vingrad.ru/forum/topic-77796/...ry615219/0.html

посмотри тут, очень похоже на то, что тебе нужно... по краней мере, должно натолкнуть на мысли.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Graf_h
Дата 14.1.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



arilou,  спасибо, почитаю, может и поможет


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Rickert
Дата 15.1.2009, 04:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Цитата(Graf_h @  14.1.2009,  10:33 Найти цитируемый пост)
да, + он должен описывать коло вокруг второго обьекта:(

что такое "коло"?


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Graf_h
Дата 21.1.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



Цитата(Rickert @  15.1.2009,  04:33 Найти цитируемый пост)
что такое "коло"?


круг 


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Rpahut
Дата 22.1.2009, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Ежели сама веревка не нужна (т.е. именно как описано - поведение двух объектов итд..) то там вроде ничего сложного. На расстоянии до длины троса они движутся как обычно, за его пределами на каждый объект начинает действовать сила направленная в сторону второго объекта. Сила тем больше чем сильнее натянут трос. И все.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Rickert
Дата 22.1.2009, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Сила натяжения.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Graf_h
Дата 27.1.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



Цитата(Rickert @  22.1.2009,  09:39 Найти цитируемый пост)
Сила натяжения.
 Не только натяжения! Нужно правильно сложить все силы

Добавлено через 1 минуту и 39 секунд
Цитата(Rpahut @  22.1.2009,  08:56 Найти цитируемый пост)
Ежели сама веревка не нужна (т.е. именно как описано - поведение двух объектов итд..) то там вроде ничего сложного. На расстоянии до длины троса они движутся как обычно, за его пределами на каждый объект начинает действовать сила направленная в сторону второго объекта. Сила тем больше чем сильнее натянут трос. И все
, 
Не все :(! Еще их нужно сложить, вывести формулу. У кого есть время - помогите



--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Rpahut
Дата 27.1.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Изменение скорости (V) объекта под действием силы (F):
V = V + (F/m)*t;
V - скорость(м/с); F - сила(Н?); m - масса объекта(кг); t - время кадра(с)
За корректность на зуб спорить не стану, но коло получается что надо smile 

Каждая вычисленная сила применяется к объекту через эту формулу. Можно наверное суммировать силы а потом применить их один раз.


--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Rickert
Дата 28.1.2009, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


Профиль
Группа: Комодератор
Сообщений: 3356
Регистрация: 11.7.2006
Где: Лакрима

Репутация: 6
Всего: 52



Rpahut, всё правильно сказал. А F - это будет сумма векторов всех сил.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Graf_h
Дата 29.1.2009, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



Rpahut, 
Rickert, во первых что за сила F? В нашем слечае, возьмем к примеру систему из 5 обектов! все они движутся в разных направлениях! На каждого действуют сили остальных из системы+ сила натяжения троса для каждого из них(может еще что то забыл).


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Rpahut
Дата 29.1.2009, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

Репутация: 5
Всего: 7



Цитата

что за сила F?

Сила натяжения, сила тяжести, может еще какая сила про которую вы забыли - каждая из них и есть сила 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Как продать идею?
PM MAIL   Вверх
Graf_h
Дата 31.1.2009, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 482
Регистрация: 18.10.2007
Где: г. Ровно, Украина

Репутация: 3
Всего: 5



Rpahut, спасибо за помощь!  


--------------------
Иногда переменная - это просто переменная
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0706 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.