Algorithm 垂直或水平等距分布/对齐多个选定形状的算法

Algorithm 垂直或水平等距分布/对齐多个选定形状的算法,algorithm,Algorithm,我需要编写逻辑来水平或垂直分布或对齐多个选定形状,使选定形状/对象之间的间距相等 在PowerPoint 2010中,我们可以选择“水平分发”和“垂直分发”。我必须在应用程序中实现类似的功能 是否已有任何算法可以满足我的要求?注意:这里我只将@SaiBot comment转换为步骤 计算每个形状的最小矩形边框(这取决于您如何实现形状)。在这一步中,您可以通过发布另一个带有编程语言标记的问题来获得帮助 总形状宽度=所有形状宽度之和 剩余白色宽度=页面宽度-总形状宽度 间距(每个形状之间的间距)=剩

我需要编写逻辑来水平或垂直分布或对齐多个选定形状,使选定形状/对象之间的间距相等

在PowerPoint 2010中,我们可以选择“水平分发”和“垂直分发”。我必须在应用程序中实现类似的功能


是否已有任何算法可以满足我的要求?

注意:这里我只将@SaiBot comment转换为步骤

  • 计算每个形状的最小矩形边框(这取决于您如何实现形状)。在这一步中,您可以通过发布另一个带有编程语言标记的问题来获得帮助
  • 总形状宽度=所有形状宽度之和
  • 剩余白色宽度=页面宽度-总形状宽度
  • 间距(每个形状之间的间距)=剩余白色宽度/(n-1)。其中n是形状的数量
  • 第一个形状位置为零(即在最左侧点)
  • 每个形状(第一个除外)的位置等于其前面所有形状的总和+空格*这些形状的数量

    如果形状索引(i)从0到n开始,形状宽度为Wi,形状开始位置为Pi,空格是计算出的每个形状之间的空白,则

    空格=和[从0到n](Wi)/(n-1)

    Pi=和[从0到i](Wi)+n*空间


  • 这个问题定义不清;请看得更精确些,我认为Power Point只是将每个形状围成一个最小的矩形。然后,对于水平分布,它固定了最左边和最右边的边界框,并在它们之间等距分布其他框。谢谢SaiBot。是否已有任何算法可用于有效实现此功能?@User890:algorithm?这是简单的代数。你哪里有问题?@Prune。我在实现上没有任何问题。我只是想知道是否有任何预定义的算法可用于这种情况。