【问题标题】:Can Someone Explain Why .intersects returns true here?有人可以解释为什么 .intersects 在这里返回 true 吗?
【发布时间】:2022-01-22 12:59:22
【问题描述】:

问题示例的图像

.intersects 在这两个节点上调用并返回 true。我对两者都使用了 getBoundsInParent() 。有人可以帮我解决这个问题。 我觉得这与 getBoundsInParent() 没有返回准确的圆圈边界但 idk 有关。 谢谢

【问题讨论】:

标签: javafx geometry nodes bounds


【解决方案1】:

getBoundsInParent() 返回一个 Bounds 对象。 https://openjfx.io/javadoc/11/javafx.graphics/javafx/geometry/Bounds.html

查看Bounds的属性。它代表一个边界“框”。它不考虑圆的曲率。

如果您想查看圆形是否与矩形相交。有几个选项。您可以计算相交的ShapeShape.intersect(Shape shape1, Shape shape2) 并查看结果的边界是否具有非零维度。

【讨论】:

  • 您也可以“手动”测试。矩形与圆最近的点始终是矩形的一个角,或者是矩形边上的点,该点与圆心的直线垂直于边。所以对于一个有水平和垂直边的矩形,你可以检查每个角的距离,两个垂直边上的点与中心相同的y坐标(如果有的话),两个水平边上的点与与中心(如果有)相同的 x 坐标,到中心,看看这六个距离中是否有任何一个小于半径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 2011-03-19
  • 2016-06-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
相关资源
最近更新 更多