【问题标题】:Circle stays within the borders of a triangle圆停留在三角形的边界内
【发布时间】:2015-06-10 22:50:47
【问题描述】:

我目前正试图在周围三角形的边界内保持一个圆圈。就像这张照片:

Image

到目前为止,我想出了两个想法。

  1. 我可以检查每次用户拖动圆圈时,三角形的所有三条线都没有与圆圈相交

  2. 我计算了另一个较小的三角形,其中线的距离是圆的半径到大三角形的乘以。之后我必须看看圆的中心是否在较小的三角形内

您对这两种解决方案有何看法,或者您知道哪些更好的解决方案?

【问题讨论】:

  • 我不明白你的第二点。你能详细说明一下吗?
  • 假设您取三角形的线并绘制与圆半径距离的平行线。然后你会得到另一个三角形,只要圆的中心留在里面我认为没关系

标签: objective-c core-graphics geometry


【解决方案1】:

假设三角形不经常变化,第二个似乎计算成本更低。

似乎有很多implementations 用于测试点是否在三角形内,这应该比checking for intersections 更优一些

正如 cmets 中提到的Franz Busch,您可以通过将平行线绘制到现有边缘轻松确定插入三角形,假设三角形不会经常变化,这不应该是开销,因此解决方案应该有效很好。

【讨论】:

  • 谢谢我实现了交集方法。效果很好,效率很高
猜你喜欢
  • 2017-02-19
  • 2013-12-24
  • 2019-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-12
  • 1970-01-01
相关资源
最近更新 更多