2011-12-16 2 views
0

У меня проблема, которую я подозревал, было бы намного проще, чем было. Я пытаюсь сделать график в соответствии с некоторыми конкретными рекомендациями. Это несколько столбцов и несколько строк, но не все столбцы имеют одинаковое количество строк. Я хотел бы расстояние между узлами (по вертикали), чтобы быть одинаковыми для всех узлов, ориентированных вокруг центра, чтобы создать что-то вроде графика следующего:Распределить объекты, равномерно сфокусированные на центре (График рисования)

o  o 
    o 
o  o 
    o 
o  o 

(Средняя колонка имеет только два узел, но они находятся на одном и том же расстоянии друг от друга, как в столбцах трех узлов.) Возможно, я мог бы это исправить, просто вычислив расстояние, основанное на столбце с наибольшим количеством узлов, затем работая из центра (-y для узлов выше центральная точка + y для ниже), но это не похоже на самое изящное решение.

+0

Это на самом деле является личным проектом, а не для домашней работы или назначения или работы или что-нибудь подобное. И я сказал, что лучшее решение, которое я мог бы придумать в конце, но мне это не нравится. Он чувствует себя дешевым и неэлегантным. –

+0

StackOverflow - это платформа, помогающая друг другу в решении конкретных задач кодирования не для предоставления полных решений. – Fischermaen

+1

Затем дайте ему несколько советов, а не полные решения, а не только критикуйте. –

ответ

0

два подхода:

  1. С центральной точки, «нарисовать» круг и место точек под определенными углами на его границе. Теперь переместите центр в том направлении, в котором вы хотите, и установите точки снова. Перекрытия могут быть удалены.

  2. Нарисуйте первый набор точек, где, где, г. расстояние между x и y равно. Затем двигайтесь справа внизу с помощью x/2 и y/2 (или аналогичных) и рисуйте следующие элементы.

Я надеюсь, что эти довольно грубые предложения являются не неясными;)

Смежные вопросы