我需要为不保证轴对齐的形状生成边界框。每个形状都有一个指向他们的前面的点。边界框应该有一个面。
简而言之,这个形状/边界框:
需要最终看起来像这样:
不幸的是,形状本身并没有随着它们的旋转而变形,它们只是简单地用这种方式绘制,所以我所留下的只是一个奇点,试图确定边界框应该在哪里谎言。
关于这个的任何想法?如果知道有用,这些图形是在SVG中定义的,并且正在使用Github上的vvvv / SVG库由C#实现进行处理。
答案 0 :(得分:1)
这个问题被称为“Oriented Bounding Box” - 如果你想搜索它。在2D中执行此操作相当容易(并且算法快速) - 在更高维度上更难实现。对于2D使用Rotating Calipers Algorithm。
答案 1 :(得分:1)
如果你知道边界框需要对齐的面,那么你只需要: