Namespaces

Types in MathNet.Spatial.Euclidean

Type CoordinateSystem

Namespace MathNet.Spatial.Euclidean

Parent DenseMatrix

Interfaces IEquatable<CoordinateSystem>, IXmlSerializable

A coordinate system

Constructors

Static Functions

Methods

Properties

Public Constructors

CoordinateSystem(Matrix<double> matrix)

Initializes a new instance of the CoordinateSystem class.
Parameters
Matrix<double> matrix

A matrix

CoordinateSystem()

Initializes a new instance of the CoordinateSystem class.

CoordinateSystem(Point3D origin, Vector3D xAxis, Vector3D yAxis, Vector3D zAxis)

Initializes a new instance of the CoordinateSystem class.
Parameters
Point3D origin

The origin

Vector3D xAxis

The x axis

Vector3D yAxis

The y axis

Vector3D zAxis

The z axis

CoordinateSystem(Point3D origin, UnitVector3D xAxis, UnitVector3D yAxis, UnitVector3D zAxis)

Initializes a new instance of the CoordinateSystem class.
Parameters
Point3D origin

The origin

UnitVector3D xAxis

The x axis

UnitVector3D yAxis

The y axis

UnitVector3D zAxis

The z axis

CoordinateSystem(Vector3D xAxis, Vector3D yAxis, Vector3D zAxis, Point3D origin)

Initializes a new instance of the CoordinateSystem class.
Parameters
Vector3D xAxis

The x axis

Vector3D yAxis

The y axis

Vector3D zAxis

The z axis

Point3D origin

The origin

Public Static Functions

CoordinateSystem CreateMappingCoordinateSystem(CoordinateSystem fromCs, CoordinateSystem toCs)

Creates a coordinate system that maps from the 'from' coordinate system to the 'to' coordinate system.
Parameters
CoordinateSystem fromCs

The from coordinate system

CoordinateSystem toCs

The to coordinate system

Return
CoordinateSystem

A mapping coordinate system

Matrix<double> GetRotationSubMatrix(CoordinateSystem coordinateSystem)

Gets a rotation submatrix from a coordinate system
Parameters
CoordinateSystem coordinateSystem

a coordinate system

Return
Matrix<double>

A rotation matrix

CoordinateSystem Parse(string s)

Creates a coordinate system from a string
Parameters
string s

The string

Return
CoordinateSystem

A coordinate system

CoordinateSystem Pitch(Angle av)

Rotates around Y
Parameters
Angle av

An angle

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem Roll(Angle av)

Rotates around X
Parameters
Angle av

An angle

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem RotateTo(UnitVector3D fromVector3D, UnitVector3D toVector3D, Nullable<UnitVector3D> axis)

Sets to the matrix of rotation that aligns the 'from' vector with the 'to' vector. The optional Axis argument may be used when the two vectors are perpendicular and in opposite directions to specify a specific solution, but is otherwise ignored.
Parameters
UnitVector3D fromVector3D

Input Vector object to align from.

UnitVector3D toVector3D

Input Vector object to align to.

Nullable<UnitVector3D> axis

Input Vector object.

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem Rotation(Angle yaw, Angle pitch, Angle roll)

Successive intrinsic rotations around Z (yaw) then around Y (pitch) and then around X (roll) Gives an order of magnitude speed improvement. https://en.wikipedia.org/wiki/Rotation_matrix#General_rotations
Parameters
Angle yaw

Rotates around Z

Angle pitch

Rotates around Y

Angle roll

Rotates around X

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem Rotation(Angle angle, Vector3D v)

Creates a coordinate system that rotates
Parameters
Angle angle

Angle to rotate

Vector3D v

Vector to rotate about

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem Rotation(Angle angle, UnitVector3D v)

Creates a coordinate system that rotates
Parameters
Angle angle

Angle to rotate

UnitVector3D v

Vector to rotate about

Return
CoordinateSystem

A rotating coordinate system

CoordinateSystem SetRotationSubMatrix(Matrix<double> r, CoordinateSystem coordinateSystem)

Creates a rotating coordinate system
Parameters
Matrix<double> r

A 3×3 matrix with the rotation portion

CoordinateSystem coordinateSystem

A rotated coordinate system

Return
CoordinateSystem

