Как сделать изображение спиральной галактики на основе точек данных? - PullRequest
3 голосов
/ 12 ноября 2009

Я пытаюсь построить точки из очень большого массива в изображение, используя Ruby. Таким образом, элементы массива представлены точкой или точкой соответствующего цвета, а точки вместе образуют форму. Так как точки взяты из массива, они не случайны по цвету или расположению относительно друг друга, поэтому я не понимаю, как начать.

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

С этим исходным изображением я могу затем разделить изображение на плитки, каждая из которых является кликабельной, представляющей область точек, что в конечном итоге позволяет мне снова и снова использовать первый процесс для создания квадранта, а затем для солнечной системы и т. Д. .

Я не знаю, как представить исходное изображение, чтобы быть с.

Я использую Ruby и библиотеку Rmagick. Если есть другой пакет для использования или даже другая программа на основе Linux (cmd или gui), которая может помочь создать этот начальный образ, это очень помогло бы.

Спасибо

Ответы [ 3 ]

1 голос
/ 18 ноября 2009

пытаюсь удалить мой комментарий ... просто позвольте мне удалить его stackoverflow

0 голосов
/ 13 ноября 2009

Спасибо. Фрагмент отметил эллипс как метод, который, вероятно, настолько близок, насколько я собираюсь выбраться из коробки с 2D-галактикой. Таким образом, галактика может легко представлять собой круглое ядро ​​с несколькими кольцами эллипсов, а затем некоторые изгибы от последнего эллипса. Милая.

Системы координат - это одна из основ порядка, но для гибкости мне не нужна конкретная координата, только порядок, как цепочка ДНК. Но координаты, которые у меня есть, будут хорошо отображаться.

Но, скажем, я хотел, чтобы каталог / Pictures был похож на жирафа. У меня нет координат жирафа, но если бы я нарисовал их, я бы хотел сформировать их с изображениями, которые у меня есть, в порядке списка каталогов, вдоль траектории линий изображения.

Я немного поиграюсь.

0 голосов
/ 12 ноября 2009

Если вам уже удалось запустить RMagick и запустить его, я бы посоветовал вам использовать его возможности SVG. Этот фрагмент поможет .

Итак, теперь у вас есть холст в 2D, который вы создадите в заданном размере.

Ваш массив должен в той или иной форме содержать геометрическое представление о том, куда должны идти точки. Вам понадобится функция преобразования для масштабирования из вашего представления (которое, я предполагаю, является представителем системы координат реальной вселенной и, вероятно, 3D) в нечто двумерное с заданной точки зрения. Если у вас уже есть координаты 2D-графика, тогда достаточно простого масштабирования.

Вы должны обнаружить, что большинство библиотек 2D-графики предоставляют встроенные функции масштабирования. Во многих случаях вы можете работать в своей реальной системе координат, и графический движок может быть соответственно уменьшен.

...