David J. Harris
David J. Harris
We tried the arc approximation with disappointing results. B-Splines or Nurbs curve radius of curvature vary in each curve point and therefore you end up quickly with 1000-5000 arcs that...
Thanks for the prompt and detailed reply @jbuckmccready. Regarding this: > I'm not entirely sure what you mean by big gaps between arcs When you approximate a freeform curve with...
I am doing 2D region booleans and trim (cut with open contour) with any type of curve: line/circle/arc/ellipse/elliptical arc/spline. If the spline starts tangent to a line I cannot accept...
> I think you're right that the spline partial overlap detection may be challenging to implement. The first idea would be to check point coincidence and tangent coincidence, pretty loose...
First I wanted to contribute on a couple of bugs I found you may already know (I test thousands of real-world cases). Bug number 1: ``` case Circle2Circle2IntrType::Coincident: // determine...
Then I wanted to share the algorithm I am using for arc/line conversion: [BsplineToArcs.pdf](https://github.com/jbuckmccready/CavalierContours/files/7473923/BsplineToArcs.pdf). Sorry, it's written in Italian. Here is the pseudocode, I am not using C++. ``` private...
Last and not least, some interesting articles on the bezier to arcs topic I found online: - https://dlacko.org/blog/2016/10/19/approximating-bezier-curves-by-biarcs/ - https://github.com/domoszlai/bezier2biarc
Regarding this question: > Looking at your comments again it seems one of your key requirements is avoiding loss of tangency so you can merge things back into a single...
> I think a few other bugs were fixed along the way Did you remember which ones? > I also found this resource for bezier curve operations (including approximating as...
> I remember finding issues for boolean operations between alternating winding/direction of polylines that mostly overlap (where only 1 or 2 segments deviated, the vertexes overlapped, and then alternating winding...