gpt4 book ai didi

java - 多边形 "Fixing"算法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:38 27 4
gpt4 key购买 nike

我给您带来了一个可能很复杂的问题,我希望您能提供帮助。请允许我开门见山:

我想要一种算法或逻辑,在其中我使用鼠标绘制一个形状(例如正方形),它变成一个完美的正方形,所有 4 个边都是直线并且完全规则。一个人画的正方形很难说是完美的,但我希望它经过这个算法的“过滤”后,变成这样。

我想要的一个很好的例子是在游戏 Trine 中,Wizard 的工作原理类似:你在屏幕上画一个形状,它变成最接近的形状,也就是说,如果你画一些类似于正方形的东西它变成了一个完美的方形盒子,但是如果你画一个三角形,它就变成了一个完美的三角形盒子。就像它检测它是什么形状,然后绘制一个更好的版本。

我想要这个游戏,只是让你知道这一切的目标是什么。

请帮我弄清楚这背后的算法或逻辑,或者至少告诉我这种 Action 的名称是什么(:

附言我添加了一个简单的图像,这样我的意图就变得更加清晰 =)

最佳答案

如果我必须执行此任务,我会存储可识别的模式,并尝试为它们进行匹配。

取 minX、maxX、minY、maxY 值形成用户绘制的点,这将帮助您缩放图案。选择缩放比例,使图案的纵横比为 X 和 Y 纵横比的平均值。

图案可以由一定数量的直线组成。模式匹配如果

  • 没有超出阈值的点
  • 在图案中的每个关键点附近至少有一个用户绘制的点

如果您匹配了图案,您将拥有图案的关键点(计算图案的中心,以及尺寸/纵横比)。然后您可以用您的图像替换用户绘制的点 - 这可能与用于匹配的模式(想象一个圆圈)完全不同。

关于java - 多边形 "Fixing"算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16086292/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com