Здесь больше нет рекламы. Но могла бы быть, могла.


Ответ

Имя:
E-mail:
Тема:
Иконка сообщения:

подсказка: нажмите alt+s для отправки или alt+p для предварительного просмотра сообщения


Сообщения в этой теме

Автор: Мумр
« : 11/12/2007, 00:05:26 »

Злостный оффтопик
Не совсем оффтоп: Кто здесь читал "Missle Gap" Чарльза Стросса? Там инопланетяне сделали из Земли двухмерную карту...
Автор: Mrrl
« : 10/12/2007, 23:48:29 »

Кстати, да - гибрид всего перечисленного:

Берем икосаэдр. Ориентируем вершиной к полюсу. Поверхность заполняем шариками (кружочками) одинакового размера: по шарику в вершине, по n-1 шарику на каждом ребре, еще по (n-1)*(n-2)/2 на каждой грани. После проектирования на сферу получаем, что между широтами -30 и +30 у нас сетка из шестиугольников (по 5*n на каждой полосе, всего n-1 полоса), по широтам -30 и +30 проходит полоса из 5*n-5 шестиугольников и 5 пятиугольников, в каждой из следующих полос ближе к полюсам - на 5 клеток меньше, чем на предыдущей (все 6-угольные). На полюсах - 5-угольники. Итого примерно 10*n^2 клеток.

  Следить за такой картой не слишком сложно.
Автор: Mrrl
« : 10/12/2007, 23:36:01 »

Правильных многогранников слишком мало. Равногранных тоже: максимум - 120 треугольников. Так что если хочется больше, то однородным он уже не окажется. Я бы мучал футбольный мячик (нулевой уровень - усеченный икосаэдр, дальше надо дробить и поворачивать шестиугольники). А если подойдут треугольные ячейки, то взять икосаэдр и разрезать каждую грань на n^2 треугольников. Но для игры эта структура не очень годится.
Автор: Мёнин
« : 10/12/2007, 23:15:39 »

Цитировать
Я бы сделал набор "псевдошестиугольных" клеток, число которых меняется в зависимости от модуля широты по почти линейному закону.
Я собирался пойти по этому пути, правда, начинал с квадратов, а потом представил скорее безразмерные клетки, фактически просто как бы точки на земной поверхности.
Надо будет подумать.

Цитировать
правильный многогранник.
Необязательно совсем правильный многогранник, можно просто равногранный.

Автор: Ночной Сторож
« : 10/12/2007, 23:11:03 »

Предполагается, что карта остаётся набором клеток, соединённых между собой переходами (иными словами - в высокой степени упорядоченный граф), соответствующими равным расстояниям.

1. "Естественный" с точки зрения и летающих, и ездящих ход - Я бы сделал набор "псевдошестиугольных" клеток, число которых меняется в зависимости от модуля широты по почти линейному закону.

2. Земля имеет форму чемодана - то есть прямоугольного параллелепипеда. Граней - шесть. Каждая из граней - проекция из центра соответствующего куска планеты. Вершины следует расположить в океанских глубинах. :)

3. Любой правильный многогранник. :)
Автор: Mrrl
« : 10/12/2007, 23:06:07 »

Начнем с того, что меркаторская карта не определяет направления пути - она сохраняет только углы (а значит, и форму малых объектов). Это весьма удобно, что известно всякому пользователю Google Earth, но при реализации проблем не оберешься. Хотя... формула для расстояния может оказаться не слишком ужасной. Но экспоненты, косинусы и квадратные корни в ней точно будут.
  Что до направления - прямые на ней выглядят дугами (не знаю, дугами чего, но это не окружности. Синусоиды?), которые отклоняются от отрезка к полюсу (кратчайший путь из Сиэтла в Москву пересекает Полярный круг).
  Модель хочется дискретной? Самое круглое, что можно собрать из шестиугольников - нечто вроде футбольного мяча, с 12 пятиугольными "дырками" (недоступными клетками?). Из квадратов ничего круглее куба (с 8 недоступными вершинами, где сходятся 3 квадрата вместо четырех), скорее всего, не получится. Можно покрыть куб косыми квадратами, тогда недоступны будут 8 треугольных клеток.
Автор: Мёнин
« : 10/12/2007, 22:41:23 »

Проще всего, конечно, моделировать сеткой, не важно, квадратной или шестиугольной, кусок планеты, на котором скругление к полюсам ещё не заметно.
Но модель самой планеты уже не оказывается точной.

В играх класса Civilization используется в той или иной форме модель цилиндрической планеты. "Для игры сойдёт", но несоответствие её реальной карте ужасно.

Интересной моделью является меркаторская карта, она правильно определяет направление пути. Но, к сожалению, не расстояние.

Как можно сделать наиболее реалистичную и наименее сложную модель?

Предполагается, что карта остаётся набором клеток, соединённых между собой переходами (иными словами - в высокой степени упорядоченный граф), соответствующими равным расстояниям.