帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:DIA  Points  Voronoi  SET  Diagram  COM  Dimension  Dimensional  
Compute the Voronoi diagram of a set of two-dimensional points.

  • 源代码名称:d3-voronoi
  • 源代码网址:http://www.github.com/d3/d3-voronoi
  • d3-voronoi源代码文档
  • d3-voronoi源代码下载
  • Git URL:
    git://www.github.com/d3/d3-voronoi.git
  • Git Clone代码到本地:
    git clone http://www.github.com/d3/d3-voronoi
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/d3/d3-voronoi
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • d3-voronoi

    这里模块实现 Steven 。 一种二维点集或者 Delaunay三角剖分的计算算法fortune算法。 这里实现主要基于 Raymond Hill的工作。

    Voronoi图不仅直观直观吸引人,而且practical实用的交互工具,如增加散乱点的目标区域,使之更加精确。 有关examples的示例,请参见 "Rise strikeouts"in纽约时报和这个 多行 图表示例;关于气泡游标的Tovi论文。 Voronoi图也可以用于自动标记标签定位,而Delaunay网格则是计算可视化元素的邻接或者分组的有用工具。

    安装

    如果你使用 NPM,npm install d3-voronoi 。 否则,下载最新版本的。 你也可以直接从 d3js.org 加载,或者作为一个独立库,或者作为D3 4.0的一部分。 支持 AMD,CommonJS和香草环境。 在vanilla中,导出了一个 d3 全局:

    <scriptsrc="https://d3js.org/d3-voronoi.v1.min.js"></script>
    <script>var voronoi =d3.voronoi();</script>

    在浏览器中尝试 d3-voronoi 。

    API参考

    # d3.voronoi() <>

    使用默认的x x and and y accessors和空扩展extent创建新的Voronoi布局。

    # voronoi(data) <>

    计算 Voronoi图 for指定的数据点。

    # voronoi.x( [x] ) <>

    如果指定了 x,则设置x -coordinate 。 如果未指定 x,则返回当前-coordinate访问器,默认为:

    functionx(d) {
     return d[0];
    }

    # voronoi.y( [y] ) <>

    如果指定了 y,则设置y -coordinate访问器。 如果未指定 y,则返回当前-coordinate访问器,默认为:

    functiony(d) {
     return d[1];
    }

    # voronoi.extent( [extent] ) <>

    如果指定了范围,则将Voronoi布局的剪辑范围设置为指定的边界,并返回布局的布局。 在边界范围内,范围 array [[x0, y0],[x1, y1] ],其中rwx是 extent,y0是 top,x1是右,x1是 bottom 。 如果未指定范围,则返回默认为null的当前剪辑范围。 使用 voronoi时需要一个剪辑范围。多边形。

    # voronoi.size( [size] ) <>

    等价于:

    voronoi.extent([[0, 0], size]);

    # voronoi.polygons(data) <>

    在指定的数据中,返回多边形的稀疏 array,每个唯一输入点对应一个输入点,对应于计算的Voronoi图。 等价于:

    voronoi(data).polygons();

    请参见 注:需要一个范围

    # voronoi.triangles(data) <>

    以三角形的array 形式返回指定数据 array triangulation的Delaunay三角剖分。 每个三角形是一个元素的三个元素 array,从数据 。 等价于:

    voronoi(data).triangles();

    请参见

    # voronoi.links(data) <>

    返回指定的数据 array triangulation的Delaunay三角剖分作为链接的array 。 每个链接都有 sourcetarget 属性,这些属性引用数据中的元素。 等价于:

    voronoi(data).links();

    请参见 。有关详细信息,请参见链接。

    #<>

    Voronoi Voronoi返回的计算Voronoi图具有以下特性:

    • edges - 边缘的一个 array 。
    • cells - 单元格的稀疏 array,每个唯一输入点都有一个。

    在每个重合输入点中,任意选择一个点并指定相关的单元;在返回的稀疏 array 中缺少其它重合输入点'。

    # diagram.polygons() <>

    返回在图表的 extent的多边形的稀疏 array,diagram图中每个单元格的( 每个唯一的输入点) 。 表示 polygon x,where x 和 y 是点坐标,data 是指数据的对应元素。 多边形是开放的:它们不包含复制第一点的闭合点;例如三角形是三点的array 。

    在每个重合输入点中,任意选择一个点并指定关联的多边形;在返回的稀疏 array 中缺少其它重合输入点'。

    # diagram.triangles() <>

    以三角形的array 形式返回指定数据 array triangulation的Delaunay三角剖分。 每个三角形是一个元素的三个元素 array,从数据 。 算法将三角网格作为Voronoi图的对偶,并利用扩展的方法对Voronoi图进行裁剪,得到了Delaunay三角图的子集。

    # diagram.links() <>

    以链接的形式返回指定对象的Delaunay三角剖分,作为链接的一个 array,一个用于网格的每个边。 每个链接都具有以下属性:

    • source - 源 node,是数据中的一个元素。
    • target - 目标 node,数据中的元素。

    算法将三角网格作为Voronoi图的对偶,并利用扩展的方法对Voronoi图进行裁剪,并将Delaunay链的子集作为一个子集。

    # diagram.find(x, y [, radius] ) <>

    将最近的站点返回到 [ x, y ] 。 如果指定了半径,则只考虑半径距离内的站点。

    请参见 rivière bl.ocks. org/1b7ddbcd71454d685d1259781968aefc的Philippe 示例。

    # 单元格

    图表中的每个单元格都是具有以下属性的对象:

    # 电子邮件站点

    图表中的每个站点都是一个 array [ x, y ],具有两个附加属性:

    • index - 站点的索引,对应于关联的输入点。
    • data - 与这里站点对应的输入数据。

    # 边缘

    图表中的每个边都是一个 array [[ x0, y0 ],[ x1, y1 ] ],具有两个附加属性:



    文章标签:COM  SET  DIA  poi    Dimension  Diagram  Dimensional  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语