Цитата Сообщение от Garik710 Посмотреть сообщение
Не поделитесь секретом, как вычислять вершины в таком шаре, или ссылочкой, где это описывается.
Начал с тех 12 вершин, которые будут пятиугольными тайлами. Их координаты вычисляются как координаты четырех углов трех "золотых" прямоугольников. (см икосаэдр: http://ru.wikipedia.org/wiki/%D0%98%...8D%D0%B4%D1%80, золотые прямоугольники http://www.opengl.org.ru/books/opengl1_402.html) Дальше брал вершины по три штуки, такие, чтобы образовывали грань икосаэдра, и достраивал до нужной мне сетки. Там сложновато, много констант, которые определяют законы разбиения. Но если попробовать разбить ручками несколько раз, приходит ясность.
Цитата Сообщение от Garik710 Посмотреть сообщение

И ещё, как создать алгоритм поиска кратчайших путей на такой карте?
После того, как для каждого тайла известны его соседи, можно использовать алгоритм "A*" (http://ru.wikipedia.org/wiki/%D0%90%...D0%BA%D0%B0_A*). Суть такова: из пункта А в пункт Б попадаем не более чем N шагов, где N -- общее количество тайлов. Для начала распихаем во все тайлы число N как количество шагов, необходимых для достижения пункта А. Потом вспомним, что из пункта А в пункт А шагов не надо, и поместим в А число 0. Далее цикл, пока есть изменения. Для внесения изменения берем каждый тайл и смотрим его соседей. Для всех соседей вычисляем минимум шагов, записанных в тайле, пусть это M. Если в самом тайле (центральном, который сейчас меняем) число больше, чем (M+1), записываем в тайл число M+1 и фиксируем факт, что есть изменение. Напоминаю, внешний цикл идет пока есть изменения. Как только после очередного просмотра изменений нет, выходим из цикла и строим путь из пункта Б в пункт А. Для этого берем число шагов пункта Б, вычитаем 1 и ищем соседа, у которого число шагов в точности равно этому значению. Переходим в этого соседа, уменьшаем число шагов на 1 и снова ищем соседа. Сосед с числом шагов 0 и будет пунктом А.