MathNet.Spatial
A means of representing spatial orientation of any reference frame.
More information can be found https://en.wikipedia.org/wiki/Euler_angles
Alpha (or phi) is the rotation around the z axis
Beta (or theta) is the rotation around the N axis
Gamma (or psi) is the rotation around the Z axis
This structure represents a line between two points in 2-space. It allows for operations such as
computing the length, direction, projections to, compairisons, and shifting by a vector.
The starting point of the line
The end point of the line
A double precision number representing the distance between the startpoint and endpoint
A normalized Vector2D representing the direction from the startpoint to the endpoint
Constructor for the Line2D, throws an error if the startpoint is equal to the
endpoint.
the starting point of the line
the ending point of the line
Compute and store the length and direction of the Line2D, used for lazy loading
Returns the shortest line between this line and a point.
the point to create a line to
If false the startpoint can extend beyond the start and endpoint of the line
Returns the closest point on the line to the given point.
The point that the returned point is the closest point on the line to
If true the returned point is contained by the segment ends, otherwise it can be anywhere on the projected line
Compute the intersection between two lines with parallelism considered by the double floating point precision
on the cross product of the two directions.
The other line to compute the intersection with
The point at the intersection of two lines, or null if the lines are parallel.
Compute the intersection between two lines if the angle between them is greater than a specified
angle tolerance.
The other line to compute the intersection with
The point at the intersection of two lines, or null if the lines are parallel.
Checks to determine whether or not two lines are parallel to each other, using the dot product within
the double precision specified in the MathNet.Numerics package.
The other line to check this one against
True if the lines are parallel, false if they are not
Checks to determine whether or not two lines are parallel to each other within a specified angle tolerance
The other line to check this one against
If the angle between line directions is less than this value, the method returns true
True if the lines are parallel within the angle tolerance, false if they are not
Serves as a hash function for a particular type.
A hash code for the current
Helper class for creating matrices for manipulating 2D-elements
Creates a rotation about the z-axis
Creates an arbitrary 2D transform
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Creates a point r from origin rotated a counterclockwise from X-Axis
This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the method and consumed by the method.
Generates an object from its XML representation.
Handles both attribute and element style
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
return new Point3D(X, Y, 0);
return new Point3D(X, Y, 0);
return cs.Transform(this.ToPoint3D());
Create a new Point2D from a Math.NET Numerics vector of length 2.
Convert to a Math.NET Numerics dense vector of length 2.
Class to represent a closed polygon. If the
Test whether a point is enclosed within a polygon. Points on the polygon edges are not
counted as contained within the polygon.
Compute whether or not two polygons are colliding based on whether or not the vertices of
either are enclosed within the shape of the other. This is a simple means of detecting collisions
that can fail if the two polygons are heavily overlapped in such a way that one protrudes through
the other and out its opposing side without any vertices being enclosed.
Determine whether or not a point is inside a polygon using the intersection counting
method. Return true if the point is contained, false if it is not. Points which lie
on the edge are not counted as inside the polygon.
Using the recursive QuickHull algorithm, take an IEnumerable of Point2Ds and compute the
two dimensional convex hull, returning it as a Polygon2D object.
Recursive method to isolate the points from the working list which lie on the convex hull
Rotate the polygon around the specified point
The PolyLine2D class represents a 2D curve in space made up of line segments joined end-to-end, and is
stored as a sequential list of 2D points.
Returns the number of points in the polyline
Returns the length of the polyline as the sum of the length of the individual segments
Access a point in the polyline by index number
Constructor which creates a PolyLine2D off of a pre-existing IEnumerable of Point2Ds
Computes the length of the polyline by summing the lengths of the individual segments
Get the point at a fractional distance along the curve. For instance, fraction=0.5 will return
the point halfway along the length of the polyline.
The fractional length at which to compute the point
Get the point at a specified distance along the curve. A negative argument will return the first point,
an argument greater than the length of the curve will return the last point.
The distance from the first point along the curve at which to return a point
Reduce the complexity of a manifold of points represented as an IEnumerable of Point2D objects.
This algorithm goes through each point in the manifold and computes the error that would be introduced
from the original if that point were removed. Then it removes nonadjacent points to produce a
reduced size manifold.
Reduce the complexity of a manifold of points represented as an IEnumerable of Point2D objects by
iteratively removing all nonadjacent points which would each result in an error of less than the
single step tolerance if removed. Iterate until no further changes are made.
Returns the closest point on the polyline to the given point.
A PolyLine is an ordered series of line segments in space represented as list of connected Point3Ds.
An integer representing the number of Point3D objects in the polyline
The length of the polyline, computed as the sum of the lengths of every segment
Indicates whether or not the collection of points in the polyline are planar within
the floating point tolerance
Computes the length of the polyline by summing the lengths of the individual segments
Get the point at a fractional distance along the curve. For instance, fraction=0.5 will return
the point halfway along the length of the polyline.
The fractional length at which to compute the point
Get the point at a specified distance along the curve. A negative argument will return the first point,
an argument greater than the length of the curve will return the last point.
The distance from the first point along the curve at which to return a point
Returns the closest point on the polyline to the given point.
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Creates a vector with length r rotated a counterclockwise from X-Axis
The radius
The angle
This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the method and consumed by the method.
Generates an object from its XML representation.
Handles both attribute and element style
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
Computes whether or not this vector is parallel to another vector using the dot product method
and comparing to within a specified tolerance
True if the vector dot product is within the given double tolerance of unity, false if not
Computes whether or not this vector is parallel to another vector within a given angle tolerance.
True if the vectors are parallel within the angle tolerance, false if they are not
Positive in clockwisedirection
If angle is > 180° a negative value is returned
Compute the angle between this vector and another using the arccosine of the dot product.
The angle between vectors, with a range between 0° and 180°
Performs the 2D 'cross product' as if the 2D vectors were really 3D vectors in the z=0 plane, returning
the scalar magnitude and direction of the resulting z value.
Projects this vector onto another vector
Create a new Vector2D from a Math.NET Numerics vector of length 2.
Convert to a Math.NET Numerics dense vector of length 2.
Create a circle from the midpoint between two points, in a direction along a specified axis
First point on the circumference of the circle
Second point on the circumference of the circle
Direction of the plane in which the circle lies
Create a circle from three points which lie along its circumference.
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.
Input Vector object to align from.
Input Vector object to align to.
Input Vector object.
Creates a coordinate system that rotates
Angle to rotate
The unit of the angle
Vector to rotate about
Creates a coordinate system that rotates
Angle to rotate
The unit of the angle
Vector to rotate about
Creates a coordinate system that rotates
Angle to rotate
Vector to rotate about
Creates a coordinate system that rotates
Angle to rotate
Vector to rotate about
Rotation around Z (yaw) then around Y (pitch) and then around X (roll)
http://en.wikipedia.org/wiki/Aircraft_principal_axes
Rotates around Z
Rotates around Y
Rotates around X
Rotation around Z (yaw) then around Y (pitch) and then around X (roll)
http://en.wikipedia.org/wiki/Aircraft_principal_axes
Rotates around Z
Rotates around Y
Rotates around X
Rotates around Z
Rotates around Z
Rotates around Y
Rotates around Y
Rotates around X
Rotates around X
Creates a coordinate system that maps from the 'from' coordinate system to the 'to' coordinate system.
Sets this matrix to be the matrix that maps from the 'from' coordinate system to the 'to' coordinate system.
Input Point3D that defines the origin to map the coordinate system from.
Input Vector3D object that defines the X-axis to map the coordinate system from.
Input Vector3D object that defines the Y-axis to map the coordinate system from.
Input Vector3D object that defines the Z-axis to map the coordinate system from.
Input Point3D object that defines the origin to map the coordinate system to.
Input Vector3D object that defines the X-axis to map the coordinate system to.
Input Vector3D object that defines the Y-axis to map the coordinate system to.
Input Vector3D object that defines the Z-axis to map the coordinate system to.
Creates a translation
A 3×3 matrix with the rotation portion
Resets rotations preserves scales
Transforms a vector and returns the transformed vector
Transforms a vector and returns the transformed vector
Transforms a point and returns the transformed point
Transforms a coordinate system and returns the transformed
Transforms a line and returns the transformed.
Transforms a ray and returns the transformed.
Transfomes this by the coordinate system and returns the tranformed.
A line between two points
The startpoint of the line
The endpoint of the line
Throws if StartPoint == EndPoint
Distance from startpoint to endpoint, the length of the line
The direction from the startpoint to the endpoint
Creates a Line from its string representation
The string representation of the startpoint
The string representation of the endpoint
Returns the shortest line to a point
If false the startpoint can be on the line extending beyond the start and endpoint of the line
Returns the closest point on the line to the given point.
The point which the returned point is the closest point on the line to
If true the returned point is contained by the segment ends, otherwise it can be anywhere on the projected line.
The line projected on a plane
Find the intersection between the line and a plane
Checks to determine whether or not two lines are parallel to each other, using the dot product within
the double precision specified in the MathNet.Numerics package.
The other line to check this one against
True if the lines are parallel, false if they are not
Checks to determine whether or not two lines are parallel to each other within a specified angle tolerance
The other line to check this one against
If the angle between line directions is less than this value, the method returns true
True if the lines are parallel within the angle tolerance, false if they are not
Computes the pair of points which represent the closest distance between this Line3D and another Line3D, with the first
point being the point on this Line3D, and the second point being the corresponding point on the other Line3D. If the lines
intersect the points will be identical, if the lines are parallel the first point will be the start point of this line.
line to compute the closest points with
A tuple of two points representing the endpoints of the shortest distance between the two lines
Computes the pair of points which represents the closest distance between this Line3D and another Line3D, with the option
of treating the lines as segments bounded by their start and end points.
line to compute the closest points with
if true, the lines are treated as segments bounded by the start and end point
A tuple of two points representing the endpoints of the shortest distance between the two lines or segments
Indicates whether the current object is equal to another object of the same type.
true if the current object is equal to the parameter; otherwise, false.
An object to compare with this object.
Determines whether the specified is equal to the current .
true if the specified is equal to the current ; otherwise, false.
The to compare with the current . 2
Serves as a hash function for a particular type.
A hash code for the current .
2
http://www.had2know.com/academics/equation-plane-through-3-points.html
Creates a Plane from its string representation
The string representation of the Plane
Project Vector3D onto this plane
The Vector3D to project
The projected Vector3D
Project Vector3D onto this plane
The Vector3D to project
The projected Vector3D
Finds the intersection of the two planes, throws if they are parallel
http://mathworld.wolfram.com/Plane-PlaneIntersection.html
Find intersection between Line3D and Plane
http://geomalgorithms.com/a05-_intersect-1.html
Intersection Point or null
http://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/raycast/sld017.htm
Indicates whether the current object is equal to another object of the same type.
true if the current object is equal to the parameter; otherwise, false.
An object to compare with this object.
Determines whether the specified is equal to the current .
true if the specified is equal to the current ; otherwise, false.
The to compare with the current . 2
Serves as a hash function for a particular type.
A hash code for the current .
2
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Creates a Point3D from its string representation
The string representation of the Point3D
This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the method and consumed by the method.
Generates an object from its XML representation.
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
Create a new Point3D from a Math.NET Numerics vector of length 3.
Convert to a Math.NET Numerics dense vector of length 3.
Quaternion Number
http://en.wikipedia.org/wiki/Quaternion
http://mathworld.wolfram.com/Quaternion.html
http://web.cs.iastate.edu/~cs577/handouts/quaternion.pdf
http://www.lce.hut.fi/~ssarkka/pub/quat.pdf
Initializes a new instance of the Quatpow
ernion.
Given a Vector (w,x,y,z), transforms it into a Quaternion = w+xi+yj+zk
The vector to transform into a Quaternion
Neutral element for multiplication
Neutral element for sum
Calculates norm of quaternion from it's algebraical notation
Creates unit quaternion (it's norm == 1) from it's algebraical notation
Gets the real part of the quaternion.
Gets the imaginary X part (coefficient of complex I) of the quaternion.
Gets the imaginary Y part (coefficient of complex J) of the quaternion.
Gets the imaginary Z part (coefficient of complex K) of the quaternion.
Gets the the sum of the squares of the four components.
Gets the norm of the quaternion q: square root of the sum of the squares of the four components.
Gets the argument phi = arg(q) of the quaternion q, such that q = r*(cos(phi) +
u*sin(phi)) = r*exp(phi*u) where r is the absolute and u the unit vector of
q.
True if the quaternion q is of length |q| = 1.
To normalize a quaternion to a length of 1, use the method.
All unit quaternions form a 3-sphere.
The quaternion expresses a relationship between two coordinate frames, A and B say. This relationship, if
expressed using Euler angles, is as follows:
1) Rotate frame A about its z axis by angle gamma;
2) Rotate the resulting frame about its (new) y axis by angle beta;
3) Rotate the resulting frame about its (new) x axis by angle alpha, to arrive at frame B.
Returns a new Quaternion q with the Scalar part only.
If you need a Double, use the Real-Field instead.
Returns a new Quaternion q with the Vector part only.
Returns a new normalized Quaternion u with the Vector part only, such that ||u|| = 1.
Q may then be represented as q = r*(cos(phi) + u*sin(phi)) = r*exp(phi*u) where r is the absolute and phi the argument of q.
Returns a new normalized Quaternion q with the direction of this quaternion.
Roatates the provided rotation quaternion with this quaternion
The rotation quaternion to rotate
Roatates the provided unit quaternion with this quaternion
The unit quaternion to rotate
(nop)
Negate a quaternion.
Add a quaternion to a quaternion.
Add a floating point number to a quaternion.
Add a quaternion to a floating point number.
Subtract a quaternion from a quaternion.
Subtract a floating point number from a quaternion.
Subtract a floating point number from a quaternion.
Multiply a quaternion with a quaternion.
Multiply a floating point number with a quaternion.
Multiply a floating point number with a quaternion.
Divide a quaternion by a quaternion.
Divide a quaternion by a floating point number.
Raise a quaternion to a quaternion.
Raise a quaternion to a floating point number.
Equality operator for two quaternions
Equality operator for quaternion and double
Equality operator for quaternion and double
Inequality operator for two quaternions
Inequality operator for quaternion and double
Inequality operator for quaternion and double
Negate this quaternion.
Inverts this quaternion. Inversing Zero returns Zero
Returns the distance |a-b| of two quaternions, forming a metric space.
Conjugate this quaternion.
Logarithm to a given base.
Natural Logarithm to base E.
Common Logarithm to base 10.
Exponential Function.
Raise the quaternion to a given power.
This algorithm is not very accurate and works only for normalized quaternions
Returns cos(n*arccos(x)) = 2*Cos((n-1)arccos(x))cos(arccos(x)) - cos((n-2)*arccos(x))
Returns sin(n*x)
Raise the quaternion to a given power.
Square root of the Quaternion: q^(1/2).
returns quaternion as real+ImagXi+ImagYj+ImagZk based on format provided
returns quaternion as real+ImagXi+ImagYj+ImagZk
Equality for quaternions
Equality for quaternion
Quaternion hashcode based on all members.
The intersection of the two planes
Parses string representation of throughpoint and direction
This is mainly meant for tests
Parses a string in the format: 'p:{1, 2, 3} v:{0, 0, 1}' to a Ray3D
This is mainly meant for tests
Returns the shortes line from a point to the ray
Returns a that represents the current .
A that represents the current .
2
Sets to the matrix of rotation that would align the 'from' vector with the 'to' vector.
The optional Axis argument may be used when the two vectors are parallel and in opposite directions to specify a specific solution, but is otherwise ignored.
Input Vector object to align from.
Input Vector object to align to.
Input Vector object.
Sets to the matrix of rotation that would align the 'from' vector with the 'to' vector.
The optional Axis argument may be used when the two vectors are parallel and in opposite directions to specify a specific solution, but is otherwise ignored.
Input Vector object to align from.
Input Vector object to align to.
Input Vector object.
Angle in degrees
A unit vector, this is used to describe a direction in 3D
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
A vector orthogonbal to this
Creates a UnitVector3D from its string representation
The string representation of the UnitVector3D
This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the method and consumed by the method.
Generates an object from its XML representation.
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
The length of the vector not the count of elements
Computes whether or not this unit vector is parallel to another vector using the dot product method and comparing it
to within a specified tolerance.
A tolerance value for the dot product method. Values below 2*Precision.DoublePrecision may cause issues.
True if the vector dot product is within the given double tolerance of unity, false if not
Computes whether or not this unit vector is parallel to a unit vector using the dot product method and comparing it
to within a specified tolerance.
A tolerance value for the dot product method. Values below 2*Precision.DoublePrecision may cause issues.
True if the vector dot product is within the given double tolerance of unity, false if not
Determine whether or not this unit vector is parallel to another unit vector within a given angle tolerance.
true if the vectors are parallel within the angle tolerance, false if they are not
Determine whether or not this unit vector is parallel to a vector within a given angle tolerance.
true if the vectors are parallel within the angle tolerance, false if they are not
Returns signed angle
The fromVector3D to calculate the signed angle to
The vector around which to rotate to get the correct sign
Returns signed angle
The fromVector3D to calculate the signed angle to
The vector around which to rotate to get the correct sign
The nearest angle between the vectors
The other vector
The angle
Compute the angle between this vector and a unit vector using the arccosine of the dot product.
The other vector
The angle between the vectors, with a range between 0° and 180°
Returns a vector that is this vector rotated the signed angle around the about vector
Returns a vector that is this vector rotated the signed angle around the about vector
Convert to a Math.NET Numerics dense vector of length 3.
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
The length of the vector not the count of elements
A vector orthogonbal to this
Creates a Vector3D from its string representation
The string representation of the Vector3D
This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the method and consumed by the method.
Generates an object from its XML representation.
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
Compute and return a unit vector from this vector
Computes whether or not this vector is parallel to another vector using the dot product method and comparing it
to within a specified tolerance.
A tolerance value for the dot product method. Values below 2*Precision.DoublePrecision may cause issues.
true if the vector dot product is within the given tolerance of unity, false if it is not
Computes whether or not this vector is parallel to a unit vector using the dot product method and comparing it
to within a specified tolerance.
A tolerance value for the dot product method. Values below 2*Precision.DoublePrecision may cause issues.
true if the vector dot product is within the given tolerance of unity, false if not
Determine whether or not this vector is parallel to another vector within a given angle tolerance.
true if the vectors are parallel within the angle tolerance, false if they are not
Determine whether or not this vector is parallel to a unit vector within a given angle tolerance.
true if the vectors are parallel within the angle tolerance, false if they are not
Computes whether or not this vector is perpendicular to another vector using the dot product method and
comparing it to within a specified tolerance
true if the vector dot product is within the given tolerance of zero, false if not
Computes whether or not this vector is perpendicular to another vector using the dot product method and
comparing it to within a specified tolerance
true if the vector dot product is within the given tolerance of zero, false if not
Inverses the direction of the vector, equivalent to multiplying by -1
Returns signed angle
The vector to calculate the signed angle to
The vector around which to rotate to get the correct sign
Returns signed angle
The vector to calculate the signed angle to
The vector around which to rotate to get the correct sign
Compute the angle between this vector and another using the arccosine of the dot product.
The other vector
The angle between the vectors, with a range between 0° and 180°
Compute the angle between this vector and a unit vector using the arccosine of the dot product.
The other vector
The angle between the vectors, with a range between 0° and 180°
Returns a vector that is this vector rotated the signed angle around the about vector
Constraining it like this does not box
Returns a vector that is this vector rotated the signed angle around the about vector
Returns a vector that is this vector rotated the signed angle around the about vector
return new Point3D(this.X, this.Y, this.Z);
Transforms the vector by a coordinate system and returns the transformed.
Create a new Vector3D from a Math.NET Numerics vector of length 3.
Convert to a Math.NET Numerics dense vector of length 3.
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Create a new Point3D from a Math.NET Numerics vector of length 3.
Convert to a Math.NET Numerics dense vector of length 3.
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
Using public fields cos: http://blogs.msdn.com/b/ricom/archive/2006/08/31/performance-quiz-11-ten-questions-on-value-based-programming.aspx
return new Point3DHomogeneous(this.X, this.Y, this.Z, this.W);
Create a new Vector3DHomogeneous from a Math.NET Numerics vector of length 4.
Convert to a Math.NET Numerics dense vector of length 4.
An angle
The value in radians
Initializes a new instance of the Angle.
Initializes a new instance of the Angle.
The value in degrees
Creates an Angle from its string representation
The string representation of the angle
Creates a new instance of Angle.
Creates a new instance of Angle.
Creates a new instance of Angle.
Indicates whether two instances are equal.
true if the values of and are equal; otherwise, false.
A .
A .
Indicates whether two instances are not equal.
true if the values of and are not equal; otherwise, false.
A .
A .
Indicates whether a specified is less than another specified .
true if the value of is less than the value of ; otherwise, false.
An .
An .
Indicates whether a specified is greater than another specified .
true if the value of is greater than the value of ; otherwise, false.
An .
An .
Indicates whether a specified is less than or equal to another specified .
true if the value of is less than or equal to the value of ; otherwise, false.
An .
An .
Indicates whether a specified is greater than or equal to another specified .
true if the value of is greater than or equal to the value of ; otherwise, false.
An .
An .
Multiplies an instance of with and returns the result.
An instance of
An instance of
Multiplies an instance of with and returns the result.
Multiplies an instance of with and returns the result.
An instance of
An instance of
Multiplies an instance of with and returns the result.
Divides an instance of with and returns the result.
An instance of
An instance of
Divides an instance of with and returns the result.
Adds two specified instances.
An whose value is the sum of the values of and .
A .
A TimeSpan.
Subtracts an angle from another angle and returns the difference.
An that is the difference
A (the minuend).
A (the subtrahend).
Returns an whose value is the negated value of the specified instance.
An with the same numeric value as this instance, but the opposite sign.
A
Returns the specified instance of .
Returns .
A
Compares this instance to a specified object and returns an integer that indicates whether this is shorter than, equal to, or longer than the object.
A signed number indicating the relative values of this instance and .
Value
Description
A negative integer
This instance is smaller than .
Zero
This instance is equal to .
A positive integer
This instance is larger than .
A object to compare to this instance.
Returns a value indicating whether this instance is equal to a specified object.
true if represents the same angle as this instance; otherwise, false.
An object to compare with this instance.
Returns a value indicating whether this instance is equal to a specified object within the given tolerance.
true if represents the same angle as this instance; otherwise, false.
An object to compare with this instance.
The maximum difference for being considered equal
This method is reserved and should not be used. When implementing the IXmlSerializable interface,
you should return null (Nothing in Visual Basic) from this method, and instead,
if specifying a custom schema is required, apply the to the class.
An that describes the XML representation of the object that is produced by the
method and consumed by the method.
Generates an object from its XML representation.
The stream from which the object is deserialized.
Converts an object into its XML representation.
The stream to which the object is serialized.
Reads an instance of from the
An instance of
Reads attribute if it exists