java.lang.Object
imagingbook.common.geometry.circle.AlgebraicCircle
Represents an algebraic circle with four parameters A, B, C, D in the form A * (x^2 + y^2) + B * x + C * y + D = 0. Parameters are normalized such that B^2 + C^2 - 4 * A * D = 1 and A ≥ 0 Circle instances are immutable. See Sec. 11.1.1 and Appendix F.2.1 of [1] for details.
[1] W. Burger, M.J. Burge, Digital Image Processing – An Algorithmic Introduction, 3rd ed, Springer (2022).
- Version:
- 2022/11/17
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAlgebraicCircle(double[] p) Constructor.AlgebraicCircle(double A, double B, double C, double D) Constructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturns a copy of this circle.booleanequals(AlgebraicCircle other, double tolerance) Same asequals(Object)but with a numeric tolerance on parameters.booleandouble[]Returns a vector of algebraic circle parameters (A, B, C, D).toString()
-
Field Details
-
A
Circle parameter. -
B
Circle parameter. -
C
Circle parameter. -
D
Circle parameter.
-
-
Constructor Details
-
AlgebraicCircle
Constructor. Creates aAlgebraicCircleinstance whose parameters A, B, C, D are normalized such that B^2 + C^2 - 4 * A * D = 1 and A ≥ 0. Throws an exception if d = B^2 + C^2 - 4 * A * D (the discriminant) is negative.- Parameters:
A- circle parameter AB- circle parameter BC- circle parameter CD- circle parameter D
-
AlgebraicCircle
Constructor. Creates aAlgebraicCircleinstance from the specified parameter vector [A, B, C, D].- Parameters:
p- algebraic circle parameters
-
AlgebraicCircle
Constructor. Creates aAlgebraicCircleinstance from aGeometricCircle.- Parameters:
gc- aGeometricCircle
-
-
Method Details
-
getParameters
Returns a vector of algebraic circle parameters (A, B, C, D).- Returns:
- algebraic circle parameters (A, B, C, D)
-
equals
-
equals
Same asequals(Object)but with a numeric tolerance on parameters.- Parameters:
other- some other circletolerance- numeric tolerance- Returns:
- true is equal
-
duplicate
Returns a copy of this circle.- Returns:
- a copy of this circle
-
toString
-