![]() |
|
Модераторы: Rickert |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
Планирую один проектик, в котором будет "карта местности". Проблем нет, но чем больше участников, тем больше должна быть карта.
Вопрос в следующем: как можно построить карту, которая теоретически не будет иметь границ и как определять на ней координаты? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Есть два варианта: либо генерируешь карту согласно какой либо функции, которая тебе возвращает трехмерные координаты. Идешь по данной функции с заданным шагом по x и по y.
Второй вариант, если карта уже есть то подгружаешь только те области которые ближе всего к пользователю. И выгружаешь из памяти те сектора которые уже не нужны, разумеется предварительно уже готовую карту нужно разбить на сектора самому, либо согласно алгоритму. А так с бесконечностью могут возьникнуть проблемы, так как все типы используемые в нутри программы имеют максимальные значения и за них ты ни как не выйдешь --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
| CrashedZero |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.12.2005 Репутация: нет Всего: нет |
Проще всего генерировать карту на ходу, исходя из кол - ва "живущих" на этой карте. Генерировать либо случайным образом, либо по картам, либо ещё как - то.
|
|||
|
||||
| Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Тут ты прав, я просто не внимательно прочитал вопрос. Проще генерировать карту из отдельных маленьких кусочков, а как выбирать эти кусочке выбирать тебе. --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
допустим
- есть первый человек. У него сгенерилась карта 11х11 - если появляется новый человек или первый человек доходит до границы, то генериться рядом ещё одна карта 11х11 - если ширина (длина) достигает N, то генериться карта 11х11, но следующего уровня В конечном итоге, получается что с карты, грубо говоря, можно уйти в 4 стороны. Но с каждым уровнем их количество увеличивается на 4 и как тогда их нумеровать (считать, учитыват, ориентироваться в них)? вот картинка моего видения Присоединённый файл ( Кол-во скачиваний: 40 )
map.gif 3,66 Kb-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Карту, которая была изначальной можно считать за 0:0, если у тебя карта еще трехмерная то её можно считать за 0:0:0 --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
примерно понял
если будут ещё варианты, буду ждать с нетерпением -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
А нельзя сделать карты в виде шарика (Земля) ?
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
В этом случае неминуемо возникнет проблема с выбором оптимальной проекции: шарик он круглый, а карты плоские. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
Разные шарики тут не причем. Проблема в том, что ты проецируешь плоский чертеж на кривую поверхность. Попробуй в уме начни раскладывать карты на поверхности шарика: одна-к-одной, одна-к-одной, как кирпичики. Вдоль экватора все будет замечательно, т.к. погрешности незначительны. Но если ты наченшь двигаться к полюсу, то тут начнутся всяческие накладки. Возможно автору это совсем не критично, но проблема выбора проекции карты как таковая есть. |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: нет Всего: 71 |
вообще-то у меня две мысли.. Это "бесконечная" карта (одна земля) и "шарики и перходами (грубо говоря вселенная). Пока остановился на первой... хотя вторая заманчивее для игрушки
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
DENNN, можно сферу вытянуть из куба. Разбиваем каждую грань на NxN квадратиков одинакового размера и вытягиваем грани так, чтобы получилась сфера. С развёрткой куба работать достаточно просто, а искажения проявляются только у рёбер куба.
-------------------- ![]() |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 3 Всего: 43 |
mr.DUDA
Это не причем. Я говрил о проблемах вычисления координат соседней точки, если она попадает на соседнюю карту. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
А я о том, что если карты представлять себе как квадратики на гранях куба, никаких проблем с переходами между картами не будет. Координата точки слагается из номера грани, номера квадратика на грани, и позиции по x и y внутри квадратика грани. -------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |