forked from 1b-agent/opencadstudio-upstream
fix(spline): reverse a spline without reshaping it
SPLINEDIT's REVERSE reversed the control points and then regenerated a clamped *uniform* knot vector. That is only harmless for a spline whose knots were evenly spaced to begin with; for any other — which is most of them once a modeller has been near one — the curve came back a different shape, bulging where it had been taut. It now mirrors the knots within the domain, which is exact, and swaps the end tangents to match. PEDIT's Spline option evaluated a uniform cubic B-spline from four blending polynomials written out by hand, clamped the open case by repeating end control points, and then pinned the two endpoints afterwards to undo the drift that leaves. A clamped knot vector says all of that directly, and the closed case gets a genuinely periodic curve rather than one whose seam is a special case. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
0677dd146c
commit
f1bc5f2cae
3 files changed
+81
-56
No files matched your search
Generated
+1
-1
@@ -935,7 +935,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
|
||||
[[package]]
|
||||
name = "cadkernel"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/HakanSeven12/cadkernel.git#69a8bf2b747c8b0a4abe6a571859c4c3a4f610d2"
|
||||
source = "git+https://github.com/HakanSeven12/cadkernel.git#5499242f1160018e066f78d4e462c9532e665a96"
|
||||
dependencies = [
|
||||
"cavalier_contours",
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user