Показать сообщение отдельно
Старый 23.03.2013, 19:11   #10
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Моделирование сферического игрового пространства (планета)

Сообщение от h1dd3n Посмотреть сообщение
*** скрытый текст ***
Гугл ничего на лету не генерирует. Представь что человек открыл гугл карты и нашел Лондон. Площадь Лондона - 1700кв. км. учитывая их точность каждый кв. км будет примерно 5000х5000 px. В итоге гуглу надо на лету отрендерить 1700кв.км по 25кк пикселей, то есть 42'500'000'000. На лету. И это только 1 человеку... Гугл бы сдох уже завно. Все растры (и 90% векторных карт) тайлятся и кэшируются. В итоге их js карты просто вычисляют какие тайлы нужны для заполнения вьюпорта, и загружают их.
Опровергаю. Во первых смотрел презентацию от самих Google которые рассказывали всю историю их алгоритмов, что они раньше кешировали, а сейчас снова генерируют всё на лету динамически.
Подтверждение этому, простая туулза для кастомизации вида карты:
http://gmaps-samples-v3.googlecode.c...ard/index.html
Заметь, тут можно изменить визуальный аспект любого элемента, текста и т.п. карты. Также текст локализируется тоже динамически и рендерится в карту.
Что подтверждает динамичность генерации. Без неё было бы очень сложно иметь такое разнообразие в картах.
Также вот почитай тут: http://www.theatlantic.com/technolog...ything/261913/

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


Сообщение от h1dd3n Посмотреть сообщение
Вся математика в системе координат "долгота/широта" очень проста. Это же простой эллипсоид и углы. Там все в пределах синуса и косинуса.
http://en.wikipedia.org/wiki/Haversine_formula
http://www.movable-type.co.uk/scripts/latlong.html
Я об этом уже писал. И знаю что это просто. Только это не даёт возможности удобно делать вычисления.
Например у тебя есть турель на здании, далее идёт моб, и турель нужно с определённой скоростью повернуть на моба.
В представлении X, Y, Z и плоского мира - это элементарно просто, вектор - и крутим его.
А вот имея Прямоугольные координаты, по сути вычислений ничего не меняется, Но, чтобы вычислить например горизонтальный поворот относительно плоскости земли - нужно делать дополнительные вычисления.
Следственно работать с сферическими или прямоугольными данными напрямую - не удобно ни в каком случае.

Сообщение от h1dd3n Посмотреть сообщение
Проекция на плоскость совсем другое дело.
http://ru.wikipedia.org/wiki/%D0%9A%...86.D0.B8.D0.B8
Изначально самой удобной проекция была проекция меркатора т.к. она сохраняет углы, а значит удобна для навигации (мореплавателям например). На сегодняшний день ничего лучше толком не придумали (и не придумают), только сделали несколько уточнений о форме земного шара (т.к. это не шар и даже не эллипсоид вовсе). В Роиссе например используются т.к. называемые местные ск. Для каждого региона местные органы самоуправления определяют систему координат. Эти системы координат являются произвольными и как правило одна система координат определяется для кусочка в 3 градуса долготы. Таким образом получается проекция этого кусочка на плоскость, при этом она с математической точки зрения не сохраняет ни углы ни площади, но значения проекции подобраны так, что по карте можно вычислять и углы и площади с определенной точностью (то есть погрешность будет, но она в допустимых пределах).
В том и проблема.
Проекцированная планета на плоскость по существующим методам - никак не подходит для игрового пространства, т.к. искажает всё, что под разным углом обзора и т.п. будет визуализировать данные с искажениями в пространстве.

Сообщение от h1dd3n Посмотреть сообщение
Для игры вся эта геодезия нахрен не нужна.
Ну так замути на планетку, с машинками, дорогами, строениями и человечиками на ней.
И так чтобы можно было с ощущением плоскости поуправлять машинкой или человечком.
Я посмотрю как ты справишься, мы все поучимся.
(Offline)
 
Ответить с цитированием