Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 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-сайт: sharpc.livejournal.com
 Профиль | | #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-сайт: www.vbnet.ru
 Профиль | | #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-сайт: www.vbnet.ru
 Профиль | | #7
Добавлено: 23.11.05 16:28
учитывай что при лобовом столкновении один полностью передаст
всю свою энергию другому а сам остановиться

Скорее разъедутся в обратные стороны. Судя по теории.
Сейчс провел эксперимент на мобильных телефонах - действительно, оба
отъезжают от точки столкновения назад :)

Ответить

Номер ответа: 8
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #8 Добавлено: 23.11.05 17:21
А под какими углами столкновения будут воможны? Будет ли отдача, масса танков одиннакова? учитывай что при лобовом столкновении один полностью передаст всю свою энергию другому а сам остановиться. Рисуй импульсные диаграммы. Вообще возьми книгу Шпольского "атомная физика" и почитай про соударения, или книжку по механике наверное даже лучше будет.
Углы совершенно непредсказуемые! но от 0 до 359 ;)
Масса одинакова, слава Богу ;)
А насчет, того, что вы мне наговорили про атомную физику... во-первЫх, я всего в десятом классе, во вторЫх, получится в итоге 2-3 формулы, просто надо знать их содержание ;)

Ответить

Номер ответа: 9
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #9 Добавлено: 23.11.05 19:08
Скорее разъедутся в обратные стороны. Судя по теории.
Сейчс провел эксперимент на мобильных телефонах - действительно, оба
отъезжают от точки столкновения назад :)

Павел не ожидал.... Чес слово. В бильярд играл?
А насчет, того, что вы мне наговорили про атомную физику... во-первЫх, я всего в десятом классе, во вторЫх, получится в итоге 2-3 формулы, просто надо знать их содержание ;)

АФ только для примера столкновений частиц, подойдет вполне обычная механика. 1 ответ полностью исчерпывает твой вопрос.

Ответить

Номер ответа: 10
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #10
Добавлено: 23.11.05 19:41
Играл.

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

Хотя конечно мгут быть варианты воздействий, при которых один остановится, а другой получит весь импульс от первого.

Ответить

Номер ответа: 11
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #11
Добавлено: 23.11.05 19:46
Путём эксперимента на юбилейных 10-рублёвых монетах выяснил, что упоменутый тобой случай наблюдается лишь если один предмет находится в неподвижном положении и ему в лоб ударяет другой. Если движутся оба - такого не произойдет.

Ответить

Номер ответа: 12
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #12
Добавлено: 23.11.05 22:19
Путём эксперимента на юбилейных 10-рублёвых монетах выяснил, что упоменутый тобой случай наблюдается лишь если один предмет находится в неподвижном положении и ему в лоб ударяет другой. Если движутся оба - такого не произойдет.

элементараная физика! Павел не позорься... или ты так шутишь?

А насчет, того, что вы мне наговорили про атомную физику... во-первЫх, я всего в десятом классе, во вторЫх, получится в итоге 2-3 формулы, просто надо знать их содержание ;)

совсем не две. уж поверь мне. у меня завтра экз по термеху.
я думаю ет оч непростая задача. тут нужно учитывать множество факторов: вес, скорость, угол атаки, etc.
предлагаю рассматривать все по оддельности а потом савокупить все случии

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 24.11.05 03:33
Сейчс провел эксперимент на мобильных телефонах
Я бился головой об стол :))
наблюдается лишь если один предмет находится в неподвижном положении и ему в лоб ударяет другой. Если движутся оба - такого не произойдет.
Это связано с тем, что статическое и динамическое трение сильно отличаются.

Ответить

Номер ответа: 14
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #14
Добавлено: 24.11.05 06:48
Когда я затрудняюсь что-то объяснить с помощью теории, я проверяю это на практике. Если теория расходится с практикой, то нафик такая теория?

Ответить

Номер ответа: 15
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #15 Добавлено: 24.11.05 13:21
Сам будешь писать - опухнешь. Тем более, на VB...
Вот-вот, поэтому я сюда и обратился

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам