Как отобразить планеты солнечной системы в масштабе? - PullRequest
1 голос
/ 04 марта 2011

Я должен сделать солнечную систему в openGL. Проблема в том, что реальные расстояния и размеры планет настолько различны, что их трудно нарисовать. Я думал, что должен быть какой-то способ «сжать» ряд чисел, чтобы числа стали ближе, но их относительные различия остались прежними. Так, например, на одном конце шкалы числа будут такими, какими они были, на другом конце шкалы все числа сходились бы по одному значению. Я знаю, что это всего лишь случай масштабирования, а затем сложения / вычитания суммы, но не знаю, как поступить.

1 Ответ

2 голосов
/ 04 марта 2011

Вы только что описали логарифмическую шкалу .

Я не уверен, что это лучший вариант здесь.Лучшим вариантом было бы просто иметь хороший пользовательский интерфейс - рисовать планеты в масштабе с помощью какого-то визуального индикатора (скажем, полый зеленый круг или изображение с увеличительным стеклом) того, где находятся меньшие планетыявляются.Когда пользователь наводит указатель мыши на визуальный индикатор, увеличивает планету или увеличивает планету, когда щелкает по ней.

Или, дайте ему возможность увеличить масштаб колесом мыши.

Или, просто посмотрев на него, убедитесь, что меньшие планеты выглядят меньшими, в то время как большие планеты выглядят крупнее, с примечанием, что планеты не в масштабе.

Для справки, здесь - это типичное изображение из учебника, в котором планеты не масштабируются, в то время как это - то, на что они будут похожи в масштабе (планеты, по крайней мере, не их орбиты).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...