with Standard_Floating_Numbers; use Standard_Floating_Numbers; with Standard_Floating_Matrices; use Standard_Floating_Matrices; package Osculating_Planes is -- DESCRIPTION : -- This package provides routines for generating osculating planes. function Standard_Basis ( n,d : natural; s : double_float ) return Matrix; -- DESCRIPTION : -- Returns a d-plane in n-space using the standard monomial basis. -- The first column contains the first n standard monomials. -- The kth column contains the kth derivative, scaled such that the -- diagonal elements are all one. All polynomials are evaluated at s. function Chebychev_Basis ( n,d : natural; s : double_float ) return Matrix; -- DESCRIPTION : -- Returns a d-plane in n-space using the Chebychev polynomials. -- The first column contains the first n Chebychev polynomials. -- The kth column contains the kth derivative, scaled such that the -- diagonal elements are all one. All polynomials are evaluated at s. function Orthogonal_Basis ( n,d : natural; s : double_float ) return Matrix; -- DESCRIPTION : -- Returns a d-plane in n-space as an orthognal matrix. procedure Sampled_Chebychev_Basis ( n,d,m : in natural; mat : out Matrix; s,ratio : out double_float ); -- DESCRIPTION : -- Generates m values for s and keeps the one with lowest ratio -- max/min for all d-minors in the matrix. end Osculating_Planes;