Единицы измерения расстояний и их обоснование.

P.S. К сожалению, в данном блоге постятся только записи блога с сайта игры. Все остальные появляющиеся материалы я, к сожалению, переносить сюда не имею возможности. Так что не обессудьте, если не поймете что за запись в блоге и к чему она.

Описание единиц измерения в игре и их обоснование.

В игре будут применяться следующие единицы измерения расстояний:

1 ае = 150 000 000 км

1 свг = 9 486 000 000 000 000 км = 63240 ае

1 пк = 30 924 360 000 000 000км = 206 163 ае = 3,26 свг

1 ае = 1,58хЕ-5 свг = 4,85хЕ-6 пк

Сразу оговорюсь, что они отличаются от реальных своих значений. Ненамного, но отличаются. Для удобства оперирования ими.


Парсек (сокращённо пк) — распространённая в астрономии внесистемная единица измерения расстояния. Название происходит от параллакс угловой секунды и обозначает расстояние до объекта, годичный тригонометрический параллакс которого равен одной угловой секунде. Согласно другому эквивалентному определению, парсек — это такое расстояние, с которого средний радиус земной орбиты (равный 1 а. е.), перпендикулярный лучу зрения, виден под углом 1?.

1 пк = а. е. = 206 265 а. е. = 3,08568?1016 м = 30,8568 Пм (петаметров) = 3,2616 световых лет. Используются также кратные единицы: килопарсек (кпк), мегапарсек (Мпк) и гигапарсек (Гпк).


1 астрономическая единица составляет 4,85?10?6 парсек; По состоянию на ноябрь 2005, космический аппарат «Вояджер-1» находится на расстоянии от Солнца 0,00047 пк.; Диаметр облака Оорта около 0,6 пк.; Расстояние от Солнца до ближайшей звезды (Проксима Центавра) составляет примерно 1,3 парсека; Расстояние до центра нашей Галактики — около 8 килопарсек, диаметр Галактики приблизительно 30 кпк.; Расстояние до туманности Андромеды 0,77 мегапарсек; Ближайшее крупное скопление галактик, скопление Девы, находится на расстоянии 18 Мпк.; До горизонта наблюдаемой Вселенной — около 4 Гпк.


Световой год (св. г., ly) — внесистемная единица длины (а не времени!), равная расстоянию, которое преодолевает свет за год. Более точно, это расстояние, которое проходит фотон в вакууме, не испытывая влияния гравитационных полей, за один тропический год, отнесённый к эпохе 1900,0 (он равен по определению 31 556 925,9747 секунды СИ; см. также Эфемеридное время). Учитывая, что скорость света в вакууме равна в точности 299 792 458 м/с, можно посчитать, что световой год равен точно 9 460 528 177 426,82 км (то есть примерно 9,5 триллионов километров). Данное определение является наиболее распространённым, но наряду с ним существуют также другие определения светового года, основывающиеся на другой продолжительности года (поскольку различных, слегка отличающихся друг от друга определений года существует несколько); так, если принять юлианский год (365,25 стандартных суток по 86 400 секунд СИ), то световой год равен 9 460 730 472 580,8 км, что отличается от первого определения на 0,002 %. Поэтому для точных измерений расстояния световой год применять нельзя, если заранее не договориться, на какой именно продолжительности года основывается данная единица длины. Однако это уточнение маловажно в связи с не слишком высокой точностью определения расстояний до внесолнечных объектов, где обычно и используется эта единица длины.

Световой год, наравне с парсеком, применяется в качестве единицы измерения расстояния между удалёнными астрономическими объектами. Например, расстояние до ближайшей к Солнцу звезды, Проксимы Центавра, составляет 4,22 световых года. Расстояние даже до ближайших к Млечному Пути галактик (кроме нескольких галактик местной группы) измеряется уже миллионами световых лет.

1 световой год = 9 460 528 404 879 358 812,6 м (ровно) ? 9,4605 Пм (петаметров) ? 63240 а. е. ? 0,3066 пк Для измерения расстояний внутри планетных систем иногда используют единицы световая секунда и световая минута, равные соответственно расстояниям, которые свет в вакууме проходит за 1 с и 1 мин. (то есть в точности 299 792 458 м и 17 987 547 480 м).


Астрономическая единица с хорошей точностью равна 500 световым секундам, то есть свет доходит от Солнца до Земли примерно за 500 секунд.


