|
From: <kin...@us...> - 2024-07-11 22:07:27
|
Revision: 7203
http://sourceforge.net/p/teem/code/7203
Author: kindlmann
Date: 2024-07-11 22:07:25 +0000 (Thu, 11 Jul 2024)
Log Message:
-----------
some final comments
Modified Paths:
--------------
teem/trunk/src/limn/splineFit.c
Modified: teem/trunk/src/limn/splineFit.c
===================================================================
--- teem/trunk/src/limn/splineFit.c 2024-07-11 21:53:07 UTC (rev 7202)
+++ teem/trunk/src/limn/splineFit.c 2024-07-11 22:07:25 UTC (rev 7203)
@@ -30,9 +30,16 @@
https://dl.acm.org/doi/10.5555/90767.90941
The author's code is here:
http://www.realtimerendering.com/resources/GraphicsGems/gems/FitCurves.c
-but the code here was based more on reading the paper, than their code. Also, that code
-does not handle point loops, and does not handle smoothing built into tangent estimation,
-which were important to GLK, but which added significant implementation complexity.
+but the code here was based more on reading the paper, than the author's code.
+Beyond the author's paper and the author's code, this code here:
+- handles closed point loops
+- implements smoothing as part of vertex and tangent estimation
+- the Newton-based ReParameterization ("nrp") is smarter: it never increases
+ the distance between the data and splines, so it is better at handling cases
+ where the chord-length-based parameterization initialization is terrible
+- is smarter about handling single-spline fits to only 3 points
+- has robust error handling and error reporting
+All of this adds implementation complexity (this is ~4 times longer than author's file)
The functions below do not use any other limnSpline structs or functions, since those
were written a long time ago when GLK was even more ignorant than now about splines.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|