java.lang.Object
imagingbook.common.geometry.line.AlgebraicLine
imagingbook.common.geometry.line.HessianLine
- All Implemented Interfaces:
Primitive2d
,ShapeProducer
- Direct Known Subclasses:
HoughLine
This class represents a straight line in Hessian normal form, i.e., x * cos(angle) + y * sin(angle) = radius. It is
merely a subclass of AlgebraicLine
with a different constructor and getter methods for angle and radius.
Instances are immutable. Reference point is (0,0). See Sec. 10.1 and Appendix F.1 of [1] for details.
[1] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/11/18
-
Field Summary
Fields inherited from class imagingbook.common.geometry.line.AlgebraicLine
A, B, C
-
Constructor Summary
ConstructorsConstructorDescriptionHessianLine
(double angle, double radius) Constructor.HessianLine
(double a, double b, double c) -
Method Summary
Methods inherited from class imagingbook.common.geometry.line.AlgebraicLine
equals, equals, from, from, from, getClosestLinePoint, getDistance, getDistance, getParameters, getShape, getShape, getSignedDistance, getSignedDistance, getSquareError, getXref, getYref, intersect
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface imagingbook.common.geometry.shape.ShapeProducer
getShape, getShapes, getShapes
-
Constructor Details
-
HessianLine
Constructor. Creates a newHessianLine
instance with the specified angle and radius. Note that this really creates a normalizedAlgebraicLine
. The values returned bygetAngle()
andgetRadius()
may not be identical to the values passed to this constructor.- Parameters:
angle
- the line's angleradius
- the line's radius
-
HessianLine
-
HessianLine
-
-
Method Details
-
from
-
getAngle
-
getRadius
-
toString
- Overrides:
toString
in classAlgebraicLine
-