Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 05.07.2007, 13:58   #1
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
физика движения авто по прямой

Вот значит, решил я тут на досуге перевести статью с геймдева на блитц(как наверное и многие здесь). Все вроде бы ничего, машинка(кубик) движется вперед, останавливается когда не газуешь, но:
1)Машина может до бесконечности ускорится, хотя максимальная скорость в этом случае должна сама автоматически определится, т к сила тяги и силы сопротивления должны уравновесится. Я грешу на то, что я не правильно указал единичный вектор
Ftraction = u * Engineforce, 
где u - единичный вектор в направлении движения автомобиля.
и вектор скорости
Fdrag = - Cdrag * v * |v|  
где Cdrag константа, v - вектор скорости и |v| - модуль вектора v, являющийся длиной вектора v.
Как определить этот вектор? В чем различие между един.вектором и вектором скорости?

Вроде бы вектор - это отрезок начинающийся из (0,0,0) и заканчивающийся в (x,y,z), т е вектор задается лишь координатами его конца. Единичный вектор задается лишь направлением. Так как же мне узнать направление вектора?

2)Еще когда я не давлю на газ то силы сопротивления совсем не уравновешивают силу тяги , а просто отнимаются и машина начинает постепенно ускорятся в обратную сторону. Но думаю это само-собой решится когда я разберусь с вопросом №1.

Конечно я понимаю что решение может быть очень простое и я сам мог бы допереть до него, но вот не могу и все тут,поэтому я прошу помочь мне.

В аттаче все что на данный момент у меня есть.
(Offline)
 
Ответить с цитированием
Старый 05.07.2007, 15:26   #2
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: физика движения авто по прямой

Зачем вычесляется Fraction, если значение нигде не используется? Вообще-то у тебя в U не единичный вектор, а черт знает что. Координаты вектора определяются разностью координат двух точек, причем первая не обязательно находится в начале координат. Можно, конечно, преположить, что первая точка находится в начале координат. Но тогда
U#=Sqr(ex#^2+ey#^2+ez#^2)
Это длина вектора. Единичный вектор должен иметь три координаты:
len = sqr(ex^2 + ey^2 + ez^2)

Ux = ex / len
Uy = ey / len
Uz = ez / len
А Fraction тогда должна задаваться скалярным произведением:
Fraction = Ux * EngineForceX + Uy * EngineForceY + Uz * EngineForceZ
или
Fraction = EngineForce * cos(угол между U и EngineForce)
Лучше приведи ссылку на оригинальную статью, чтобы можно было разобраться.
(Offline)
 
Ответить с цитированием
Старый 05.07.2007, 15:34   #3
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: физика движения авто по прямой

У меня Ftraction используется при суммировании сил - Flong.
Вот ссылка:http://www.gamedev.ru/articles/?id=70108
(Offline)
 
Ответить с цитированием
Старый 05.07.2007, 19:03   #4
alcoSHoLiK
Дэвелопер
 
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений
(для 110 пользователей)
Re: физика движения авто по прямой

Набросок на скорую руку. Я бы посоветовал начать с чего-нибудь полегче, если ты в векторах запутался)
(Offline)
 
Ответить с цитированием
Старый 05.07.2007, 19:33   #5
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: физика движения авто по прямой

Спасибо. Я подумаю над твоим советом.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт с определением движения кости CRASHER 3D Моделирование 2 16.10.2009 20:45
? Авто scale НубеГ 3D-программирование 2 31.07.2008 16:54
Как по координатам двух точек найти ф-ю прямой? ABTOMAT Математика 3 11.12.2007 15:06
Авто ZanoZa 3D Моделирование 6 24.12.2005 19:32
движения - die! jimon Болтовня 5 07.09.2005 23:55


Часовой пояс GMT +4, время: 05:12.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com