【问题标题】:Draw shapes between coordinates在坐标之间绘制形状
【发布时间】:2017-02-23 19:58:18
【问题描述】:

给定一些随机 w 和 h 以及 4 个坐标 (x1, y1)...(x4, y4) 检查 x, y 计数器是否在这 4 个坐标内。

我试图填充这 4 个坐标之间的空间,它们通常会形成一个矩形,但旋转不同。

目前我有一个嵌套的 for 循环可以在我的“画布”上移动,但我无法找到一种方法来检查我的计数器是否在坐标内。

我已经研究过绘制线条的算法来构建它,但到目前为止还没有运气。

谁能指点我一些资源。

【问题讨论】:

    标签: performance graphics draw


    【解决方案1】:

    要检查一个点是否在三角形内,请获取方向

    (y2 - y1)*(x3 - x2) - (y3 - y2)*(x2 - x1)
    

    如果点是线性的,则符号为零,否则逆时针为负,顺时针为正。如果ABC、ABD和ACD方向相同,则A在三角形BCD中。

    所以我们可以首先检查我们的凸包,它可以是一条线、一个三角形或一个四边形。如果它是一个三角形,我们可以很容易地测试里面的更多点。它是一个凸四边形,测试也可以,但我们必须添加一个额外的点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多