Similarity3d
Represents a Similarity Transformation in 3D that is composed of a Uniform Scale and a subsequent Euclidean transformation (3D rotation Rot and a subsequent translation by a 3D vector Trans). This is an angle preserving Transformation.
Constructors
Constructor | Description |
new(scale, euclideanTransformation)
Signature: (scale:float * euclideanTransformation:Euclidean3d) -> unit
|
Creates a similarity transformation from an uniform scale by factor , and a (subsequent) rigid transformation . |
new(euclideanTransformation, scale)
Signature: (euclideanTransformation:Euclidean3d * scale:float) -> unit
|
Creates a similarity transformation from a rigid transformation and an (subsequent) uniform scale by factor . |
new(m, epsilon)
Signature: (m:M44d * epsilon:float) -> unit
|
Instance members
Instance member | Description |
Equals(other)
Signature: other:obj -> bool
Modifiers: abstract |
|
GetHashCode()
Signature: unit -> int
Modifiers: abstract |
|
Inverse
Signature: Similarity3d
|
Gets the (multiplicative) inverse of this Similarity transformation. [1/Scale, Rot^T,-Rot^T Trans/Scale] |
Invert()
Signature: unit -> unit
|
Inverts this similarity transformation (multiplicative inverse). this = [1/Scale, Rot^T,-Rot^T Trans/Scale] |
InvTransformDir(v)
Signature: v:V3d -> V3d
|
Transforms direction vector v (v.w is presumed 0.0) by the inverse of this similarity transformation. Actually, only the rotation is used. |
InvTransformPos(p)
Signature: p:V3d -> V3d
|
Transforms point p (p.w is presumed 1.0) by the inverse of this similarity transformation. |
Normalize()
Signature: unit -> unit
|
Normalizes the rotation quaternion. |
Normalized
Signature: Similarity3d
|
Returns a new version of this Similarity transformation with a normalized rotation quaternion. |
Rot
Signature: Rot3d
|
Shortcut for Rot of EuclideanTransformation |
ToString()
Signature: unit -> string
Modifiers: abstract |
|
Trans
Signature: V3d
|
Shortcut for Trans of EuclideanTransformation |
TransformDir(v)
Signature: v:V3d -> V3d
|
Transforms direction vector v (v.w is presumed 0.0) by this similarity transformation. Actually, only the rotation is used. |
TransformPos(p)
Signature: p:V3d -> V3d
|
Transforms point p (p.w is presumed 1.0) by this similarity transformation. |
Static members
Static member | Description |
ApproxEqual(t0, t1)
Signature: (t0:Similarity3d * t1:Similarity3d) -> bool
|
|
ApproxEqual(...)
Signature: (t0:Similarity3d * t1:Similarity3d * angleTol:float * posTol:float * scaleTol:float) -> bool
|
|
InvTransformDir(t, v)
Signature: (t:Similarity3d * v:V3d) -> V3d
|
Transforms direction vector v (v.w is presumed 0.0) by the inverse of the similarity transformation t. Actually, only the rotation is used. |
InvTransformPos(t, p)
Signature: (t:Similarity3d * p:V3d) -> V3d
|
Transforms point p (p.w is presumed 1.0) by the inverse of the similarity transformation t. |
Multiply(a, b)
Signature: (a:Similarity3d * b:Similarity3d) -> Similarity3d
|
Multiplies 2 Similarity transformations. This concatenates the two similarity transformations into a single one, first b is applied, then a. Attention: Multiplication is NOT commutative! |
Multiply(a, b)
Signature: (a:Similarity3d * b:Euclidean3d) -> Similarity3d
|
Multiplies a Similarity transformation by an Euclidean transformation. This concatenates the two transformations into a single one, first b is applied, then a. Attention: Multiplication is NOT commutative! |
Multiply(a, b)
Signature: (a:Euclidean3d * b:Similarity3d) -> Similarity3d
|
Multiplies an Euclidean transformation by a Similarity transformation. This concatenates the two transformations into a single one, first b is applied, then a. Attention: Multiplication is NOT commutative! |
op_Equality(t0, t1)
Signature: (t0:Similarity3d * t1:Similarity3d) -> bool
|
|
op_Explicit(t)
Signature: t:Similarity3d -> M34d
|
|
op_Explicit(t)
Signature: t:Similarity3d -> M44d
|
|
op_Inequality(t0, t1)
Signature: (t0:Similarity3d * t1:Similarity3d) -> bool
|
|
op_Multiply(a, b)
Signature: (a:Similarity3d * b:Similarity3d) -> Similarity3d
|
|
op_Multiply(a, b)
Signature: (a:Euclidean3d * b:Similarity3d) -> Similarity3d
|
|
op_Multiply(a, b)
Signature: (a:Similarity3d * b:Euclidean3d) -> Similarity3d
|
|
Parse(s)
Signature: s:string -> Similarity3d
|
|
TransformDir(t, v)
Signature: (t:Similarity3d * v:V3d) -> V3d
|
Transforms direction vector v (v.w is presumed 0.0) by similarity transformation t. Actually, only the rotation is used. |
TransformPos(t, p)
Signature: (t:Similarity3d * p:V3d) -> V3d
|
Transforms point p (p.w is presumed 1.0) by similarity transformation t. |