Spec-Zone.ru › Eigen3

Eigen::Hyperplane

template<typename _Scalar, int _AmbientDim, int _Options>
class Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >

Гиперплоскость.

Это определено в модуле Geometry.

#include <Eigen/Geometry> 

Гиперплоскость — это аффинное подпространство размерности n-1 в пространстве размерности n. Например, гиперплоскость на плоскости — это прямая; гиперплоскость в 3-мерном пространстве — это плоскость.

Параметры шаблона
_Scalar скалярный тип, т.е. тип коэффициентов
_AmbientDim размерность окружающего пространства, может быть значением времени компиляции или Dynamic. Обратите внимание, что размерность гиперплоскости равна _AmbientDim-1.

Этот класс представляет гиперплоскость как множество нулей неявного уравнения \( n \cdot x + d = 0 \), где \( n \) — единичный нормальный вектор плоскости (линейная часть), а \( d \) — расстояние (смещение) до начала координат.

typedef Eigen::Index Index
Scalar absDistance (const VectorType &p) const
template<typename NewScalarType >
internal::cast_return_type< Hyperplane, Hyperplane< NewScalarType, AmbientDimAtCompileTime, Options > >::type cast () const
Coefficients & coeffs ()
const Coefficients & coeffs () const
Index dim () const
Hyperplane ()
template<typename OtherScalarType , int OtherOptions>
Hyperplane (const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > &other)
Hyperplane (const ParametrizedLine< Scalar, AmbientDimAtCompileTime > &parametrized)
Hyperplane (const VectorType &n, const Scalar &d)
Hyperplane (const VectorType &n, const VectorType &e)
Hyperplane (Index _dim)
VectorType intersection (const Hyperplane &other) const
template<int OtherOptions>
bool isApprox (const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
NormalReturnType normal ()
ConstNormalReturnType normal () const
void normalize (void)
Scalar & offset ()
const Scalar & offset () const
VectorType projection (const VectorType &p) const
Scalar signedDistance (const VectorType &p) const
template<typename XprType >
Hyperplane & transform (const MatrixBase< XprType > &mat, TransformTraits traits=Affine)
template<int TrOptions>
Hyperplane & transform (const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > &t, TransformTraits traits=Affine)
static Hyperplane Through (const VectorType &p0, const VectorType &p1)
static Hyperplane Through (const VectorType &p0, const VectorType &p1, const VectorType &p2)

Index

template<typename _Scalar , int _AmbientDim, int _Options>
typedef Eigen::Index Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Index
Устарело:
начиная с Eigen 3.3

Hyperplane() [1/6]

template<typename _Scalar , int _AmbientDim, int _Options>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( )
inline

Конструктор по умолчанию без инициализации

Hyperplane() [2/6]

template<typename _Scalar , int _AmbientDim, int _Options>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( Index _dim )
inlineexplicit

Конструирует гиперплоскость динамического размера с _dim — размерностью окружающего пространства

Hyperplane() [3/6]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( const VectorType & n,
const VectorType & e
)
inline

Создаёт плоскость по её нормали n и точке e на плоскости.

Предупреждение
вектор нормали предполагается нормированным.

Hyperplane() [4/6]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( const VectorType & n,
const Scalar & d
)
inline

Конструктор плоскости по её нормали n и расстоянию до начала координат d, такое что алгебраическое уравнение плоскости имеет вид \( n \cdot x + d = 0 \).

Предупреждение
вектор нормали предполагается нормированным.

Hyperplane() [5/6]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( const ParametrizedLine< Scalar, AmbientDimAtCompileTime > & parametrized )
inlineexplicit

Создаёт гиперплоскость, проходящую через параметрическую прямую parametrized. Если размерность окружающего пространства больше 2, то единственности нет, поэтому делается произвольный выбор.

Hyperplane() [6/6]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
шаблон<typename OtherScalarType , int OtherOptions>
Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Hyperplane ( const Hyperplane< OtherScalarType, AmbientDimAtCompileTime, OtherOptions > & other )
inlineexplicit

Конструктор копирования с преобразованием типа скаляра

absDistance()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::absDistance ( const VectorType & p ) const
inline
Возвращает
абсолютное расстояние между плоскостью *this и точкой p.
См. также
signedDistance()

cast()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
шаблон<typename NewScalarType >
internal::cast_return_type<Hyperplane, Hyperplane<NewScalarType,AmbientDimAtCompileTime,Options> >::type Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::cast ( ) const
inline
Возвращает
*this с типом скаляра преобразованным к NewScalarType

Обратите внимание, что если NewScalarType равен текущему типу скаляра *this , то эта функция разумно возвращает ссылку const на *this.

coeffs() [1/2]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs ( )
inline
Возвращает
непостоянную ссылку на коэффициенты c_i уравнения плоскости: \( c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \)

coeffs() [2/2]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
const Coefficients& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::coeffs ( ) const
inline
Возвращает
постоянную ссылку на коэффициенты c_i уравнения плоскости: \( c_0*x_0 + ... + c_{d-1}*x_{d-1} + c_d = 0 \)

dim()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
Index Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::dim ( ) const
inline
Возвращает
размерность, в которой находится плоскость

intersection()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::intersection ( const Hyperplane< _Scalar, _AmbientDim, _Options > & other ) const
inline
Возвращает
пересечение *this с other.
Предупреждение
Окружающее пространство должно быть плоскостью, т. е. иметь размерность 2, чтобы *this и other были прямыми.
Примечание
Если other приблизительно параллельна *this, этот метод вернёт любую точку на *this.

isApprox()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
шаблон<int OtherOptions>
bool Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::isApprox ( const Hyperplane< Scalar, AmbientDimAtCompileTime, OtherOptions > & other,
const typename NumTraits< Scalar >::Real & prec = NumTraits<Scalar>::dummy_precision()
) const
inline
Возвращает
true , если *this приблизительно равно other, с точностью, заданной prec.
См. также
MatrixBase::isApprox()

normal() [1/2]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
NormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal ( )
inline
Возвращает
непостоянную ссылку на единичный вектор нормали плоскости, который соответствует линейной части неявного уравнения.

normal() [2/2]

шаблон<typename _Scalar , int _AmbientDim, int _Options>
ConstNormalReturnType Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normal ( ) const
inline
Возвращает
постоянную ссылку на единичный вектор нормали плоскости, который соответствует линейной части неявного уравнения.

normalize()

шаблон<typename _Scalar , int _AmbientDim, int _Options>
void Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::normalize ( void )
inline

нормализует *this

offset() [1/2]

template<typename _Scalar , int _AmbientDim, int _Options>
Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset ( )
inline
Возвращает
непостоянную ссылку на расстояние до начала координат, которое также является константой в неявном уравнении

offset() [2/2]

template<typename _Scalar , int _AmbientDim, int _Options>
const Scalar& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::offset ( ) const
inline
Возвращает
расстояние до начала координат, которое также является "постоянной частью" неявного уравнения
Предупреждение
предполагается, что нормальный вектор нормирован.

projection()

template<typename _Scalar , int _AmbientDim, int _Options>
VectorType Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::projection ( const VectorType & p ) const
inline
Возвращает
проекцию точки p на плоскость *this.

signedDistance()

template<typename _Scalar , int _AmbientDim, int _Options>
Scalar Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::signedDistance ( const VectorType & p ) const
inline
Возвращает
знаковое расстояние между плоскостью *this и точкой p.
См. также
absDistance()

Through() [1/2]

template<typename _Scalar , int _AmbientDim, int _Options>
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through ( const VectorType & p0,
const VectorType & p1
)
inlinestatic

Создаёт гиперплоскость, проходящую через две точки. Если размерность окружающего пространства больше 2, то единственности нет, поэтому делается произвольный выбор.

Through() [2/2]

template<typename _Scalar , int _AmbientDim, int _Options>
static Hyperplane Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::Through ( const VectorType & p0,
const VectorType & p1,
const VectorType & p2
)
inlinestatic

Создаёт гиперплоскость, проходящую через три точки. Требуется, чтобы размерность окружающего пространства была ровно 3.

transform() [1/2]

template<typename _Scalar , int _AmbientDim, int _Options>
template<typename XprType >
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform ( const MatrixBase< XprType > & mat,
TransformTraits traits = Affine
)
inline

Применяет матрицу преобразования mat к *this и возвращает ссылку на *this.

Параметры
mat матрица преобразования размера Dim x Dim
traits указывается, представляет ли матрица mat изометрию или более общее аффинное преобразование. По умолчанию — аффинное.

transform() [2/2]

template<typename _Scalar , int _AmbientDim, int _Options>
template<int TrOptions>
Hyperplane& Eigen::Hyperplane< _Scalar, _AmbientDim, _Options >::transform ( const Transform< Scalar, AmbientDimAtCompileTime, Affine, TrOptions > & t,
TransformTraits traits = Affine
)
inline

Применяет преобразование t к *this и возвращает ссылку на *this.

Параметры
t преобразование размерности Dim
traits указывается, представляет ли преобразование t изометрию или более общее аффинное преобразование. По умолчанию — аффинное. Другие виды преобразований не поддерживаются.

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

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

Spec-Zone.ru

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