标签: clipper

7
推荐指数
1
解决办法
3332
查看次数

如何处理可变宽度(“缓冲区”)的折线偏移?

我的问题陈述:

我有一条多段线,我想沿着这些点在一个方向上进行可变宽度偏移。我该怎么做?对于折线,我只需要支持直线,不需要支持曲线或圆弧。

多段线可以是闭合的,也可以是开放的,并且偏移仅在一个方向上——为了便于讨论,我们假设它在左侧方向。

在此输入图像描述上图 几乎概括了我想要做的事情;唯一的问题是,它在整个折线中是统一的偏移,因此我想要可变的偏移。

这个问题比乍看起来要棘手得多。有一些库并没有完全做到这一点。让我们一一分析一下。

快艇

Clipper 可以处理多边形缓冲区,这意味着在两个方向上创建偏移线,最后围绕该线形成多边形。所以不适合我的需求。此外,它不处理变量缓冲。

快船队开发者在论坛上对此进行了一些讨论,但遗憾的是没有任何结果。

网络拓扑套件

NetTopologySuite有一个VariableBuffer类,它可以处理可变偏移量。但不幸的是,NetTopologySuite 只能处理多边形缓冲(将一条线转换为包含该线的多边形),而不能处理折线偏移(其中折线在单个方向上偏移)。

另外,似乎使用上述方法 NetTopologySuite 会在两个方向上“炸毁”多边形,并且需要设置BufferParameters.IsSingleSided=true以便具有单边多边形偏移,但目前还不清楚如何将其与 结合使用VariableBuffer

骑士轮廓

Cavalier countours与大多数库不同,它只能在一个方向上进行折线偏移(这就是我想要的),这样就不会形成多边形。这就是我想要的,但不幸的是,它不能进行可变宽度偏移。

如何调整当前的库以满足我的需求?

似乎没有简单的方法可以做到这一点。有什么想法可以做到这一点吗?

欢迎任何基于 C#、C++ 或 C 库构建的解决方案。

c# c++ geometry clipper nettopologysuite

6
推荐指数
1
解决办法
2033
查看次数

DOSBox退出错误:CPU_SetSegGeneral:堆栈段零

我正在尝试运行一个旧的Clipper应用程序.它在Win 7 32bit上运行良好,但是当我尝试使用DOSBox 0.74时崩溃时出现以下错误:

Exit to error: CPU_SetSegGeneral: Stack segment zero

运行DOSBox时是否有一些我忘记设置的设置?

我需要能够在DOSBox中运行这个应用程序,因为它似乎只是可以在任何Win 7上运行的便携式解决方案,无论是32位还是64位.

如果对此问题没有明显的解决方案,也许您可​​以告诉我在Win 7 64位家庭版上运行Clipper 5.3应用程序有哪些替代方案?

编辑: 我尝试在Win 7 Home 64位上使用相同的结果.我能做什么?

64-bit clipper dosbox windows-7

5
推荐指数
1
解决办法
2335
查看次数

Flutter:ClipOval 剪刀高度

底部阴影

嗨,我是扑扑的新手,并试图从运球的 Shakuro 创造这个设计。我在尝试为剪刀创建高程时遇到了麻烦,因为整个矩形都在获得阴影,而不仅仅是剪刀。

有没有办法在剪刀下放置高程或类似阴影的效果?

elevation shadow clipper flutter

5
推荐指数
1
解决办法
4024
查看次数