Tag Info

New answers tagged


Although BSplineFunction[] is sadly limited to machine precision results, it's not too hard in this case to make a function that will give exact results for exact input. You've already given the control points, so the task is a whole lot easier than the situation in this related answer. Just as in that answer, we use the strategy of starting with ...


Clearly, OP did not even try to read the answer I linked to in my previous answer. In any event: I merely exploited the block structure of the underlying linear system for the polyharmonic spline. We start with data looking like this: $$\begin{pmatrix}x_1&y_1&z_1\\x_2&y_2&z_2\\&\vdots&\\x_n&y_n&z_n\end{pmatrix}$$ wa = ...


The following is (I believe) a better implementation for at least two reasons. First, it doesn't use the old Splines package, but Interpolation[..., Method -> "Spline"] instead. Second, if uses an algorithmic arc length parametrization to get the equispaced points instead of relying on the mesh generated by ParametricPlot which is nice for displaying but ...


Your points aren't in order. Change: coord = Cases[Normal@plot, Point[p_] :> p, Infinity] by coord = Sort@Cases[Normal@plot, Point[p_] :> p, Infinity] Then you'll get (Norm /@ Differences@p1)[[1 ;; 5]] (Norm /@ Differences@coord)[[1 ;; 5]] (* {1., 1., 1., 1., 1.} {0.976258, 0.97659, 0.975463, 0.976125, 0.976947} *)

Top 50 recent answers are included