【问题标题】:clipping polygon against rectangle针对矩形裁剪多边形
【发布时间】:2011-09-08 18:16:44
【问题描述】:

今天我有一个(简单的)渲染问题给你。我当前的项目从文件中获取数据以生成 SVG 文件。由于 SVG 格式,将事物绘制为多边形非常容易,但我有一个问题:我的一些多边形在页面内外(这意味着它们中的某些部分被显示,而其余部分由于事实而未显示它们超出了显示限制)。为了优化最终的 SVG 文件,我需要将多边形简化为更简单的形式。

将灰色矩形视为我的页面。 将绿色多边形视为我实际绘制的东西。

第一张图片展示了我实际拥有的东西,而第二张图片展示了我想要的最终结果。

首先,我想用简单的三角形来减少我的多边形,以便只在显示范围内绘制点。但我认为存在一个更简单的解决方案......如果你有它,请不要犹豫与我分享:)

编辑:

我也有这个棘手的情况要处理:

谢谢。

【问题讨论】:

  • 所以你真正想要的是多边形裁剪,而不是“简化为更简单的形式”。实际上第二种形式并不那么简单,它只是剪裁在一个矩形上。如果您将标题编辑为“针对矩形裁剪多边形”或类似内容,您可能会得到您需要的关注。
  • 不确定它会如何影响性能,但mask 有帮助吗?
  • @GeorgeProfenza 不需要掩码,因为页面边界之外的所有内容都不会显示...添加掩码将产生完全相同的结果,但会增加大量计算。

标签: math svg polygon computational-geometry raster


【解决方案1】:
  1. 用矩形剪裁多边形。我们将这个问题简化为
  2. 用线剪裁多边形。我们将其简化为一个更简单的问题:
  3. 用一条线剪裁多边形的一条边。这真的只是
  4. 查找线段与线的交点(如果存在)。

考虑到您的线条是垂直或水平的,最后一个问题非常简单。够了吗?

【讨论】:

猜你喜欢
  • 2017-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-05
  • 2014-02-03
  • 2012-02-11
  • 1970-01-01
相关资源
最近更新 更多