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