代码之家  ›  专栏  ›  技术社区  ›  EngrStudent

使用R测试Dirichlet瓷砖的内砖

  •  0
  • EngrStudent  · 技术社区  · 6 年前

    所以我可以拿积分用 R 图书馆 deldir spatstat::dirichlet 找到这些点的狄里克利特镶嵌。

    现在我有一个不在集合中的点,我想知道构成Dirichlet瓷砖的点的索引,我不在集合中的点是内部的。我可以通过知道瓷砖标签(或索引)到达那里。

    有没有任何库或方法可以做到这一点?我在想SPATSTAT,但还没找到什么。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Ege Rubak    6 年前

    函数 cut.ppp() 可以采用一个点模式并找到哪种镶嵌 平铺图案中的每个点。下面是一个简单的 仅包含单点(0.5、0.5)的点模式示例。

    library(spatstat)
    dd <- dirichlet(cells)
    plot.tess(dd, do.labels = TRUE)
    xx <- ppp(.5, .5, window = Window(dd))
    plot(xx, add = TRUE, col = "red", cex = 2, pch = 20)
    

    yy <- cut(xx, dd)
    yy
    #> Marked planar point pattern: 1 point
    #> Multitype, with levels = 
    #>    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
    #> 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
    #> window: rectangle = [0, 1] x [0, 1] units
    marks(yy)
    #> [1] 18
    #> 42 Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 42
    

    创建日期:2018-12-03 reprex package (v0.2.1)

        2
  •  0
  •   Adrian Baddeley    6 年前

    如果 X 是一个点模式 B 是一个镶嵌,那么

    M <- marks(cut(X, B))
    

    返回一个因子(分类值向量),用于标识哪个图块包含 X .或者,

    M <- tileindex(X$x, X$y, B)
    

    f <- as.function(B)
    M <- f(X)