A rotating coordinate system

CoordinateSystem SetToAlignCoordinateSystems(Point3D fromOrigin, Vector3D fromXAxis, Vector3D fromYAxis, Vector3D fromZAxis, Point3D toOrigin, Vector3D toXAxis, Vector3D toYAxis, Vector3D toZAxis)

Sets this matrix to be the matrix that maps from the 'from' coordinate system to the 'to' coordinate system.
Parameters
Point3D fromOrigin

Input Point3D that defines the origin to map the coordinate system from.

Vector3D fromXAxis

Input Vector3D object that defines the X-axis to map the coordinate system from.

Vector3D fromYAxis

Input Vector3D object that defines the Y-axis to map the coordinate system from.

Vector3D fromZAxis

Input Vector3D object that defines the Z-axis to map the coordinate system from.

Point3D toOrigin

Input Point3D object that defines the origin to map the coordinate system to.

Vector3D toXAxis

Input Vector3D object that defines the X-axis to map the coordinate system to.

Vector3D toYAxis

Input Vector3D object that defines the Y-axis to map the coordinate system to.

Vector3D toZAxis

Input Vector3D object that defines the Z-axis to map the coordinate system to.

Return
CoordinateSystem

A mapping coordinate system

CoordinateSystem Translation(Vector3D translation)

Creates a translation
Parameters
Vector3D translation

A translation vector

Return
CoordinateSystem

A translated coordinate system

CoordinateSystem Yaw(Angle av)

Rotates around Z
Parameters
Angle av

An angle

Return
CoordinateSystem

A rotated coordinate system

Public Methods

void Add(double scalar, Matrix<double> result)

Matrix<double> Add(Matrix<double> other)

void Add(Matrix<double> other, Matrix<double> result)

Matrix<double> Add(double scalar)

void Append(Matrix<double> right, Matrix<double> result)

Matrix<double> Append(Matrix<double> right)

Double[,] AsArray()

Double[][] AsColumnArrays()

Double[] AsColumnMajorArray()

Double[][] AsRowArrays()

Double[] AsRowMajorArray()

void At(int row, int column, double value)

double At(int row, int column)

Cholesky<double> Cholesky()

void Clear()

void ClearColumn(int columnIndex)

void ClearColumns(Int32[] columnIndices)

void ClearRow(int rowIndex)

void ClearRows(Int32[] rowIndices)

void ClearSubMatrix(int rowIndex, int rowCount, int columnIndex, int columnCount)

Matrix<double> Clone()

void CoerceZero(double threshold)

void CoerceZero(Func<double, bool> zeroPredicate)

void Column(int columnIndex, int rowIndex, int length, Vector<double> result)

Vector<double> Column(int columnIndex, int rowIndex, int length)

Vector<double> Column(int index)

void Column(int index, Vector<double> result)

Vector<double> ColumnAbsoluteSums()

Vector<double> ColumnNorms(double norm)

Vector<double> ColumnSums()

double ConditionNumber()

Matrix<double> Conjugate()

void Conjugate(Matrix<double> result)

void ConjugateTranspose(Matrix<double> result)

Matrix<double> ConjugateTranspose()

void ConjugateTransposeAndMultiply(Matrix<double> other, Matrix<double> result)

Matrix<double> ConjugateTransposeAndMultiply(Matrix<double> other)

void ConjugateTransposeThisAndMultiply(Matrix<double> other, Matrix<double> result)

Matrix<double> ConjugateTransposeThisAndMultiply(Matrix<double> other)

Vector<double> ConjugateTransposeThisAndMultiply(Vector<double> rightSide)

void ConjugateTransposeThisAndMultiply(Vector<double> rightSide, Vector<double> result)

void CopyTo(Matrix<double> target)

double Determinant()

Vector<double> Diagonal()

Matrix<double> DiagonalStack(Matrix<double> lower)

void DiagonalStack(Matrix<double> lower, Matrix<double> result)

void Divide(double scalar, Matrix<double> result)

Matrix<double> Divide(double scalar)

void DivideByThis(double scalar, Matrix<double> result)

Matrix<double> DivideByThis(double scalar)

IEnumerable<double> Enumerate()

IEnumerable<double> Enumerate(Zeros zeros)

