Чисто теоретически, в компьютерной игре можно сделать вселенную по размерам большую, чем наша реальная?

Считаем. Размеры игровой вселенной ограничены лишь переменной float. Верно? Которая может принимать значения от - 3. 402823*10^38 до + 3. 402823*10^38. Примем число 1. 0 - за 1 игровой метр. Т. е. мы можем проделать путь от одного конца игрового мира к другому, равный: 6. 805646*10^38 метров! Насколько это много? Ну к примеру разделим получившеся число, на количество метров в одном световом году.

6. 805646*10^38 / 9 460 80 * 10^10 = 71 935 206 325 046 507 694 909 световых лет!

А теперь вспомним, что наша вселенная имет диаметре чуть мене тридцати миллиардов световых лет.
Получается, что в теории, наши вычислительные мощности позволяют создать вселенную такого размера:

680 564 600 000 000 000 000 000 000 000 000 000 000 метров.

А если разделить это число на 100 или 10 000, то получим очень детализированную игровую вселенную где 1 ед. - это 1 мм или даже 1 мкм. Разумется речь идет только о расстояниях, ибо ни у одного компа памяти не хватит переваривать геометрию и текстуры в такой вселенной. Я не ошибся в расчетах?
6 года назад от костя9350

3 Ответы

0 голосов
Какой-то бред. Если честно.
У тебя "вселенная" уместилась в ограничение символов на "Ответах", "чисто теоретически" можно было бы и больше. если принять не метры, а КИЛОметры. или мили. или.
6 года назад от Руслан Алексеев
0 голосов
Нет, неверно. Существует такая штука - вещественная арифметика с произвольной точностью (arbitrary-precision arithmetic) . При её использовании размерность данных ограничена только памятью.

Но даже без неё размерность модели можно увеличить, если ввести дополнительные псевдокординаты. Самый простой пример - шахматная доска, каждая клетка которой опять-таки размечена как шахматная доска. И кординаты имеют вид [a1; e2] - находим клетку a1, а потом унутре ея ищем e2.
6 года назад от борис фишкис
0 голосов
Ошиблись . И не один раз.
1. Как уже написали в одном из ответов, размерность чисел ограничена лишь памятью компьютера и количеством объектов на сцене (которые между собой и делят эту память) . Значит, если загнать в сцену 1 000 000 объектов, то и размер вселенной придётся уменьшить в 1000000^3 = 10^18 раз.
2. Даже если Вы возьмёте не float, а double, то Вы не сможете достигнуть точности в 39 десятичных знаков, ведь для этого надо больше чем 117 двоичных, а размер double всего 64 бита . Даже у double точности хватит только на числа вдвое короче заявленного (разумется это никак не влияет на максимальное значение, просто ближайше число к максимальному, которое Вы можете записать во float, будет меньше не на 1, как Вы ожидаете, а на значение где-то с 20-ью ноликами)

Ну а на основании этих двух ошибок все остальные расчёты просто теряют смысл, потому что ни одно число боле не является верным .
6 года назад от Andre Silva

Связанные вопросы

1 ответ
2 ответов
4 года назад от евгений кондратьев