Code covered by the BSD License  

Highlights from
geom2d

image thumbnail
from geom2d by David Legland
Geometry library for matlab. Performs geometric computations on points, lines, circles, polygons...

polynomialCurvePoint(t, varargin)
function point = polynomialCurvePoint(t, varargin)
%POLYNOMIALCURVEPOINT Compute point corresponding to a position
%
%   POINT = polynomialCurvePoint(T, XCOEF, YCOEF)
%   XCOEF and YCOEF are row vectors of coefficients, in the form:
%       [a0 a1 a2 ... an]
%   T is a either a scalar, or a column vector, containing values of the
%   parametrization variable.
%   POINT is a 1x2 array containing coordinate of point corresponding to
%   position given by T. If T is a vector, POINT has as many rows as T.
%
%   POINT = polynomialCurvePoint(T, COEFS)
%   COEFS is either a 2xN matrix (one row for the coefficients of each
%   coordinate), or a cell array.
%
%   Example
%   polynomialCurvePoint
%
%   See also
%   polynomialCurves2d, polynomialCurveLength
%
%
% ------
% Author: David Legland
% e-mail: david.legland@grignon.inra.fr
% Created: 2007-02-23
% Copyright 2007 INRA - BIA PV Nantes - MIAJ Jouy-en-Josas.

%% Extract input parameters

% polynomial coefficients for each coordinate
var = varargin{1};
if iscell(var)
    xCoef = var{1};
    yCoef = var{2};
elseif size(var, 1)==1
    xCoef = varargin{1};
    yCoef = varargin{2};
else
    xCoef = var(1,:);
    yCoef = var(2,:);
end
    

%% compute length by numerical integration

% convert polynomial coefficients to polyval convention
cx = xCoef(end:-1:1);
cy = yCoef(end:-1:1);

% numerical integration of the Jacobian of parametrized curve
point = [polyval(cx, t) polyval(cy, t)];

Contact us