IEnumerable<Vector<double>> EnumerateColumns()

IEnumerable<Vector<double>> EnumerateColumns(int index, int length)

IEnumerable<Tuple<int, Vector<double>>> EnumerateColumnsIndexed()

IEnumerable<Tuple<int, Vector<double>>> EnumerateColumnsIndexed(int index, int length)

IEnumerable<Tuple<int, int, double>> EnumerateIndexed()

IEnumerable<Tuple<int, int, double>> EnumerateIndexed(Zeros zeros)

IEnumerable<Vector<double>> EnumerateRows(int index, int length)

IEnumerable<Vector<double>> EnumerateRows()

IEnumerable<Tuple<int, Vector<double>>> EnumerateRowsIndexed()

IEnumerable<Tuple<int, Vector<double>>> EnumerateRowsIndexed(int index, int length)

bool Equals(Matrix<double> other)

bool Equals(object obj)

bool Equals(CoordinateSystem other, double tolerance)

Returns a value to indicate if this CoordinateSystem is equivalent to a another CoordinateSystem
Parameters
CoordinateSystem other

The CoordinateSystem to compare against.

double tolerance

A tolerance (epsilon) to adjust for floating point error

Return
bool

true if the CoordinateSystems are equal; otherwise false

bool Equals(CoordinateSystem other)

Evd<double> Evd(Symmetricity symmetricity)

bool Exists(Func<double, bool> predicate, Zeros zeros)

bool Exists2<TOther>(Func<double, TOther, bool> predicate, Matrix<TOther> other, Zeros zeros)

Tuple<int, int, double> Find(Func<double, bool> predicate, Zeros zeros)

Tuple<int, int, double, TOther> Find2<TOther>(Func<double, TOther, bool> predicate, Matrix<TOther> other, Zeros zeros)

TState Fold2<TOther, TState>(Func<TState, double, TOther, TState> f, TState state, Matrix<TOther> other, Zeros zeros)

TU[] FoldByColumn<TU>(Func<TU, double, TU> f, TU state, Zeros zeros)

TU[] FoldByRow<TU>(Func<TU, double, TU> f, TU state, Zeros zeros)

Vector<TU> FoldColumns<TU>(Func<Vector<TU>, Vector<double>, Vector<TU>> f, Vector<TU> state)

Vector<TU> FoldRows<TU>(Func<Vector<TU>, Vector<double>, Vector<TU>> f, Vector<TU> state)

bool ForAll(Func<double, bool> predicate, Zeros zeros)

bool ForAll2<TOther>(Func<double, TOther, bool> predicate, Matrix<TOther> other, Zeros zeros)

double FrobeniusNorm()

int GetHashCode()

Matrix<double> GetRotationSubMatrix()

Returns a rotation sub matrix
Return
Matrix<double>

a rotation sub matrix

Type GetType()

GramSchmidt<double> GramSchmidt()

double InfinityNorm()

Matrix<double> InsertColumn(int columnIndex, Vector<double> column)

Matrix<double> InsertRow(int rowIndex, Vector<double> row)

Matrix<double> Inverse()

CoordinateSystem Invert()

Inverts this coordinate system
Return
CoordinateSystem

An inverted coordinate system

bool IsHermitian()

bool IsSymmetric()

