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.boolean
equals
(AlgebraicCircle other, double tolerance) Same asequals(Object)
but with a numeric tolerance on parameters.boolean
double[]
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 aAlgebraicCircle
instance 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 aAlgebraicCircle
instance from the specified parameter vector [A, B, C, D].- Parameters:
p
- algebraic circle parameters
-
AlgebraicCircle
Constructor. Creates aAlgebraicCircle
instance 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
-