本文介绍了贝塞尔剪裁的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试寻找/制作一种算法来计算两个任意填充的 2D 对象的交集(一个新的填充对象).对象使用直线或三次贝塞尔曲线定义,并且可能有孔或自相交.我知道有几种现有的算法对多边形做同样的事情,在此处列出.但是,我想支持贝塞尔曲线而不将它们细分为多边形,并且在没有交点的区域中,输出应该具有与输入大致相同的控制点.

I'm trying to find/make an algorithm to compute the intersection (a new filled object) of two arbitrary filled 2D objects. The objects are defined using either lines or cubic beziers and may have holes or self-intersect. I'm aware of several existing algorithms doing the same with polygons, listed here. However, I'd like to support beziers without subdividing them into polygons, and the output should have roughly the same control points as the input in areas where there are no intersections.

这是一个交互式程序来做一些 CSG 但剪辑不需要是实时的.我已经搜索了一段时间,但没有找到好的起点.

This is for an interactive program to do some CSG but the clipping doesn't need to be real-time. I've searched for a while but haven't found good starting points.

推荐答案

我发现以下出版物是有关 Bezier Clipping 的最佳信息:

I found the following publication to be the best of information regarding Bezier Clipping:

T.W. Sederberg,BYU,计算机辅助几何设计课程笔记

T. W. Sederberg, BYU, Computer Aided Geometric Design Course Notes

讨论曲线交点的第 7 章可在线获取.它概述了寻找交叉点的 4 种不同方法,并详细描述了 Bezier Clipping:

Chapter 7 that talks about Curve Intersection is available online. It outlines 4 different approaches to find intersections and describes Bezier Clipping in detail:

http://www.tsplines.com/technology/edu/CurveIntersection.pdf

这篇关于贝塞尔剪裁的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 00:35