Vector`1[] Kernel()

Matrix<double> KroneckerProduct(Matrix<double> other)

void KroneckerProduct(Matrix<double> other, Matrix<double> result)

double L1Norm()

double L2Norm()

void LeftMultiply(Vector<double> leftSide, Vector<double> result)

Vector<double> LeftMultiply(Vector<double> leftSide)

void LowerTriangle(Matrix<double> result)

Matrix<double> LowerTriangle()

LU<double> LU()

void Map(Func<double, double> f, Matrix<double> result, Zeros zeros)

Matrix<TU> Map<TU>(Func<double, TU> f, Zeros zeros)

Matrix<double> Map2(Func<double, double, double> f, Matrix<double> other, Zeros zeros)

void Map2(Func<double, double, double> f, Matrix<double> other, Matrix<double> result, Zeros zeros)

void MapConvert<TU>(Func<double, TU> f, Matrix<TU> result, Zeros zeros)

void MapIndexed(Func<int, int, double, double> f, Matrix<double> result, Zeros zeros)

Matrix<TU> MapIndexed<TU>(Func<int, int, double, TU> f, Zeros zeros)

void MapIndexedConvert<TU>(Func<int, int, double, TU> f, Matrix<TU> result, Zeros zeros)

void MapIndexedInplace(Func<int, int, double, double> f, Zeros zeros)

void MapInplace(Func<double, double> f, Zeros zeros)

Matrix<double> Modulus(double divisor)

void Modulus(double divisor, Matrix<double> result)

Matrix<double> ModulusByThis(double dividend)

void ModulusByThis(double dividend, Matrix<double> result)

void Multiply(double scalar, Matrix<double> result)

Vector<double> Multiply(Vector<double> rightSide)

void Multiply(Matrix<double> other, Matrix<double> result)

Matrix<double> Multiply(Matrix<double> other)

Matrix<double> Multiply(double scalar)

void Multiply(Vector<double> rightSide, Vector<double> result)

Matrix<double> Negate()

void Negate(Matrix<double> result)

Matrix<double> NormalizeColumns(double norm)

Matrix<double> NormalizeRows(double norm)

int Nullity()

CoordinateSystem OffsetBy(UnitVector3D v)

Translates a coordinate system
Parameters
UnitVector3D v

a translation vector

Return
CoordinateSystem

A translated coordinate system

CoordinateSystem OffsetBy(Vector3D v)

Translates a coordinate system
Parameters
Vector3D v

a translation vector

Return
CoordinateSystem

A translated coordinate system

void PermuteColumns(Permutation p)

void PermuteRows(Permutation p)

void PointwiseAbs(Matrix<double> result)

Matrix<double> PointwiseAbs()

Matrix<double> PointwiseAbsoluteMaximum(double scalar)

void PointwiseAbsoluteMaximum(Matrix<double> other, Matrix<double> result)

Matrix<double> PointwiseAbsoluteMaximum(Matrix<double> other)

void PointwiseAbsoluteMaximum(double scalar, Matrix<double> result)

void PointwiseAbsoluteMinimum(double scalar, Matrix<double> result)

Matrix<double> PointwiseAbsoluteMinimum(double scalar)

void PointwiseAbsoluteMinimum(Matrix<double> other, Matrix<double> result)

Matrix<double> PointwiseAbsoluteMinimum(Matrix<double> other)

Matrix<double> PointwiseAcos()

void PointwiseAcos(Matrix<double> result)

void PointwiseAsin(Matrix<double> result)

Matrix<double> PointwiseAsin()

Matrix<double> PointwiseAtan()

void PointwiseAtan(Matrix<double> result)

Matrix<double> PointwiseAtan2(Matrix<double> other)

void PointwiseAtan2(Matrix<double> other, Matrix<double> result)

Matrix<double> PointwiseCeiling()

void PointwiseCeiling(Matrix<double> result)

Matrix<double> PointwiseCos()

void PointwiseCos(Matrix<double> result)

Matrix<double> PointwiseCosh()

void PointwiseCosh(Matrix<double> result)

Matrix<double> PointwiseDivide(Matrix<double> divisor)

void PointwiseDivide(Matrix<double> divisor, Matrix<double> result)

Matrix<double> PointwiseExp()

void PointwiseExp(Matrix<double> result)

void PointwiseFloor(Matrix<double> result)

Matrix<double> PointwiseFloor()

Matrix<double> PointwiseLog()

void PointwiseLog(Matrix<double> result)

void PointwiseLog10(Matrix<double> result)

Matrix<double> PointwiseLog10()

void PointwiseMaximum(Matrix<double> other, Matrix<double> result)

void PointwiseMaximum(double scalar, Matrix<double> result)

Matrix<double> PointwiseMaximum(double scalar)

Matrix<double> PointwiseMaximum(Matrix<double> other)

void PointwiseMinimum(double scalar, Matrix<double> result)

void PointwiseMinimum(Matrix<double> other, Matrix<double> result)

Matrix<double> PointwiseMinimum(Matrix<double> other)

Matrix<double> PointwiseMinimum(double scalar)

void PointwiseModulus(Matrix<double> divisor, Matrix<double> result)

Matrix<double> PointwiseModulus(Matrix<double> divisor)

Matrix<double> PointwiseMultiply(Matrix<double> other)

void PointwiseMultiply(Matrix<double> other, Matrix<double> result)

Matrix<double> PointwisePower(double exponent)

void PointwisePower(double exponent, Matrix<double> result)

Matrix<double> PointwisePower(Matrix<double> exponent)

void PointwisePower(Matrix<double> exponent, Matrix<double> result)

Matrix<double> PointwiseRemainder(Matrix<double> divisor)

void PointwiseRemainder(Matrix<double> divisor, Matrix<double> result)

void PointwiseRound(Matrix<double> result)

Matrix<double> PointwiseRound()

void PointwiseSign(Matrix<double> result)

Matrix<double> PointwiseSign()

Matrix<double> PointwiseSin()

void PointwiseSin(Matrix<double> result)

Matrix<double> PointwiseSinh()

void PointwiseSinh(Matrix<double> result)

void PointwiseSqrt(Matrix<double> result)

Matrix<double> PointwiseSqrt()

Matrix<double> PointwiseTan()

void PointwiseTan(Matrix<double> result)

Matrix<double> PointwiseTanh()

void PointwiseTanh(Matrix<double> result)

Matrix<double> Power(int exponent)

void Power(int exponent, Matrix<double> result)

Matrix<double> PseudoInverse()

QR<double> QR(QRMethod method)

Vector`1[] Range()

