【问题标题】:Visual representation of sets集合的视觉表示
【发布时间】:2011-05-29 08:07:22
【问题描述】:

我有一些实验数据,我决定将它们表示为集合。

假设有一个名为 E={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p, q,r,s}蓝色圆圈)和几个子集B红色虚线椭圆),其中包含来自主集E

我需要在主集E中表示这些子集,并显示它们的交集,或多或少类似于下图。

这就是为什么我需要一些算法(带有示例)来绘制该图形。最好使用 PHP 或 Javascript(使用 SVG 规范),因为我将在 Web 应用程序中实现这个问题。

先谢谢你!

【问题讨论】:

  • 你的数据有固定的位置,还是算法必须把它们排好?
  • @Nicolas。一般没有,他们没有固定的位置。我只有一组,需要以一种好的方式代表它们。所以当你提出一些算法可以随机定位它们
  • 没有相交元素的集合可以在视觉上相交吗?

标签: algorithm graphics set data-representation


【解决方案1】:

我的感觉是,genetic algorithm 会擅长这一点,因为:

  1. 所有子集周长的总路径长度可用作适应度函数(将其最小化将倾向于给出缺少长瘦子集的“好”解决方案),并且此函数是连续的。
  2. 实现突变(改变一个或多个元素的位置)和交叉(交换某些元素的位置)应该很简单。

对适应度函数的另一个重要建议:严厉惩罚一个子集的周长包含不属于该集合的元素的任何解决方案。

我的建议是使用元素的凸包作为子集周长(甚至可能是更简单的边界框)。一旦确定了最佳位置,您就可以使用splines 绘制周边,以使它们美观平滑。

【讨论】:

    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2014-10-17
    • 1970-01-01
    相关资源
    最近更新 更多