Умные вопросы
Войти
Регистрация
Чисто теоретически, в компьютерной игре можно сделать вселенную по размерам большую, чем наша реальная?
Считаем. Размеры игровой вселенной ограничены лишь переменной 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 мкм. Разумется речь идет только о расстояниях, ибо ни у одного компа памяти не хватит переваривать геометрию и текстуры в такой вселенной. Я не ошибся в расчетах?
7 года
назад
от
костя9350
3 Ответы
▲
▼
0
голосов
Какой-то бред. Если честно.
У тебя "вселенная" уместилась в ограничение символов на "Ответах", "чисто теоретически" можно было бы и больше. если принять не метры, а КИЛОметры. или мили. или.
7 года
назад
от
Руслан Алексеев
▲
▼
0
голосов
Нет, неверно. Существует такая штука - вещественная арифметика с произвольной точностью (arbitrary-precision arithmetic) . При её использовании размерность данных ограничена только памятью.
Но даже без неё размерность модели можно увеличить, если ввести дополнительные псевдокординаты. Самый простой пример - шахматная доска, каждая клетка которой опять-таки размечена как шахматная доска. И кординаты имеют вид [a1; e2] - находим клетку a1, а потом унутре ея ищем e2.
7 года
назад
от
борис фишкис
▲
▼
0
голосов
Ошиблись . И не один раз.
1. Как уже написали в одном из ответов, размерность чисел ограничена лишь памятью компьютера и количеством объектов на сцене (которые между собой и делят эту память) . Значит, если загнать в сцену 1 000 000 объектов, то и размер вселенной придётся уменьшить в 1000000^3 = 10^18 раз.
2. Даже если Вы возьмёте не float, а double, то Вы не сможете достигнуть точности в 39 десятичных знаков, ведь для этого надо больше чем 117 двоичных, а размер double всего 64 бита . Даже у double точности хватит только на числа вдвое короче заявленного (разумется это никак не влияет на максимальное значение, просто ближайше число к максимальному, которое Вы можете записать во float, будет меньше не на 1, как Вы ожидаете, а на значение где-то с 20-ью ноликами)
Ну а на основании этих двух ошибок все остальные расчёты просто теряют смысл, потому что ни одно число боле не является верным .
7 года
назад
от
Andre Silva
Связанные вопросы
1
ответ
Чем человек "лучше" животного?
10 года
назад
от
Анна Соколова
1
ответ
Почему, что ни спроси, ответов либо нет, либо никак, нельзя, не допускается, не получится, что особо радует, "не делают"
4 года
назад
от
Nikolay Kirilyuk
2
ответов
статическое электричество возникает в чистой воде?
5 года
назад
от
Сергей Белов