Click or drag to resize
Accord.NET (logo)

PointH Structure

Represents an ordered pair of real x- and y-coordinates and scalar w that defines a point in a two-dimensional plane using homogeneous coordinates.

Namespace:  Accord.Imaging
Assembly:  Accord.Imaging (in Accord.Imaging.dll) Version: 3.8.0
Syntax
public struct PointH
Request Example View Source

The PointH type exposes the following members.

Constructors
  NameDescription
Public methodPointH(Double, Double)
Creates a new point.
Public methodPointH(Single, Single)
Creates a new point.
Public methodPointH(Double, Double, Double)
Creates a new point.
Public methodPointH(Single, Single, Single)
Creates a new point.
Top
Properties
  NameDescription
Public propertyIsAtInfinity
Gets whether this point is at infinity (w = 0).
Public propertyIsEmpty
Gets whether this point is at the origin.
Public propertyIsNormalized
Gets whether this point is normalized (w = 1).
Public propertyW
The inverse scaling factor for X and Y.
Public propertyX
The first coordinate.
Public propertyY
The second coordinate.
Top
Methods
  NameDescription
Public methodAdd
Add the values of two points.
Public methodStatic memberCeiling
Converts to a Integer point by computing the ceiling of the point coordinates.
Public methodEquals
Compares two objects for equality.
(Overrides ValueTypeEquals(Object).)
Public methodGetHashCode
Returns the hash code for this instance.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodMultiply
Multiplies the point by a scalar.
Public methodNormalize
Normalizes the point to have unit scale.
Public methodStatic memberRound
Converts to a Integer point by rounding the point coordinates.
Public methodSubtract
Subtracts the values of two points.
Public methodToArray
Converts the point to a array representation.
Public methodToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Public methodTransform
Transforms a point using a projection matrix.
Public methodStatic memberTruncate
Converts to a Integer point by truncating the point coordinates.
Top
Operators
  NameDescription
Public operatorStatic memberAddition
Addition.
Public operatorStatic memberEquality
Equality.
Public operatorStatic member(PointH to PointF)
PointF Conversion.
Public operatorStatic memberInequality
Inequality
Public operatorStatic memberMultiply(Single, PointH)
Multiplication by scalar.
Public operatorStatic memberMultiply(PointH, Single)
Multiplication by scalar.
Public operatorStatic memberSubtraction
Subtraction.
Top
Fields
  NameDescription
Public fieldStatic memberEmpty
Returns the empty point.
Top
Extension Methods
  NameDescription
Public Extension MethodHasMethod
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.)
Public Extension MethodIsEqual
Compares two objects for equality, performing an elementwise comparison if the elements are vectors or matrices.
(Defined by Matrix.)
Public Extension MethodTo(Type)Overloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Public Extension MethodToTOverloaded.
Converts an object into another type, irrespective of whether the conversion can be done at compile time or not. This can be used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)
Top
Remarks

In mathematics, homogeneous coordinates are a system of coordinates used in projective geometry much as Cartesian coordinates are used in Euclidean geometry.

They have the advantage that the coordinates of a point, even those at infinity, can be represented using finite coordinates. Often formulas involving homogeneous coordinates are simpler and more symmetric than their Cartesian counterparts.

Homogeneous coordinates have a range of applications, including computer graphics, where they allow affine transformations and, in general, projective transformations to be easily represented by a matrix.

References:

  • http://alumnus.caltech.edu/~woody/docs/3dmatrix.html
  • http://simply3d.wordpress.com/2009/05/29/homogeneous-coordinates/

See Also