Тригонометрия :о(

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Тригонометрия :о(

Сообщение GB826 » 08.08.2005 (Пн) 0:02

Привет. Я делаю простенькую игру, и проблемы с ездой "на все 4 стороны", а точнее на 360.

Есть 4 параметра
Rotation (УГОЛ ПОВОРОТА объекта)
X
Y
Speed (скорость объекта)

Как многие уже догадались, надо рассчитать значение новые X и Y в зависимости от текущих X,Y, Rotation и Speed

Не дружу я с синусамии и косинусами :о((
Помогите...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.08.2005 (Пн) 3:05

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

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 08.08.2005 (Пн) 10:30

Не понял сути проблемы.
Для начала дополни, при каких событиях в игре у тебя изменяется траектория: столкновение с препятствием, управление игрока или что еще?

Если столкновение с препятствием, тогда расчитывай, что угол падения равен углу отражения (как в оптике), при условии что не накладывается вращение. Упругость удара и трение задается простым коэфициентом <>1 (чаще всего <1, т.е. равнозамедленное движение), на который умножается значение скорости.

Если действие игрока, так тебе вообще практически нихрена расчитывать не надо, разве самую малость.
просто учти, что cos - это изменение координаты Y (проекции скорости на оси), а sin - координаты X.
Вместо угла поворота, иногда можно использовать две величины: dX, dY.
тогда у тебя получится не 4, а пять величин:
скорость объекта - V
его текущие координаты - X, Y
и приращения координат - dX, dY (которые могут быть и отрицательные и как раз характеризуют направление движения)

Короче, хочешь рекомендации, давай подробнее про игрульку.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 08.08.2005 (Пн) 16:00

А разве dX и dY, не придется рассчитывать? Какая разница какое событие произошло?

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

Физика мне не нужна: трение, гравитация, инерция и т.п.

только две формулы...

ЗЫ. Последую шаманскому совету... Тем более я слукавил насчет не дружу... просто это одна из мертвых для меня тем. :о))

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.08.2005 (Пн) 16:35

Вот пара моих демок:
http://www.gamedev.ru/download/?id=807
http://www.gamedev.ru/download/?id=810
Это на GameDev.ru, возможно придется регистрироваться, чтобы скачать. Это именно движение машины в 2D с исходниками на VB.

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 08.08.2005 (Пн) 23:50

Ой, спасибо. Забавно, но исходник c машинкой я уже видел полгода назад...

ЗЫ. Ой спасибо!
ЗЗЫ см. ЗЫ


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 135

    TopList