2013-04-05 18 views
0

我正在创建一个带有不同节点和中心选定节点的图形界面。我创建了中心节点,并绘制了一个圆圈来标记子节点将放置的位置。以圆形方式放置UIViews

我想将许多节点放置在圆的圆周中,而不是每个节点重叠。我如何找到准确的周长数?

我的每个子节点视图都具有相同的大小。但是,不管如何,由圆周中的每个子节点占据的是不同的。

如何查找具有特定大小的控件的总数no,这些控件可以放置在具有特定半径的圆周上。我怎样才能找到每个子节点的中心点放置在圆周上。

我知道我们可以使用下面的公式来找到要放置子节点的角度。这里的问题是arcLength对于每个子节点视图都不是固定的。

2PirC/360 =弧长X = CX + R * COS(a)中Y = CY + R * SIN(一)

enter image description here enter image description here

+0

您是否研究过[算法来检测圆与相同平面中的任何其他圆相交] [1]? [1]:http://stackoverflow.com/questions/8367512/algorithm-to-detect-if-a-circles-intersect-with-any-other-circle-in-the-same- pla – verec 2013-04-07 03:57:45

+0

我对你对弧长的含义有点困惑。如果圆周上的每个视图的大小相同,则它们将占用相同的弧长。 – 2013-04-11 15:00:04

回答

0

我已经解决了由该问题使用下面的公式将其在应答在本thread在#1中提到:

(X + R cos(2kπ/ N)中,y + R SIN(2kπ/ N))