Астрономическая единица (а. е.) — исторически сложившаяся единица измерения расстояний в астрономии, равная 149 597 870±2 км. Астрономическая единица приблизительно равна среднему расстоянию между Землёй и Солнцем (большая полуось орбиты Земли равна 1,000 000 230 а.е.).

Применяется в основном для измерения расстояний между объектами Солнечной системы, а также между компонентами двойных звёзд.

Последняя правка: пн, 08/12/2008 - 02:07
Submitted by BlackCat on

Комментарии

Хм...полезная инфа для тех, кто хочет написать космосим.)

Submitted by kuler on

Проблема в космосимах в том что отрисовывать это всё приходится во флоатах с разрядностью 8-9, вот тут и возникают проблемы которые в большинстве решаются тупо разбиением уровней на области 10 км не более, иначе погрешность отрисовки сразу будет страдать. Здесь много вариантов, дабл спасает (путём отрисовки обьектов в ЛСК камеры) но скоро его не будет хватать, например на земной шар дабла вполне хватает, а если расстояния больше земных то уже финиш Lol нада уже ломать голову. То что предложено выше это не решение проблемы а просто масштабы, точности это не добавит Smile может у кого есть идеи как добавить именно точности ?

Submitted by Relyer on

Это надо если ты хочешь сделать СИМУЛЯТОР. Где действительно космические растояния. Вообщем-то для обычного космосима, не претендующего на звание СИМУЛЯТОРА, достаточно условностей. Скажем Сфера ,радиусом равным числу N, это галактика. Так вот игрока не волнует то, что значение размера галлактики не совсем точное или вовсе не соответствует правде. Тут задача разработчика заключается в том что бы красиво обмануть игрока, создать иллюзию огромных космических расстояний. Ну, даже если среди игроков подвернётся парочка астраномов, то я не думаю что их гневные отзывы на формумах о несоответсвии размеров галактики сильно подарвут рейтинг игры.

Submitted by kuler on

Здесь все просто - берется сфера радиуса Рпв (радиус прямой видимости) - тут считается все по-честному. Далее берется сфера Ро (радиус обнаружаемости) - там считаются действия других игроков, а текущему просто округленные значения сбрасываются, потому как он все равно их не видит. И есть сфера Рн (радиус недоступности). Оттуда игроку вообще ничего не показывается. Разве что при каком-нить глубоком зондировании, и все равно, значения там округляются до значений Ро, не больше. Т.е. по сути дела очень похоже на систему LOD'ов.

Submitted by BlackCat on
Вы всётаки не поняли меня, то о чём я говорил , ладно распишу на пальцах Wink

Итак тупо возьмём 2 планеты, со стартовой площадкой :), получаем сцену, но у сцены должна быть система координат общая если мы хотим как-то взаимодействовать с этими обьектами (планетами).
Выбираем точку отсчёта, центр координат допустим ровно лежит между этими планетами. Берем 2 планеты, например землю и марс, расстояние между планетами 56 до 101 млн.км, для нормальной визуализации этой системы нам нужна дискретность допустим в 1мм (чтобы обекты двигались без дёрганий). => чтобы отобразить эту систему надо XXX.XXX.XXX,XXX.XXX разрядность (1км = 1.000.000мм)

float разрядность 8 тоесть XX.XXX.XXX, с плавающей запятой
(тоесть флоат может хранить 56.789.123, км или 23,456.789 км но не 56.789.123,456.789 км )

Здесь могут помочь вычисления с фиксированной точкой, может кто-то занимался подобным вопросом. Victory

Submitted by Relyer on

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

Submitted by Relyer on

Тут есть определенные нюансы играбельности. Скажем так, реагировать на скорости даже 8 км/с на события - значит сильно-сильно промахнуться... Так что с играбельностью все плохо становится.

А вот с размерами - не все так сложно. Не надо считать миллиметры. Это уже изврат. Вблизи достаточно считать дециметры. И все плавненько получается. К тому же в панде хитро сделано. Там есть два диапазона - от 0 до 1 и все что выше 1. Т.е. по сути разрядность повышается в два раза. А это уже ого-го. Как это реализовано - у меня не спрашивайте, я не знаю. Smile Но хочу пользоваться по полной программе. Smile

Submitted by BlackCat on

GameDev.by