Страница: 1 | 2 | 3 |
Вопрос: >> ТРУДНАЯ ЗАДАЧА <<
Добавлено: 22.11.05 23:39
Автор вопроса: AgentFire | ICQ: 192496851
Задача состоит в следующем:
Имеется 2+ танка. Одинаковых. WIDTHxHEIGHT 56x85. У каждого танка есть Angle, т.е. градус его текущего положения. У каждого есть X, Y – его координаты, которые определяют ЦЕНТР танка. Есть Speed – это скороть изменения X и Y танка по синусу и косинусу его Angle, т.е. "чтоб танк ехал по направлению". Есть MaxSpeed - это понятно.
Положение танков, их градус(направление, Angle), скорость могут быть непредсказуемыми.
Необходимо: определить момент когда какая-то часть танка соприкасается с другим танком, расчитать куда нужно двигать танки (по X и Y), как изменить Angle и Speed каждого танка, т.е. как будут себя вести танки при столкновении. Допустим, если танк въехал другому прямо в бок, то тот танк нужно развернуть (т.к. его реально закрутит, если действие происходит на грязи, вязкой и скользкой для танка поверхности) на N-ое количество градусов, его должно с небольшой скоростью тащить, куда его толкают, а въехавший танк должен ехать не со своей MaxSpeed, а гораздо меньше, т.к. перед ним препятствие, в которое он упирается. Фухх. Надеюсь, суть ясна.
Если кто-нибудь мне поможет, я запишу его в "Special Thanks" в титрах своей игры. Если человек будет несколько - тоже самое.
Ответы
Всего ответов: 45
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 23.11.05 04:29
Ботай момент инерции, момент импульса, момент силы и взаимосвязи между ними
Номер ответа: 2
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #2
Добавлено: 23.11.05 11:13
Да ты, никак, решил физический движок писать? Это тебе на форум к Valve, попроси исходники Source.
Сам будешь писать - опухнешь. Тем более, на VB...
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 23.11.05 12:46
спинным мозгом чувствую, что пригодится DirectX
Номер ответа: 4
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #4
Добавлено: 23.11.05 12:54
Вряд ли DirectX будет в этом полезен...
Номер ответа: 5
Автор ответа:
K&M
ICQ: 225442067
Вопросов: 20
Ответов: 170
Профиль | | #5
Добавлено: 23.11.05 14:32
Дык он с графикой наверное вопрос решил, ему физика нужна так понимаю.
Если ты хочешь рассчитать MaxSpeed танка, который толкает другого, значит смотри:
Сначала определяем разницу углов направлений обоих танков, допустим Delta. Если Delta = 1, то это значит, что танки смотрят в одну сторону. А это COS, то есть тебе нужно MaxSpeed = MaxSpeed * Cos(Delta). Тебе осталось придумать, что делать со случаями, когда COS(Delta) < 0.
Расчет соприкосновения: Исходя из угла поворота, там по тригонометрическим функциям, подумай, это не очень трудно.
Номер ответа: 6
Автор ответа:
ViktorZ
ICQ: 271202919
Вопросов: 56
Ответов: 837
Профиль | | #6
Добавлено: 23.11.05 15:05
танки есть макро объекты, значит к ним подойдет механика ньютона, правильно говорят, учи моменты сил и импульса, в принципе это не сложно, но муторно так как нужно рассмотреть все ситуации столкновения. А под какими углами столкновения будут воможны? Будет ли отдача, масса танков одиннакова? учитывай что при лобовом столкновении один полностью передаст всю свою энергию другому а сам остановиться. Рисуй импульсные диаграммы. Вообще возьми книгу Шпольского "атомная физика" и почитай про соударения, или книжку по механике наверное даже лучше будет. Удачи в твоем начинании.
Номер ответа: 7
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #7
Добавлено: 23.11.05 16:28
всю свою энергию другому а сам остановиться
Скорее разъедутся в обратные стороны. Судя по теории.
Сейчс провел эксперимент на мобильных телефонах - действительно, оба
отъезжают от точки столкновения назад
Номер ответа: 8
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #8
Добавлено: 23.11.05 17:21
Масса одинакова, слава Богу
А насчет, того, что вы мне наговорили про атомную физику... во-первЫх, я всего в десятом классе, во вторЫх, получится в итоге 2-3 формулы, просто надо знать их содержание
Номер ответа: 9
Автор ответа:
ViktorZ
ICQ: 271202919
Вопросов: 56
Ответов: 837
Профиль | | #9
Добавлено: 23.11.05 19:08
Сейчс провел эксперимент на мобильных телефонах - действительно, оба
отъезжают от точки столкновения назад
Павел не ожидал.... Чес слово. В бильярд играл?
АФ только для примера столкновений частиц, подойдет вполне обычная механика. 1 ответ полностью исчерпывает твой вопрос.
Номер ответа: 10
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #10
Добавлено: 23.11.05 19:41
Играл.
Сейчас под рукой бильярда нет. Есть два сотовых телефона. Кладем на стол напротив руг друга, внешним воздействием придаем им равные ускорения в сторону преполагаемой точки столкновения. В итоге ни один из телефонов не останавливается, оба отскакивают в сторону первоначальных позиций.
Хотя конечно мгут быть варианты воздействий, при которых один остановится, а другой получит весь импульс от первого.
Номер ответа: 11
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #11
Добавлено: 23.11.05 19:46
Путём эксперимента на юбилейных 10-рублёвых монетах выяснил, что упоменутый тобой случай наблюдается лишь если один предмет находится в неподвижном положении и ему в лоб ударяет другой. Если движутся оба - такого не произойдет.
Номер ответа: 12
Автор ответа:
Barsik
Разработчик Offline Client
ICQ: 343368641
Вопросов: 17
Ответов: 686
Web-сайт:
Профиль | | #12
Добавлено: 23.11.05 22:19
элементараная физика! Павел не позорься... или ты так шутишь?
совсем не две. уж поверь мне. у меня завтра экз по термеху.
я думаю ет оч непростая задача. тут нужно учитывать множество факторов: вес, скорость, угол атаки, etc.
предлагаю рассматривать все по оддельности а потом савокупить все случии
Номер ответа: 13
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #13
Добавлено: 24.11.05 03:33
Номер ответа: 14
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #14
Добавлено: 24.11.05 06:48
Когда я затрудняюсь что-то объяснить с помощью теории, я проверяю это на практике. Если теория расходится с практикой, то нафик такая теория?
Номер ответа: 15
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #15
Добавлено: 24.11.05 13:21