changeset 1103:7f4aae76e06a feature/dataspline

In Curve.arcLengthParametrization(), upgrade linear interpolation to monotonicity-preserving cubic splines.
author Martin Almquist <malmquist@stanford.edu>
date Tue, 09 Apr 2019 13:19:55 -0700
parents 36d092a00040
children 2a1f6cea6062
files +parametrization/Curve.m
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
diff -r 36d092a00040 -r 7f4aae76e06a +parametrization/Curve.m
--- a/+parametrization/Curve.m	Tue Apr 09 09:50:44 2019 -0700
+++ b/+parametrization/Curve.m	Tue Apr 09 13:19:55 2019 -0700
@@ -104,8 +104,8 @@
             tvec = linspace(0,1,N);
             arcVec = obj.arcLength(0,tvec);
 
-            % t as a function of arcLength. Use linear interpolation to preserve monotonicity.
-            tFunc = @(arcLen)interp1(arcVec,tvec,arcLen, 'linear', 'extrap');
+            % t as a function of arcLength. Monotonicity-preserving cubic splines.
+            tFunc = @(arcLen) pchip(arcVec,tvec,arcLen);
 
             L = obj.arcLength(0,1);
             arcPar = @(s) tFunc(s*L);