【问题标题】:Calculating the cells contained inside a rectangle on an Isometric Grid计算等距网格上矩形内包含的单元格
【发布时间】:2011-02-26 18:12:38
【问题描述】:

假设我们有一个等距网格(考虑类似于暗黑破坏神)的瓷砖。我们对网格有一些度量,例如网格高度、网格宽度和图块高度/宽度。考虑这张图片:

网格的中心单元是 0,0 延伸等北 (+y)、等南(-y)、等东(+x)、等西(-x)。

假设我们要在网格上的任意位置绘制一个矩形。我们没有矩形的等距位置,而是有网格的正常绘制坐标,其中左上角为 0,0,南为 y+,右为 x+。

如果我们有问题矩形的顶部、左侧、高度和宽度 - 我们如何计算与矩形底部边缘交叉的 iso-cells 数组。

您选择的任何语言都可以证明这一点。

【问题讨论】:

    标签: ios objective-c isometric


    【解决方案1】:

    在一些关于等距编程的论文和书籍中(使用 Direct X7 进行等距编程,是的,它很旧,但概述了问题和技术)他们使用鼠标映射。

    还有一种技术可以将矩形覆盖的地图区域渲染成图像,每个图块都有一个唯一的颜色(它只是渲染的颜色)。然后他们检查图像中有哪些颜色,然后提取图块列表。

    由于您使用的是经典的等距瓷砖宽度半高,因此也可能有数学解决方案。不幸的是,建议的算法在很大程度上取决于您的地图布局。

    The code for a Java based TileSystem can be found here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多