如何根据数据点制作螺旋星系图像?

时间:2009-11-11 21:03:31

标签: ruby arrays graphics rmagick

我正在尝试使用Ruby将非常大的数组中的点绘制成图像。这样,阵列项目由适当颜色的点或点表示,并且点一起形成形状。由于点来自阵列,因此它们的颜色或位置不是随机的,所以我很困惑如何开始。

我想最终形成一个螺旋星系的形状,但只考虑上面的开头问题。后来这也会变得复杂,因为中间会有更多的点,外层,但再次无关紧要。我只是想知道如何首先开始使用我的数组项来根据数组项的颜色制作有序图像。

使用该初始图像,我可以将图像分割成图块,每个图块都可以点击,表示点的区域,最终允许我一次又一次地使用第一个过程来制作象限,然后用于太阳系等。

我不知道如何表示初始图像。

我正在使用Ruby和Rmagick库。如果有另一个软件包可供使用,或者甚至是另一个基于Linux的程序(cmd或gui)可以帮助制作这个初始图像,那将是一个很大的帮助。

由于

3 个答案:

答案 0 :(得分:1)

尝试删除我的评论...让我删除它stackoverflow

答案 1 :(得分:0)

如果您已经设法启动并运行RMagick,我建议您使用它的SVG功能。 This snippet will help

所以现在你有一个2D画布,你将以给定的尺寸创建。

您的数组必须以某种形式或其他形式包含点必须去向的几何表示。你需要一个转换函数,从你的表示(我假设是一个代表真实宇宙的坐标系,可能是3D)缩放成一个给定视点的二维东西。如果您已经有2D绘图坐标,那么简单的缩放就足够了。

您应该会发现大多数2D图形库都提供内置的缩放功能。在许多情况下,您可以在真实的坐标系中工作,并且可以使图形引擎相应缩小。

答案 2 :(得分:0)

感谢。该片段将椭圆作为一种方法,它可能与我开箱即用的2D星系一样接近。因此,银河系很容易成为圆形核心,具有多个椭圆环,然后是最后一个椭圆的一些曲线。甜。

坐标系是订单的一个基础,但对于flex我不需要特定的坐标,只需要顺序,就像DNA链一样。但是我的坐标会很好。

但是说我希望/ Pictures目录像长颈鹿一样。我没有长颈鹿的坐标,但是如果我画了一个,我想用目录列表的顺序,沿着图像线的轨迹用我拥有的图片来塑造它。

我会玩一下。