Spec-Zone.ru › Eigen3

Eigen::Spline

шаблон<typename _Scalar, int _Dim, int _Degree>
класс Eigen::Spline< _Scalar, _Dim, _Degree >

Класс, представляющий многомерные сплайновые кривые.

Класс представляет B-сплайны с неравномерными векторами узлов. Каждая контрольная точка B-сплайна связана с базисной функцией

\begin{align*} C(u) & = \sum_{i=0}^{n}N_{i,p}(u)P_i \end{align*}

Шаблонные параметры
_Scalar Основной тип данных (обычно float или double)
_Dim Размерность кривой (например, 2 или 3)
_Degree По умолчанию устанавливается как Dynamic; может быть задан фактический желаемый порядок для оптимизации (приведет к выделению стековой памяти для нескольких временных переменных).
перечисление { Dimension }
перечисление { Degree }
псевдоним SplineTraits< Spline >::BasisDerivativeType BasisDerivativeType
Тип данных, используемый для хранения значений производных базисной функции.
псевдоним SplineTraits< Spline >::BasisVectorType BasisVectorType
Тип данных, используемый для хранения ненулевых базисных функций.
псевдоним SplineTraits< Spline >::ControlPointVectorType ControlPointVectorType
Тип данных, представляющий контрольные точки сплайна.
псевдоним SplineTraits< Spline >::KnotVectorType KnotVectorType
Тип данных, используемый для хранения векторов узлов.
псевдоним SplineTraits< Spline >::ParameterVectorType ParameterVectorType
Тип данных, используемый для хранения векторов параметров.
псевдоним SplineTraits< Spline >::PointType PointType
Тип точки, представляемой сплайном.
псевдоним _Scalar Scalar
SplineTraits< Spline >::BasisDerivativeType basisFunctionDerivatives (Scalar u, DenseIndex order) const
Вычисляет ненулевые производные базисных функций сплайна до заданного порядка. Подробнее...
шаблон<int DerivativeOrder>
SplineTraits< Spline, DerivativeOrder >::BasisDerivativeType basisFunctionDerivatives (Scalar u, DenseIndex order=DerivativeOrder) const
Вычисляет ненулевые производные базисных функций сплайна до заданного порядка. Подробнее...
SplineTraits< Spline >::BasisVectorType basisFunctions (Scalar u) const
Вычисляет ненулевые базисные функции в заданной точке. Подробнее...
const ControlPointVectorType & ctrls () const
Возвращает ctrls базового сплайна.
DenseIndex degree () const
Возвращает степень сплайна.
SplineTraits< Spline >::DerivativeType derivatives (Scalar u, DenseIndex order) const
Вычисление производных сплайна до заданного порядка. Подробнее...
шаблон<int DerivativeOrder>
SplineTraits< Spline, DerivativeOrder >::DerivativeType derivatives (Scalar u, DenseIndex order=DerivativeOrder) const
Вычисление производных сплайна до заданного порядка. Подробнее...
const KnotVectorType & knots () const
Возвращает узлы базового сплайна.
PointType operator() (Scalar u) const
Возвращает значение сплайна в заданной точке \(u\). Подробнее...
DenseIndex span (Scalar u) const
Возвращает интервал в векторе узлов, в котором находится u. Подробнее...
Spline ()
Создаёт (постоянный) нулевой сплайн. Для сплайнов с динамическим порядком, результирующий порядок будет 0.
шаблон<typename OtherVectorType , typename OtherArrayType >
Spline (const OtherVectorType &knots, const OtherArrayType &ctrls)
Создаёт сплайн из вектора узлов и контрольных точек. Подробнее...
шаблон<int OtherDegree>
Spline (const Spline< Scalar, Dimension, OtherDegree > &spline)
Конструктор копирования для сплайнов. Подробнее...
static BasisDerivativeType BasisFunctionDerivatives (const Scalar u, const DenseIndex order, const DenseIndex degree, const KnotVectorType &knots)
Вычисляет ненулевые производные базисных функций сплайна до заданного порядка. Подробнее...
static BasisVectorType BasisFunctions (Scalar u, DenseIndex degree, const KnotVectorType &knots)
Возвращает ненулевые базисные функции сплайна. Подробнее...
static DenseIndex Span (typename SplineTraits< Spline >::Scalar u, DenseIndex degree, const typename SplineTraits< Spline >::KnotVectorType &knots)
Вычисляет отрезок в предоставленном векторе узлов, в котором находится u.

