1

我试图弄清楚什么样的方程式会让我得到这个。

如果我有一个中心节点,并且围绕它的节点数量不确定,我将如何获得我需要以均匀间隔放置它们的画布坐标?

在这种情况下,我们有八个节点,因为它们对我来说最容易绘制。但在其他情况下,我们可能会有更多或更少。

如果您在 Java 中有响应,那将是最好的。否则伪代码很好。

帮助解释的示例图像:

图片

4

2 回答 2

3

如果您以 0 弧度的角度从 0,0 移动到 D,0,则以任何其他角度 A,您将移动以下距离:

xdiff = D*cos(A)
ydiff = D*sin(A)

(注意 A 必须是弧度 - 0 和 2*pi 是完整的 0/360 度,所以 2pi/2 是 180 度,2pi/4 是 90 度等等)

因此(例如),要围绕中心圆在距离 D 处绘制十个圆,考虑每个角度 A = i*2pi/10,计算每个角度的 xdiff 和 ydiff,将它们添加到中心圆的位置并绘制轨道圆圈。

于 2013-06-06T03:02:16.967 回答
0

有多种方法。

作为起点,请查看 http://en.wikipedia.org/wiki/Force-directed_graph_drawing

于 2013-06-06T03:00:22.277 回答