int Rank()

Vector<double> ReduceColumns(Func<Vector<double>, Vector<double>, Vector<double>> f)

Vector<double> ReduceRows(Func<Vector<double>, Vector<double>, Vector<double>> f)

void Remainder(double divisor, Matrix<double> result)

Matrix<double> Remainder(double divisor)

Matrix<double> RemainderByThis(double dividend)

void RemainderByThis(double dividend, Matrix<double> result)

Matrix<double> RemoveColumn(int columnIndex)

Matrix<double> RemoveRow(int rowIndex)

CoordinateSystem ResetRotations()

Resets rotations preserves scales
Return
CoordinateSystem

A coordinate system with reset rotation

CoordinateSystem RotateCoordSysAroundVector(UnitVector3D about, Angle angle)

Rotates a coordinate system around a vector
Parameters
UnitVector3D about

The vector

Angle angle

An angle

Return
CoordinateSystem

A rotated coordinate system

CoordinateSystem RotateNoReset(Angle yaw, Angle pitch, Angle roll)

Rotate without Reset
Parameters
Angle yaw

The yaw

Angle pitch

The pitch

Angle roll

The roll

Return
CoordinateSystem

A rotated coordinate system

Vector<double> Row(int rowIndex, int columnIndex, int length)

void Row(int rowIndex, int columnIndex, int length, Vector<double> result)

void Row(int index, Vector<double> result)

Vector<double> Row(int index)

Vector<double> RowAbsoluteSums()

Vector<double> RowNorms(double norm)

Vector<double> RowSums()

void SetColumn(int columnIndex, Double[] column)

void SetColumn(int columnIndex, int rowIndex, int length, Vector<double> column)

void SetColumn(int columnIndex, Vector<double> column)

void SetDiagonal(Vector<double> source)

void SetDiagonal(Double[] source)

CoordinateSystem SetRotationSubMatrix(Matrix<double> r)

Creates a rotation submatrix
Parameters
Matrix<double> r

a matrix

Return
CoordinateSystem

a coordinate system

void SetRow(int rowIndex, Vector<double> row)

void SetRow(int rowIndex, Double[] row)

void SetRow(int rowIndex, int columnIndex, int length, Vector<double> row)

void SetSubMatrix(int rowIndex, int sorceRowIndex, int rowCount, int columnIndex, int sourceColumnIndex, int columnCount, Matrix<double> subMatrix)

void SetSubMatrix(int rowIndex, int rowCount, int columnIndex, int columnCount, Matrix<double> subMatrix)

void SetSubMatrix(int rowIndex, int columnIndex, Matrix<double> subMatrix)

CoordinateSystem SetTranslation(Vector3D v)

Returns a translation coordinate system
Parameters
Vector3D v

a vector

Return
CoordinateSystem

a coordinate system

Matrix<double> Solve(Matrix<double> input)

