Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инициализация дороги 
:(
    Опции темы
Никто
Дата 17.6.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Подскажите,как происходит инициализация дороги 2D гонок. 
--------------------
   
PM MAIL   Вверх
arilou
Дата 17.6.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата(Никто @  17.6.2006,  11:26 Найти цитируемый пост)
Подскажите,как происходит инициализация дороги 2D гонок. 

Поясни вопрос, что имеется ввиду под "инициализация дороги" 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Никто
Дата 17.6.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Я имею в виду определение границ,где машина может ехать,а где нет.Я думаю сделать битовую матрицу,но как определить находжение возле стенки.Ведь дорога не прямоугольная,она может изменяться на протяжении под любым углом.Кроме того,могут попадаться закругленные области. 
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 17.6.2006, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



Ну тут нужен целый алгоритм... 
Я бы наверное задал глобальную СК и локальную СК, так чтобы 1 клетка глобальной - была 100 на 100 в локальной и тогда просто по координатам прощитывал + если дорога наклонная, что матричное уравнение плоскости заюзал бы... 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 17.6.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Что такое СК. 
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 17.6.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



СК - система кооринат 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 18.6.2006, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Что-то похожее и я думал.Только я хотел разбить дорогу на 10 на 10,и каждой значение bool.Если 0,то ехать может.Если 1,то делается ссылка на другую матрицу типа структура.В ней указывается сплошная это область или нет,координаты дороги внизу и вверху. 
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 18.6.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



Ну можно наверное и так... Я бы просто всю дорогу представил в виде матрицу типа boolean и перед каждым перемещением простичывал - если движение на позицию возможно, то двигатся, если невозможно - то столкновение... 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 19.6.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Просто в таком случае дорога может получиться квадратной. 
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 19.6.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



почему же... я же сказал - разбиваешь дорогу на квадраты и каждый еще на 100х100 частей и все... одно движение машины - это скажем 20 клеток в квадрает, а там уже с помощью функций тригонометрический задавай любое направление и все супер будет... 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 19.6.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Чего-то я не понял,наверное,мне на пальцах надо показывать. smile  
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 20.6.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



Ну есть у тебя карта. Машина занимает скажем 4 клетки - тоесть 4*100 клеток в мини карте (это надеюсь понятно). Нужно просчитать положение переднего колеса. Чтобы получить координаты X и Y колеса нужно воспользоватся поростейшей тригонометрией. Берем X-текущее и X-новое будет равно:
X-новое=X-текущее+cosA*ПЕРЕМЕЩЕНИЕ
A - это угол нашего поворота (это в том случае если машине находится в положении НЕ перпендикулярном нашим осям координат)
ПЕРЕМЕЩЕНИЕ - константа или скажем переменная, отвечающая за скорость машины, я бы взял для начала скажем равную 20. 
Вот и все. Если не понятно скажи я нарисую )) 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 21.6.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



Да я вообще-то не то имел в виду,я говорил о том,как записать карту в файл или еще куда,то есть ее описать. smile  
--------------------
   
PM MAIL   Вверх
DragonFire
Дата 21.6.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 14.8.2005
Где: Москва

Репутация: 5
Всего: 9



Я бы сделал так:
Код

const
 MapSize=20 (к примеру)
type
 TPartMap=array[1..99,1..99] of Boolean;
 TMap=array[0..MapSiza] of TPartMap;
var
 Map:TMap;
....
prosedure SaveMap(FileName:ShortString,Map:TMap);
var f:File of TMap;
begin
 assignfile(f,Filename);
 rewrite(f);
 wrile(f,Map);
 closefile(f);
end;

function LoadMap(FileName:ShortString):TMap;
var f:File of TMap;
begin
 assignfile(f,Filename);
 reset(f);
 read(f,Result);
 closefile(f);
end;

Вот и все вроде.. 


--------------------
PM MAIL ICQ   Вверх
Никто
Дата 21.6.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 21.3.2006

Репутация: нет
Всего: нет



OK,спасибо,понял. 
--------------------
   
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.0516 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.