Размещение объектов на холсте

#d3.js

#d3.js

Вопрос:

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

Я размещаю все круги по кругу, и это работает, как и ожидалось, с использованием обычной математики (rsinQ, rcosQ).

Теперь реальная проблема возникает, когда мне нужно разместить прямоугольники, соединенные с кругами, во внешнем пути кругов. Дело в том, что я не уверен, сколько прямоугольников будет соединено с кругом (обычно может быть от 0 до 3 прямоугольников, соединенных с 1 кругом). Теперь я столкнулся с дилеммой при размещении их на холсте.

Еще раз напоминаю, что количество кругов и прямоугольников неизвестно до времени выполнения.

Комментарии:

1. Не могли бы вы разделить внешний путь и поместить квадрат в середине каждого сегмента? Например, вы рисуете 3 квадрата по дуге 120 градусов, поэтому рисуйте прямоугольник через каждые 40 градусов.

2. Привет, Дэвид, спасибо за ваше предложение, я сделал то же самое, теперь я застрял с force.on(«галочка», вот мой код для рисования, теперь он вызывается бесконечно, поэтому моя логика прерывается, могу ли я остановить это force.on («галочка» выполняется только один раз?