void Solve(Matrix<double> input, Matrix<double> result)

Vector<double> Solve(Vector<double> input)

void Solve(Vector<double> input, Vector<double> result)

Matrix<double> SolveIterative(Matrix<double> input, IIterativeSolver<double> solver, Iterator<double> iterator, IPreconditioner<double> preconditioner)

Vector<double> SolveIterative(Vector<double> input, IIterativeSolver<double> solver, IIterationStopCriterion`1[] stopCriteria)

Matrix<double> SolveIterative(Matrix<double> input, IIterativeSolver<double> solver, IPreconditioner<double> preconditioner, IIterationStopCriterion`1[] stopCriteria)

Matrix<double> SolveIterative(Matrix<double> input, IIterativeSolver<double> solver, IIterationStopCriterion`1[] stopCriteria)

Vector<double> SolveIterative(Vector<double> input, IIterativeSolver<double> solver, Iterator<double> iterator, IPreconditioner<double> preconditioner)

Vector<double> SolveIterative(Vector<double> input, IIterativeSolver<double> solver, IPreconditioner<double> preconditioner, IIterationStopCriterion`1[] stopCriteria)

Matrix<double> Stack(Matrix<double> lower)

void Stack(Matrix<double> lower, Matrix<double> result)

void StrictlyLowerTriangle(Matrix<double> result)

Matrix<double> StrictlyLowerTriangle()

Matrix<double> StrictlyUpperTriangle()

void StrictlyUpperTriangle(Matrix<double> result)

Matrix<double> SubMatrix(int rowIndex, int rowCount, int columnIndex, int columnCount)

void Subtract(double scalar, Matrix<double> result)

Matrix<double> Subtract(double scalar)

Matrix<double> Subtract(Matrix<double> other)

void Subtract(Matrix<double> other, Matrix<double> result)

Matrix<double> SubtractFrom(double scalar)

void SubtractFrom(double scalar, Matrix<double> result)

Svd<double> Svd(bool computeVectors)

Double[,] ToArray()

Double[][] ToColumnArrays()

Double[] ToColumnMajorArray()

string ToMatrixString(string format, IFormatProvider provider)

string ToMatrixString(int maxRows, int maxColumns, string format, IFormatProvider provider)

string ToMatrixString(int upperRows, int lowerRows, int minLeftColumns, int rightColumns, int maxWidth, string horizontalEllipsis, string verticalEllipsis, string diagonalEllipsis, string columnSeparator, string rowSeparator, Func<double, string> formatValue)

string ToMatrixString(int upperRows, int lowerRows, int leftColumns, int rightColumns, string horizontalEllipsis, string verticalEllipsis, string diagonalEllipsis, string columnSeparator, string rowSeparator, Func<double, string> formatValue)

String[,] ToMatrixStringArray(int upperRows, int lowerRows, int leftColumns, int rightColumns, string horizontalEllipsis, string verticalEllipsis, string diagonalEllipsis, Func<double, string> formatValue)

String[,] ToMatrixStringArray(int upperRows, int lowerRows, int minLeftColumns, int rightColumns, int maxWidth, int padding, string horizontalEllipsis, string verticalEllipsis, string diagonalEllipsis, Func<double, string> formatValue)

Double[][] ToRowArrays()

Double[] ToRowMajorArray()

string ToString()

Returns a string representation of the coordinate system
Return
string

a string

string ToString(int maxRows, int maxColumns, string format, IFormatProvider formatProvider)

string ToString(string format, IFormatProvider formatProvider)

string ToTypeString()

double Trace()

Ray3D Transform(Ray3D ray)

Transforms a ray and returns the transformed.
Parameters
Ray3D ray

A ray

Return
Ray3D

A transformed ray

Vector3D Transform(Vector3D v)

Given a transform from coordinate system A to coordinate system B, and a vector v expressed in coordinate system B, it returns the vector expressed in coordinate system A
Parameters
Vector3D v

Vector whose coordinates are expressed in coordinate system B

Return
Vector3D

The vector expressed in coordinate system A

Vector3D Transform(UnitVector3D v)

Given a transform from coordinate system A to coordinate system B, and a vector v expressed in coordinate system B, it returns the vector expressed in coordinate system A
Parameters
UnitVector3D v

