【问题标题】:Generating intermediate vertices生成中间顶点
【发布时间】:2017-01-22 01:19:35
【问题描述】:

我有一条路径说 [vertex4, vertex5, vertex7, vertex8] 从顶点 4 开始,到顶点 8 结束。我可以访问每个顶点的 X 和 Y 坐标。

我将如何在每对顶点之间生成一系列顶点。例如,vertex4 -> vertex5 我希望能够平分边缘,以便沿着边缘有更多的顶点到达 5。

例如,如果我的最大“步长”大小为 0.1,那么路径将是:

[4, 4.1, 4.2, 4.3 ... 等到 5]。

【问题讨论】:

  • 查找关键字interpolation

标签: java graph artificial-intelligence graph-theory theory


【解决方案1】:

我假设每个顶点都是 2D 平面上的一个点 (X,Y),而边缘是连接它们的直线。您可以轻松地平分 K 等份上的任何边:

令 A = (X0,Y0) 和 B = (X1,Y1) 为边的端点,那么我们可以计算出 dX = (X1-X0)/K 和 dY = (Y1-Y0)/K。中间点将是 Pi = (X0+dXi,Y0+dYi) 形式的点,对于 0

如果您希望边有某个指定的长度 L,请使用欧几里得距离计算边 AB 的长度 D,零件的数量 K 将由 ceil(D/L) 给出。

【讨论】:

    猜你喜欢
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多