如何从线性网格中获取x和y坐标?

时间:2009-10-27 10:50:45

标签: c# arrays vector xna

我自己有一个存储在Vector2[,]数组中的Vector2s的线性网格,我还有另一个位于此网格内的Vector2。如何简单地提取阵列中最近的4个网格点及其索引?我完全被难过......

1 个答案:

答案 0 :(得分:2)

我不确定我是否理解你的问题。你能以一种相对简单的方式处理它吗?

  1. 声明一种类型以保存以下信息:
    一个。整数索引到您现有的Vector2数组中 湾该点距测试向量的距离
    C。 (可选)Vector2值。
  2. 声明新定义类型的数组以包含结果。
  3. 遍历现有的Vector2s数组。
  4. 对于每个Vector2,计算它与测试向量的距离。
  5. 将该距离与上一个结果Vector2进行比较。如果它小于该距离,则用当前Vector2的信息替换该结果向量。
  6. 当最后一个结果向量的距离小于前一个结果向量时,将其与之前的结果交换。 (重复使用相同的向量,现在在倒数第二个位置,直到结果向量按照距离测试向量的距离的顺序排序。)
  7. 继续执行步骤3中开始的循环的下一次迭代。