Unit vector whose coordinates are expressed in coordinate system B

Return
Vector3D

The vector expressed in coordinate system A

Point3D Transform(Point3D p)

Given a transform from coordinate system A to coordinate system B, and a point p expressed in coordinate system B, it returns the point expressed in coordinate system A
Parameters
Point3D p

Point whose coordinates are expressed in coordinate system B

Return
Point3D

The point expressed in coordinate system A

CoordinateSystem Transform(CoordinateSystem cs)

Transforms a coordinate system and returns the transformed
Parameters
CoordinateSystem cs

a coordinate system

Return
CoordinateSystem

A transformed coordinate system

LineSegment3D Transform(LineSegment3D l)

Transforms a line segment.
Parameters
LineSegment3D l

A line segment

Return
LineSegment3D

The transformed line segment

CoordinateSystem TransformBy(Matrix<double> matrix)

Transforms a coordinate system
Parameters
Matrix<double> matrix

a matrix

Return
CoordinateSystem

A transformed coordinate system

CoordinateSystem TransformBy(CoordinateSystem cs)

Transforms this by the coordinate system and returns the transformed.
Parameters
CoordinateSystem cs

a coordinate system

Return
CoordinateSystem

a transformed coordinate system

Point3D TransformFromCoordSys(Point3D p)

Transforms a point according to the inverse of this change matrix
Parameters
Point3D p

a point

Return
Point3D

a transformed point

Ray3D TransformFromCoordSys(Ray3D r)

Transforms a ray according to the inverse of this change matrix
Parameters
Ray3D r

a ray

Return
Ray3D

a transformed ray

Ray3D TransformToCoordSys(Ray3D r)

Transforms a ray according to this change matrix
Parameters
Ray3D r

a ray

Return
Ray3D

a transformed ray

Point3D TransformToCoordSys(Point3D p)

Transforms a point according to this change matrix
Parameters
Point3D p

a point

Return
Point3D

a transformed point

void Transpose(Matrix<double> result)

Matrix<double> Transpose()

void TransposeAndMultiply(Matrix<double> other, Matrix<double> result)

Matrix<double> TransposeAndMultiply(Matrix<double> other)

Vector<double> TransposeThisAndMultiply(Vector<double> rightSide)

void TransposeThisAndMultiply(Vector<double> rightSide, Vector<double> result)

void TransposeThisAndMultiply(Matrix<double> other, Matrix<double> result)

Matrix<double> TransposeThisAndMultiply(Matrix<double> other)

IterationStatus TrySolveIterative(Vector<double> input, Vector<double> result, IIterativeSolver<double> solver, IPreconditioner<double> preconditioner, IIterationStopCriterion`1[] stopCriteria)

IterationStatus TrySolveIterative(Matrix<double> input, Matrix<double> result, IIterativeSolver<double> solver, IIterationStopCriterion`1[] stopCriteria)

IterationStatus TrySolveIterative(Matrix<double> input, Matrix<double> result, IIterativeSolver<double> solver, Iterator<double> iterator, IPreconditioner<double> preconditioner)

IterationStatus TrySolveIterative(Vector<double> input, Vector<double> result, IIterativeSolver<double> solver, Iterator<double> iterator, IPreconditioner<double> preconditioner)

IterationStatus TrySolveIterative(Matrix<double> input, Matrix<double> result, IIterativeSolver<double> solver, IPreconditioner<double> preconditioner, IIterationStopCriterion`1[] stopCriteria)

IterationStatus TrySolveIterative(Vector<double> input, Vector<double> result, IIterativeSolver<double> solver, IIterationStopCriterion`1[] stopCriteria)

void UpperTriangle(Matrix<double> result)

Matrix<double> UpperTriangle()

Public Properties

CoordinateSystem BaseChangeMatrix get;

Gets the base change matrix

int ColumnCount get;

double Item get; set;

Vector3D OffsetToBase get;

Gets the offset to origin

Point3D Origin get;

Gets the point of origin

int RowCount get;

MatrixStorage<double> Storage get;

Double[] Values get;

Vector3D XAxis get;

Gets the X Axis

Vector3D YAxis get;

Gets the Y Axis

Vector3D ZAxis get;

Gets the z Axis