Scalar

template<typename _Scalar , int _Dim, int _Degree>
typedef _Scalar Eigen::Spline< _Scalar, _Dim, _Degree >::Scalar

Тип скаляра кривой сплайна.

безымянный перечисление

template<typename _Scalar , int _Dim, int _Degree>
безымянный перечисление
Перечисление
Dimension

Размерность кривой сплайна.

безымянный перечисление

template<typename _Scalar , int _Dim, int _Degree>
безымянный перечисление
Перечисление
Degree

Степень кривой сплайна.

Spline() [1/2]

template<typename _Scalar , int _Dim, int _Degree>
template<typename OtherVectorType , typename OtherArrayType >
Eigen::Spline< _Scalar, _Dim, _Degree >::Spline ( const OtherVectorType & knots,
const OtherArrayType & ctrls
)
inline

Создает сплайн из вектора узлов и контрольных точек.

Parameters
knots Вектор узлов сплайна.
ctrls Вектор контрольных точек сплайна.

Spline() [2/2]

template<typename _Scalar , int _Dim, int _Degree>
template<int OtherDegree>
Eigen::Spline< _Scalar, _Dim, _Degree >::Spline ( const Spline< Scalar, Dimension, OtherDegree > & spline )
inline

Конструктор копирования для сплайнов.

Parameters
spline Входной сплайн.

BasisFunctionDerivatives()

template<typename _Scalar , int _Dim, int _Degree>
SplineTraits< Spline< _Scalar, _Dim, _Degree > >::BasisDerivativeType Eigen::Spline< _Scalar, _Dim, _Degree >::BasisFunctionDerivatives ( const Scalar u,
const DenseIndex order,
const DenseIndex degree,
const KnotVectorType & knots
)
static

Вычисляет ненулевые производные базисных функций сплайна до заданного порядка.

Функция вычисляет

\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}

с i от 0 до указанного порядка.

Parameters
u Параметр \(u \in [0;1]\), для которого вычисляются ненулевые производные базисных функций.
order Порядок, до которого вычисляются производные базисных функций.
degree Степень базового сплайна.
knots Вектор узлов базового сплайна.

basisFunctionDerivatives() [1/2]

template<typename _Scalar , int _Dim, int _Degree>
SplineTraits< Spline< _Scalar, _Dim, _Degree >, DerivativeOrder >::BasisDerivativeType Eigen::Spline< _Scalar, _Dim, _Degree >::basisFunctionDerivatives ( Scalar u,
DenseIndex order
) const

Вычисляет ненулевые производные базисных функций сплайна до заданного порядка.

Функция вычисляет

\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}

с i от 0 до указанного порядка.

Parameters
u Параметр \(u \in [0;1]\), для которого вычисляются ненулевые производные базисных функций.
order Порядок, до которого вычисляются производные базисных функций.

basisFunctionDerivatives() [2/2]

template<typename _Scalar , int _Dim, int _Degree>
template<int DerivativeOrder>
SplineTraits<Spline,DerivativeOrder>::BasisDerivativeType Eigen::Spline< _Scalar, _Dim, _Degree >::basisFunctionDerivatives ( Scalar u,
DenseIndex order = DerivativeOrder
) const

Вычисляет ненулевые производные базисных функций сплайна до заданного порядка.

Функция вычисляет

\begin{align*} \frac{d^i}{du^i} N_{i,p}(u), \hdots, \frac{d^i}{du^i} N_{i+p+1,p}(u) \end{align*}

с i от 0 до указанного порядка.

Parameters
u Параметр \(u \in [0;1]\), для которого вычисляются ненулевые производные базисных функций.
order Порядок, до которого вычисляются производные базисных функций. Использование шаблонизированной версии этой функции более эффективно, так как временные объекты выделяется в стеке, когда это возможно.

