![]() |
|
Модераторы: Rickert |
![]()
|
|
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Подскажите,как происходит инициализация дороги 2D гонок.
--------------------
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Поясни вопрос, что имеется ввиду под "инициализация дороги" |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Я имею в виду определение границ,где машина может ехать,а где нет.Я думаю сделать битовую матрицу,но как определить находжение возле стенки.Ведь дорога не прямоугольная,она может изменяться на протяжении под любым углом.Кроме того,могут попадаться закругленные области.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Ну тут нужен целый алгоритм...
Я бы наверное задал глобальную СК и локальную СК, так чтобы 1 клетка глобальной - была 100 на 100 в локальной и тогда просто по координатам прощитывал + если дорога наклонная, что матричное уравнение плоскости заюзал бы... |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Что такое СК.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
СК - система кооринат
|
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Что-то похожее и я думал.Только я хотел разбить дорогу на 10 на 10,и каждой значение bool.Если 0,то ехать может.Если 1,то делается ссылка на другую матрицу типа структура.В ней указывается сплошная это область или нет,координаты дороги внизу и вверху.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Ну можно наверное и так... Я бы просто всю дорогу представил в виде матрицу типа boolean и перед каждым перемещением простичывал - если движение на позицию возможно, то двигатся, если невозможно - то столкновение...
|
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Просто в таком случае дорога может получиться квадратной.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
почему же... я же сказал - разбиваешь дорогу на квадраты и каждый еще на 100х100 частей и все... одно движение машины - это скажем 20 клеток в квадрает, а там уже с помощью функций тригонометрический задавай любое направление и все супер будет...
|
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Чего-то я не понял,наверное,мне на пальцах надо показывать.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Ну есть у тебя карта. Машина занимает скажем 4 клетки - тоесть 4*100 клеток в мини карте (это надеюсь понятно). Нужно просчитать положение переднего колеса. Чтобы получить координаты X и Y колеса нужно воспользоватся поростейшей тригонометрией. Берем X-текущее и X-новое будет равно:
X-новое=X-текущее+cosA*ПЕРЕМЕЩЕНИЕ A - это угол нашего поворота (это в том случае если машине находится в положении НЕ перпендикулярном нашим осям координат) ПЕРЕМЕЩЕНИЕ - константа или скажем переменная, отвечающая за скорость машины, я бы взял для начала скажем равную 20. Вот и все. Если не понятно скажи я нарисую )) |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
Да я вообще-то не то имел в виду,я говорил о том,как записать карту в файл или еще куда,то есть ее описать.
--------------------
|
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Я бы сделал так:
Вот и все вроде.. |
|||
|
||||
| Никто |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 21.3.2006 Репутация: нет Всего: нет |
OK,спасибо,понял.
--------------------
|
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |