开发者

How to display the planets of the solar system to scale?

I have to make the solar system in openGL. The problem is that actual planet distances and sizes are so different that its difficult to draw. I was thinking there must be some way of 'compressing' a series of numbers so that the numbers become closer but their relative differences remain the same. So for instance on one end of the scale the numbers would be as they we开发者_如何学Pythonre, on the other end of the scale all the numbers would have converged on the same value. I know this is just a case of scaling and then adding/subtracting an amount but not sure how to proceed.


What you just described is a logrithmic scale.

I'm not sure if that's the best option here though. A better option would be simply having a good UI - draw the planets to scale, with some sort of visual-indicator (say, a hollow green circle; or a picture of magnifying glass) of where the smaller planets are. When the user hovers the mouse over the visual-indicator, enlarge the planet, or zoom in on the planet when they click on it.

Or, give them the option to zoom-in with the mouse-wheel.

Or, simply eyeball it, making sure smaller planets look smaller while larger planets look larger, with a note that the planets are not to scale.

For reference, here is a typical textbook image, with the planets not to scale, while this is what they would look like to scale (the planets, at least, not their orbits).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