basisFunctions()

template<typename _Scalar , int _Dim, int _Degree>
SplineTraits< Spline< _Scalar, _Dim, _Degree > >::BasisVectorType Eigen::Spline< _Scalar, _Dim, _Degree >::basisFunctions ( Scalar u ) const

Вычисляет ненулевые базисные функции в заданной точке.

У сплайнов локальная поддержка, и точка их изображения определяется ровно \(p+1\) контрольными точками \(P_i\), где \(p\) - степень сплайна.

Эта функция вычисляет значения \(p+1\) ненулевых базисных функций для заданного значения параметра \(u\). Она возвращает

\begin{align*} N_{i,p}(u), \hdots, N_{i+p+1,p}(u) \end{align*}

Parameters
u Параметр \(u \in [0;1]\), для которого вычисляются ненулевые базисные функции.

BasisFunctions()

template<typename _Scalar , int _Dim, int _Degree>
Spline< _Scalar, _Dim, _Degree >::BasisVectorType Eigen::Spline< _Scalar, _Dim, _Degree >::BasisFunctions ( Scalar u,
DenseIndex degree,
const KnotVectorType & knots
)
static

Возвращает ненулевые базисные функции сплайна.

Функция вычисляет и возвращает

\begin{align*} N_{i,p}(u), \hdots, N_{i+p+1,p}(u) \end{align*}

Параметры
u Точка, в которой вычисляются базисные функции.
degree Степень базового сплайна.
knots Вектор узлов базового сплайна.

derivatives() [1/2]

template<typename _Scalar , int _Dim, int _Degree>
SplineTraits< Spline< _Scalar, _Dim, _Degree >, DerivativeOrder >::DerivativeType Eigen::Spline< _Scalar, _Dim, _Degree >::derivatives ( Scalar u,
DenseIndex order
) const

Вычисление производных сплайна до заданного порядка.

Функция возвращает

\begin{align*} \frac{d^i}{du^i}C(u) & = \sum_{i=0}^{n} \frac{d^i}{du^i} N_{i,p}(u)P_i \end{align*}

для i в диапазоне от 0 до order.

Параметры
u Параметр \(u \in [0;1]\), для которого вычисляется производная сплайна.
order Порядок вычисления производных.

derivatives() [2/2]

template<typename _Scalar , int _Dim, int _Degree>
template<int DerivativeOrder>
SplineTraits<Spline,DerivativeOrder>::DerivativeType Eigen::Spline< _Scalar, _Dim, _Degree >::derivatives ( Scalar u,
DenseIndex order = DerivativeOrder
) const

Вычисление производных сплайна до заданного порядка.

Функция возвращает

\begin{align*} \frac{d^i}{du^i}C(u) & = \sum_{i=0}^{n} \frac{d^i}{du^i} N_{i,p}(u)P_i \end{align*}

для i в диапазоне от 0 до order.

Параметры
u Параметр \(u \in [0;1]\), для которого вычисляется производная сплайна.
order Порядок вычисления производных. Использование шаблонной версии этой функции более эффективно, так как временные объекты выделены в стеке, когда это возможно.

operator()()

template<typename _Scalar , int _Dim, int _Degree>
Spline< _Scalar, _Dim, _Degree >::PointType Eigen::Spline< _Scalar, _Dim, _Degree >::operator() ( Scalar u ) const

Возвращает значение сплайна в заданной точке \(u\).

Функция возвращает

\begin{align*} C(u) & = \sum_{i=0}^{n}N_{i,p}P_i \end{align*}

Параметры
u Параметр \(u \in [0;1]\) для вычисления значения сплайна.
Возвращает
Значение сплайна в заданной точке \(u\).

span()

template<typename _Scalar , int _Dim, int _Degree>
DenseIndex Eigen::Spline< _Scalar, _Dim, _Degree >::span ( Scalar u ) const

Возвращает отрезок внутри вектора узлов, к которому относится u.

Параметры
u Точка, для которой определяется отрезок.

The documentation for this class was generated from the following file:
  • Spline.h

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/unsupported/classEigen_1_1Spline.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API