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
| typedef _Scalar Eigen::Spline< _Scalar, _Dim, _Degree >::Scalar |
Тип скаляра кривой сплайна.
безымянный перечисление
| безымянный перечисление |
безымянный перечисление
| безымянный перечисление |
Spline() [1/2]
| inline |
Создает сплайн из вектора узлов и контрольных точек.
- Parameters
-
knots Вектор узлов сплайна. ctrls Вектор контрольных точек сплайна.
Spline() [2/2]
| inline |
Конструктор копирования для сплайнов.
- Parameters
-
spline Входной сплайн.
BasisFunctionDerivatives()
| 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]
| 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]
| 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()
| 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()
| static |
Возвращает ненулевые базисные функции сплайна.
Функция вычисляет и возвращает
\begin{align*} N_{i,p}(u), \hdots, N_{i+p+1,p}(u) \end{align*}
- Параметры
-
u Точка, в которой вычисляются базисные функции. degree Степень базового сплайна. knots Вектор узлов базового сплайна.
derivatives() [1/2]
| 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]
| 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()()
| 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()
| DenseIndex Eigen::Spline< _Scalar, _Dim, _Degree >::span | ( | Scalar | u | ) | const |
Возвращает отрезок внутри вектора узлов, к которому относится u.
- Параметры
-
u Точка, для которой определяется отрезок.
The documentation for this class was generated from the following file:
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/unsupported/classEigen_1_1Spline.html