- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
给定一系列相互连接的矩形边界框,以及由多项式(或多项式样条)描述的路径,如何检查路径是否完全在边界框内,准确地?
最佳答案
不知道这是否足够精确,但一种解决方案是遍历矩形并使用多项式求解器找出多项式的位置穿过矩形中的 4 条线之一(A-B、B-C、C-D、D-A)。然后将这些交叉点与多项式求值一起使用,以找出多项式位于每个矩形内的 xs。如果这些区间的并集包含多项式的定义区域,多项式位于矩形内。
粗糙的伪python:
def get_covering_intervals(rectangle, polynomial):
crossing_points = []
# Find crossing points
for line, x_range in get_lines_from_rectangle(rectangle):
roots = solve_polynomial(polynomial-line)
for root in roots:
if x_range.min < root < x_range.max:
crossing_points.append(root)
crossing_points.extend(rectangle.x_range)
crossing_points.sort()
# Find covered areas
covered_intervals = []
prev_x = crossing_points[0]
for x in crossing_points[1:]:
if polynomial((x+prev_x)/2) in rectangle:
covered_intervals.append(Interval(prev_x, x))
prev_x = x
return covered_intervals
polynomial = Polynomial([10, 2, 4]) # 10x^2+2x+4
definition_area = Interval(-1.5, 2.5)
rectangles = [Rectangle((-1.25, -1), (1, 1.25), (1.25, 1), (-1, -1.25)), ...]
covered_intervals = []
for rectangle in rectangles:
covered_intervals.extend(get_covering_intervals(rectangle, polynomial))
covered = union(covered_intervals)
return definition_area in covered
对于多项式样条,必须对样条中的每个多项式/定义区域重复此操作。
关于algorithm - 如何有效地检查路径是否在一系列边界框内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51372522/
我正在尝试将按钮和 div 底部的一些文本对齐,就像下面的示例中的价格和 checkout 按钮一样。最好的方法是什么。我制作了一个 div,对其设置了样式以获得正确的文本和图片。我只需要将按钮附加到
将内容放置在带圆 Angular 的框 div 中以使其不会重叠的正确方法是什么? 蓝框是白框父div 里面的内容div。我希望标题位于该父框内,以便它在顶部也有圆 Angular 。 当我尝试“溢出
让 SVG 内联 HTML 文档,带有一个 View 框“x y w h”。如何检查元素是否在 View 框内? 通过说元素,它可以是组内的嵌套子路径等等...... 所以我想我正在寻找 SVG 的内
有没有办法检查鼠标是否在屏幕上的某个框内。我不知道将 jQuery 变量导出为整数以在 Javascript if 语句 中使用。我知道这可以通过 div 实现,但我不想使用 div 因为我需要很多这
目前我有两个带文本的 div 框 1 和 2,在第三个 div 框内将它们包含在一起。 Sometimes text in box 1 is longer than text inside box2
我是一名优秀的程序员,十分优秀!