【问题标题】:Generate bounding box from starting point (SVG)从起点生成边界框 (SVG)
【发布时间】:2015-11-10 15:41:16
【问题描述】:

我需要为不能保证轴对齐的形状生成一个边界框。每个形状都有一个点,用于指定边界框应该有一个面的“正面”。

简而言之,这个形状/边界框:

最终需要看起来像这样:

不幸的是,形状本身并没有随着旋转而改变,它们只是这样绘制的,所以我只剩下一个奇异点来尝试确定边界框的位置。

关于这个有什么想法吗?如果有帮助的话,这些图形是在 SVG 中定义的,并且正在由使用 Github 上的 vvvv/SVG 库的 C# 实现处理。

【问题讨论】:

    标签: c# svg graphics computational-geometry bounding-box


    【解决方案1】:

    这个问题被称为“定向边界框”——如果你想搜索的话。在 2D 中做到这一点相当容易(并且算法上很快) - 在更高维度上更难。对于 2D 使用Rotating Calipers Algorithm

    【讨论】:

      【解决方案2】:

      如果您知道边界框需要对齐的人脸,那么您只需要:

      1. 计算该面与 X 轴的角度
      2. 将形状旋转该角度,使面与轴对齐
      3. 计算边界框(最小和最大 X 和 Y)
      4. 将四个边界框角旋转 -angle。

      【讨论】:

        猜你喜欢
        • 2020-02-13
        • 1970-01-01
        • 1970-01-01
        • 2016-07-06
        • 2015-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多