# Advanced Mathematics and Mechanics Applications Using MATLAB, 3rd Edition

### Howard Wilson (view profile)

14 Oct 2002 (Updated )

Companion Software (amamhlib)

[R,T,N,B,kappa]=crvprpsp(Rd,n)
```function [R,T,N,B,kappa]=crvprpsp(Rd,n)
%
% [R,T,N,B,kappa]=crvprpsp(Rd,n)
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
% This function computes spline interpolated
% values for coordinates, base vectors and
% curvature obtained by passing a spline curve
% through data values given in Rd.
%
% Rd    - a matrix containing x,y and z values
%         in rows 1, 2 and 3.
% n     - the number of points at which
%         properties are to be evaluated along
%         the curve
%
% R     - a 3 by n matrix with columns
%         containing coordinates of interpolated
%         points on the curve
% T,N,B - matrices of dimension 3 by n with
%         columns containing components of the
%         unit tangent, unit normal, and unit
%         binormal vectors
% kappa - a vector of curvature values
%
% User m functions called:
%         splined, crvprp3d
%----------------------------------------------

% Create a spline curve through the data points,
% and evaluate the derivatives of R.
nd=size(Rd,2); td=0:nd-1; t=linspace(0,nd-1,n);
ud=Rd(1,:)+i*Rd(2,:); u=spline(td,ud,t);
u1=splined(td,ud,t); u2=splined(td,ud,t,2);
ud3=Rd(3,:); z=spline(td,ud3,t);
z1=splined(td,ud3,t); z2=splined(td,ud3,t,2);
R=[real(u);imag(u);z]; R1=[real(u1);imag(u1);z1];
R2=[real(u2);imag(u2);z2];

% Get curve properties from crvprp3d
[T,N,B,kappa]=crvprp3d(R1,R2);```