Class KruppaDualImageOfAbsoluteConicEstimator
java.lang.Object
com.irurueta.ar.calibration.estimators.KruppaDualImageOfAbsoluteConicEstimator
Estimates the DIAC (Dual Image of Absolute Conic) by solving Kruppa's
equations and assuming known principal point and zero skewness.
This estimator allows enforcing a known aspect ratio as well.
The DIAC can be used to obtain the intrinsic parameters of a pair of
cameras related by a fundamental matrix.
Hence, this class can be used for auto-calibration purposes.
Notice that the
DualAbsoluteQuadricEstimator
is a more robust method of
auto-calibration.
This class is based on:
S.D. Hippisley-Cox & J.Porrill. Auto-calibration - Kruppa's equations and the
intrinsic parameters of a camera. AI Vision Research Unit. University of
Sheffield.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Constant defining default aspect ratio of focal distances.static final boolean
Constant defining whether aspect ratio of focal distance (i.e. vertical focal distance divided by horizontal focal distance) is known or not.static final double
Default value for horizontal principal point coordinate.static final double
Default value for vertical principal point coordinate.private double
Contains aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance).private boolean
Indicates whether aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance) is known or not.private FundamentalMatrix
Fundamental matrix to estimate DIAC from.Listener to be notified of events such as when estimation starts, ends or estimation progress changes.private boolean
True when estimator is estimating the DIAC.static final double
Minimum absolute value allowed for aspect ratio of focal distances.private static final int
Degree of polynomial to solve Kruppa's equation when aspect ratio is known.private double
Known horizontal principal point coordinate.private double
Known vertical principal point coordinate. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor.KruppaDualImageOfAbsoluteConicEstimator
(FundamentalMatrix fundamentalMatrix) Constructor.KruppaDualImageOfAbsoluteConicEstimator
(FundamentalMatrix fundamentalMatrix, KruppaDualImageOfAbsoluteConicEstimatorListener listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
buildDiac
(double horizontalFocalLength, double verticalFocalLength, DualImageOfAbsoluteConic result) Builds a DIAC from estimated focal length components and current principal point assuming zero skewness.private com.irurueta.numerical.polynomials.Polynomial
buildPolynomial1
(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k, double l, double s, double t, double u, double v, double w) One of Kruppa's equations expressed as a polynomial of degree 4 to solve y value, which is the squared value of vertical focal length.private com.irurueta.numerical.polynomials.Polynomial
buildPolynomial2
(double d, double e, double f, double g, double h, double i, double m, double n, double o, double p, double q, double r, double s, double t, double u, double v, double w) Another of Kruppa's equations expressed as a polynomial of degree 4 to solve y value, which is the squared value of vertical focal length.private com.irurueta.numerical.polynomials.Polynomial
buildPolynomial3
(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k, double l) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length.private com.irurueta.numerical.polynomials.Polynomial
buildPolynomial4
(double d, double e, double f, double g, double h, double i, double m, double n, double o, double p, double q, double r) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length.private com.irurueta.numerical.polynomials.Polynomial
buildPolynomial5
(double a, double b, double c, double j, double k, double l, double m, double n, double o, double p, double q, double r) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length.estimate()
Estimates Dual Image of Absolute Conic (DIAC).void
estimate
(DualImageOfAbsoluteConic result) Estimates Dual Image of Absolute Conic (DIAC).private void
Estimates the DIAC assuming known aspect ratio.private void
Estimates the DIAC assuming unknown aspect ratio.double
Returns aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance).Gets fundamental matrix to estimate DIAC from.Returns listener to be notified of events such as when estimation starts, ends or estimation progress changes.double
Gets known horizontal principal point coordinate.double
Gets known vertical principal point coordinate.private double
getXFromY
(double y, double s, double t, double u, double v, double w) Gets x value from current y value.boolean
Returns boolean indicating whether aspect ratio of focal distances (i.e.boolean
isLocked()
Indicates whether this instance is locked.boolean
isReady()
Returns value indicating whether required data has been provided so that DIAC estimation can start.private com.irurueta.algebra.Complex[]
knownAspectRatioRoots
(double polyA, double polyB, double polyC, double polyD, double polyE, double polyF, double polyG, double polyH, double polyI, double polyJ, double polyK, double polyL, double polyM, double polyN, double polyO, double polyP, double polyQ, double polyR) Solves Kruppa's equations when aspect ratio is knownvoid
setFocalDistanceAspectRatio
(double focalDistanceAspectRatio) Sets aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance).void
setFocalDistanceAspectRatioKnown
(boolean focalDistanceAspectRatioKnown) Sets value indicating whether aspect ratio of focal distances (i.e.void
setFundamentalMatrix
(FundamentalMatrix fundamentalMatrix) Sets fundamental matrix to estimate DIAC from.void
Sets listener to be notified of events such as when estimation starts, ends or estimation progress changes.void
setPrincipalPointX
(double principalPointX) Sets known horizontal principal point coordinate.void
setPrincipalPointY
(double principalPointY) Sets known vertical principal point coordinate.private com.irurueta.algebra.Complex[]
unknownAspectRatioRoots
(double polyA, double polyB, double polyC, double polyD, double polyE, double polyF, double polyG, double polyH, double polyI, double polyJ, double polyK, double polyL, double polyM, double polyN, double polyO, double polyP, double polyQ, double polyR, double polyS, double polyT, double polyU, double polyV, double polyW) Solves Kruppa's equations when aspect ratio is unknown
-
Field Details
-
POLY_DEGREE_UNKNOWN_ASPECT_RATIO
private static final int POLY_DEGREE_UNKNOWN_ASPECT_RATIODegree of polynomial to solve Kruppa's equation when aspect ratio is known.- See Also:
-
DEFAULT_PRINCIPAL_POINT_X
public static final double DEFAULT_PRINCIPAL_POINT_XDefault value for horizontal principal point coordinate.- See Also:
-
DEFAULT_PRINCIPAL_POINT_Y
public static final double DEFAULT_PRINCIPAL_POINT_YDefault value for vertical principal point coordinate.- See Also:
-
DEFAULT_FOCAL_DISTANCE_ASPECT_RATIO_KNOWN
public static final boolean DEFAULT_FOCAL_DISTANCE_ASPECT_RATIO_KNOWNConstant defining whether aspect ratio of focal distance (i.e. vertical focal distance divided by horizontal focal distance) is known or not. Notice that focal distance aspect ratio is not related to image size aspect ratio. Typically, LCD sensor cells are square and hence aspect ratio of focal distances is known and equal to 1.- See Also:
-
DEFAULT_FOCAL_DISTANCE_ASPECT_RATIO
public static final double DEFAULT_FOCAL_DISTANCE_ASPECT_RATIOConstant defining default aspect ratio of focal distances. This constant takes into account that typically LCD sensor cells are square and hence aspect ratio of focal distances is known and equal to 1.- See Also:
-
MIN_ABS_FOCAL_DISTANCE_ASPECT_RATIO
public static final double MIN_ABS_FOCAL_DISTANCE_ASPECT_RATIOMinimum absolute value allowed for aspect ratio of focal distances.- See Also:
-
principalPointX
private double principalPointXKnown horizontal principal point coordinate. -
principalPointY
private double principalPointYKnown vertical principal point coordinate. -
focalDistanceAspectRatioKnown
private boolean focalDistanceAspectRatioKnownIndicates whether aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance) is known or not. Notice that focal distance aspect ratio is not related to image aspect ratio. Typically, LCD sensor cells are square and hence aspect ratio of focal distances is known and equal to 1. -
focalDistanceAspectRatio
private double focalDistanceAspectRatioContains aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance). By default, this is 1.0, since it is taken into account that typically LCD sensor cells are square and hence aspect ratio focal distance is known and equal to 1. Notice that focal distance aspect ratio is not related to image size aspect ratio. -
locked
private boolean lockedTrue when estimator is estimating the DIAC. -
listener
Listener to be notified of events such as when estimation starts, ends or estimation progress changes. -
fundamentalMatrix
Fundamental matrix to estimate DIAC from.
-
-
Constructor Details
-
KruppaDualImageOfAbsoluteConicEstimator
public KruppaDualImageOfAbsoluteConicEstimator()Constructor. -
KruppaDualImageOfAbsoluteConicEstimator
public KruppaDualImageOfAbsoluteConicEstimator(KruppaDualImageOfAbsoluteConicEstimatorListener listener) Constructor.- Parameters:
listener
- listener to be notified of events such as when estimation starts, ends or estimation progress changes.
-
KruppaDualImageOfAbsoluteConicEstimator
Constructor.- Parameters:
fundamentalMatrix
- fundamental matrix to estimate DIAC from.
-
KruppaDualImageOfAbsoluteConicEstimator
public KruppaDualImageOfAbsoluteConicEstimator(FundamentalMatrix fundamentalMatrix, KruppaDualImageOfAbsoluteConicEstimatorListener listener) Constructor.- Parameters:
fundamentalMatrix
- fundamental matrix to estimate DIAC from.listener
- listener to be notified of events such as when estimation starts, ends or estimation progress changes.
-
-
Method Details
-
getPrincipalPointX
public double getPrincipalPointX()Gets known horizontal principal point coordinate.- Returns:
- known horizontal principal point coordinate.
-
setPrincipalPointX
public void setPrincipalPointX(double principalPointX) throws com.irurueta.geometry.estimators.LockedException Sets known horizontal principal point coordinate.- Parameters:
principalPointX
- known horizontal principal point coordinate to be set.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.
-
getPrincipalPointY
public double getPrincipalPointY()Gets known vertical principal point coordinate.- Returns:
- known vertical principal point coordinate.
-
setPrincipalPointY
public void setPrincipalPointY(double principalPointY) throws com.irurueta.geometry.estimators.LockedException Sets known vertical principal point coordinate.- Parameters:
principalPointY
- known vertical principal point coordinate to be set.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.
-
isFocalDistanceAspectRatioKnown
public boolean isFocalDistanceAspectRatioKnown()Returns boolean indicating whether aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance) is known or not. Notice that focal distance aspect ratio is not related to image size aspect ratio. Typically, LCD sensor cells are square and hence aspect ratio of focal distances is known and equal to 1. This value is only taken into account if skewness is assumed to be zero, otherwise it is ignored.- Returns:
- true if focal distance aspect ratio is known, false otherwise.
-
setFocalDistanceAspectRatioKnown
public void setFocalDistanceAspectRatioKnown(boolean focalDistanceAspectRatioKnown) throws com.irurueta.geometry.estimators.LockedException Sets value indicating whether aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance) is known or not. Notice that focal distance aspect ratio is not related to image size aspect ratio. Typically, LCD sensor cells are square and hence aspect ratio of focal distances is known and equal to 1. This value is only taken into account if skewness is assumed to be otherwise it is ignored.- Parameters:
focalDistanceAspectRatioKnown
- true if focal distance aspect ratio is known, false otherwise.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.
-
getFocalDistanceAspectRatio
public double getFocalDistanceAspectRatio()Returns aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance). By default, this is 1.0, since it is taken into account that typically LCD sensor cells are square and hence aspect ratio focal distances is known and equal to 1. Notice that focal distance aspect ratio is not related to image size aspect ratio Notice that a negative aspect ratio indicates that vertical axis is reversed. This can be useful in some situations where image vertical coordinates are reversed respect to the physical world (i.e. in computer graphics typically image vertical coordinates go downwards, while in physical world they go upwards).- Returns:
- aspect ratio of focal distances.
-
setFocalDistanceAspectRatio
public void setFocalDistanceAspectRatio(double focalDistanceAspectRatio) throws com.irurueta.geometry.estimators.LockedException Sets aspect ratio of focal distances (i.e. vertical focal distance divided by horizontal focal distance). This value is only taken into account if aspect ratio is marked as known, otherwise it is ignored. By default, this is 1.0, since it is taken into account that typically LCD sensor cells are square and hence aspect ratio focal distances is known and equal to 1. Notice that focal distance aspect ratio is not related to image size aspect ratio. Notice that a negative aspect ratio indicates that vertical axis is reversed. This can be useful in some situations where image vertical coordinates are reversed respect to the physical world (i.e. in computer graphics typically image vertical coordinates go downwards, while in physical world they go upwards).- Parameters:
focalDistanceAspectRatio
- aspect ratio of focal distances to be set.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.IllegalArgumentException
- if focal distance aspect ratio is too close to zero, as it might produce numerical instabilities.
-
isLocked
public boolean isLocked()Indicates whether this instance is locked.- Returns:
- true if this estimator is busy estimating a DIAC, false otherwise.
-
getListener
Returns listener to be notified of events such as when estimation starts, ends or estimation progress changes.- Returns:
- listener to be notified of events.
-
setListener
public void setListener(KruppaDualImageOfAbsoluteConicEstimatorListener listener) throws com.irurueta.geometry.estimators.LockedException Sets listener to be notified of events such as when estimation starts, ends or estimation progress changes.- Parameters:
listener
- listener to be notified of events.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.
-
getFundamentalMatrix
Gets fundamental matrix to estimate DIAC from.- Returns:
- fundamental matrix to estimate DIAC from.
-
setFundamentalMatrix
public void setFundamentalMatrix(FundamentalMatrix fundamentalMatrix) throws com.irurueta.geometry.estimators.LockedException Sets fundamental matrix to estimate DIAC from.- Parameters:
fundamentalMatrix
- fundamental matrix to estimate DIAC from.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.
-
isReady
public boolean isReady()Returns value indicating whether required data has been provided so that DIAC estimation can start. If true, estimator is ready to compute the DIAC, otherwise more data needs to be provided.- Returns:
- true if estimator is ready, false otherwise.
-
estimate
public DualImageOfAbsoluteConic estimate() throws com.irurueta.geometry.estimators.LockedException, com.irurueta.geometry.estimators.NotReadyException, KruppaDualImageOfAbsoluteConicEstimatorExceptionEstimates Dual Image of Absolute Conic (DIAC).- Returns:
- estimated DIAC.
- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.com.irurueta.geometry.estimators.NotReadyException
- if input has not yet been provided.KruppaDualImageOfAbsoluteConicEstimatorException
- if an error occurs during estimation, usually because fundamental matrix corresponds to degenerate camera movements, or because of numerical instabilities.
-
estimate
public void estimate(DualImageOfAbsoluteConic result) throws com.irurueta.geometry.estimators.LockedException, com.irurueta.geometry.estimators.NotReadyException, KruppaDualImageOfAbsoluteConicEstimatorException Estimates Dual Image of Absolute Conic (DIAC).- Parameters:
result
- instance where estimated DIAC will be stored.- Throws:
com.irurueta.geometry.estimators.LockedException
- if estimator is locked.com.irurueta.geometry.estimators.NotReadyException
- if input has not yet been provided.KruppaDualImageOfAbsoluteConicEstimatorException
- if an error occurs during estimation, usually because fundamental matrix corresponds to degenerate camera movements, or because of numerical instabilities.
-
buildDiac
private boolean buildDiac(double horizontalFocalLength, double verticalFocalLength, DualImageOfAbsoluteConic result) Builds a DIAC from estimated focal length components and current principal point assuming zero skewness.- Parameters:
horizontalFocalLength
- estimated horizontal focal length component.verticalFocalLength
- estimated vertical focal length component.result
- instance where estimated DIAC will be stored.- Returns:
- true if estimated DIAC is valid, false otherwise.
-
estimateUnknownAspectRatio
private void estimateUnknownAspectRatio(DualImageOfAbsoluteConic result) throws KruppaDualImageOfAbsoluteConicEstimatorException Estimates the DIAC assuming unknown aspect ratio.- Parameters:
result
- instance where estimated DIAC will be stored.- Throws:
KruppaDualImageOfAbsoluteConicEstimatorException
- if an error occurs during estimation, usually because fundamental matrix corresponds to degenerate camera movements, or because of numerical instabilities.
-
getXFromY
private double getXFromY(double y, double s, double t, double u, double v, double w) Gets x value from current y value. X and y values are the squared values of estimated focal length components. This method is used internally when aspect ratio is not known.- Parameters:
y
- y value to obtain x value from.s
- internal value from Kruppa's equations.t
- internal value from Kruppa's equations.u
- internal value from Kruppa's equations.v
- internal value from Kruppa's equations.w
- internal value from Kruppa's equations.- Returns:
- x value.
-
buildPolynomial1
private com.irurueta.numerical.polynomials.Polynomial buildPolynomial1(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k, double l, double s, double t, double u, double v, double w) One of Kruppa's equations expressed as a polynomial of degree 4 to solve y value, which is the squared value of vertical focal length. This method is only used when aspect ratio is unknown.- Parameters:
a
- internal value from Kruppa's equations.b
- internal value from Kruppa's equations.c
- internal value from Kruppa's equations.d
- internal value from Kruppa's equations.e
- internal value from Kruppa's equations.f
- internal value from Kruppa's equations.g
- internal value from Kruppa's equations.h
- internal value from Kruppa's equations.i
- internal value from Kruppa's equations.j
- internal value from Kruppa's equations.k
- internal value from Kruppa's equations.l
- internal value from Kruppa's equations.s
- internal value from Kruppa's equations.t
- internal value from Kruppa's equations.u
- internal value from Kruppa's equations.v
- internal value from Kruppa's equations.w
- internal value from Kruppa's equations.- Returns:
- a polynomial.
-
buildPolynomial2
private com.irurueta.numerical.polynomials.Polynomial buildPolynomial2(double d, double e, double f, double g, double h, double i, double m, double n, double o, double p, double q, double r, double s, double t, double u, double v, double w) Another of Kruppa's equations expressed as a polynomial of degree 4 to solve y value, which is the squared value of vertical focal length. This method is only used when aspect ratio is unknown.- Parameters:
d
- internal value from Kruppa's equations.e
- internal value from Kruppa's equations.f
- internal value from Kruppa's equations.g
- internal value from Kruppa's equations.h
- internal value from Kruppa's equations.i
- internal value from Kruppa's equations.m
- internal value from Kruppa's equations.n
- internal value from Kruppa's equations.o
- internal value from Kruppa's equations.p
- internal value from Kruppa's equations.q
- internal value from Kruppa's equations.r
- internal value from Kruppa's equations.s
- internal value from Kruppa's equations.t
- internal value from Kruppa's equations.u
- internal value from Kruppa's equations.v
- internal value from Kruppa's equations.w
- internal value from Kruppa's equations.- Returns:
- a polynomial.
-
estimateKnownAspectRatio
private void estimateKnownAspectRatio(DualImageOfAbsoluteConic result) throws KruppaDualImageOfAbsoluteConicEstimatorException Estimates the DIAC assuming known aspect ratio.- Parameters:
result
- instance where estimated DIAC will be stored.- Throws:
KruppaDualImageOfAbsoluteConicEstimatorException
- if an error occurs during estimation, usually because fundamental matrix corresponds to degenerate camera movements, or because of numerical instabilities.
-
buildPolynomial3
private com.irurueta.numerical.polynomials.Polynomial buildPolynomial3(double a, double b, double c, double d, double e, double f, double g, double h, double i, double j, double k, double l) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length. This method is only used when aspect ratio is known.- Parameters:
a
- internal value from Kruppa's equations.b
- internal value from Kruppa's equations.c
- internal value from Kruppa's equations.d
- internal value from Kruppa's equations.e
- internal value from Kruppa's equations.f
- internal value from Kruppa's equations.g
- internal value from Kruppa's equations.h
- internal value from Kruppa's equations.i
- internal value from Kruppa's equations.j
- internal value from Kruppa's equations.k
- internal value from Kruppa's equations.l
- internal value from Kruppa's equations.- Returns:
- a polynomial.
-
buildPolynomial4
private com.irurueta.numerical.polynomials.Polynomial buildPolynomial4(double d, double e, double f, double g, double h, double i, double m, double n, double o, double p, double q, double r) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length. This method is only used when aspect ratio is known.- Parameters:
d
- internal value from Kruppa's equations.e
- internal value from Kruppa's equations.f
- internal value from Kruppa's equations.g
- internal value from Kruppa's equations.h
- internal value from Kruppa's equations.i
- internal value from Kruppa's equations.m
- internal value from Kruppa's equations.n
- internal value from Kruppa's equations.o
- internal value from Kruppa's equations.p
- internal value from Kruppa's equations.q
- internal value from Kruppa's equations.r
- internal value from Kruppa's equations.- Returns:
- a polynomial.
-
buildPolynomial5
private com.irurueta.numerical.polynomials.Polynomial buildPolynomial5(double a, double b, double c, double j, double k, double l, double m, double n, double o, double p, double q, double r) Another of Kruppa's equations expressed as a polynomial of degree 2 to solve x value, which is the squared value of horizontal focal length. This method is only used when aspect ratio is known.- Parameters:
a
- internal value from Kruppa's equations.b
- internal value from Kruppa's equations.c
- internal value from Kruppa's equations.j
- internal value from Kruppa's equations.k
- internal value from Kruppa's equations.l
- internal value from Kruppa's equations.m
- internal value from Kruppa's equations.n
- internal value from Kruppa's equations.o
- internal value from Kruppa's equations.p
- internal value from Kruppa's equations.q
- internal value from Kruppa's equations.r
- internal value from Kruppa's equations.- Returns:
- a polynomial.
-
unknownAspectRatioRoots
private com.irurueta.algebra.Complex[] unknownAspectRatioRoots(double polyA, double polyB, double polyC, double polyD, double polyE, double polyF, double polyG, double polyH, double polyI, double polyJ, double polyK, double polyL, double polyM, double polyN, double polyO, double polyP, double polyQ, double polyR, double polyS, double polyT, double polyU, double polyV, double polyW) throws com.irurueta.numerical.NumericalException Solves Kruppa's equations when aspect ratio is unknown- Parameters:
polyA
- A parameter of Kruppa's polynomial equation.polyB
- B parameter of Kruppa's polynomial equation.polyC
- C parameter of Kruppa's polynomial equation.polyD
- D parameter of Kruppa's polynomial equation.polyE
- E parameter of Kruppa's polynomial equation.polyF
- F parameter of Kruppa's polynomial equation.polyG
- G parameter of Kruppa's polynomial equation.polyH
- H parameter of Kruppa's polynomial equation.polyI
- I parameter of Kruppa's polynomial equation.polyJ
- J parameter of Kruppa's polynomial equation.polyK
- K parameter of Kruppa's polynomial equation.polyL
- L parameter of Kruppa's polynomial equation.polyM
- M parameter of Kruppa's polynomial equation.polyN
- N parameter of Kruppa's polynomial equation.polyO
- O parameter of Kruppa's polynomial equation.polyP
- P parameter of Kruppa's polynomial equation.polyQ
- Q parameter of Kruppa's polynomial equation.polyR
- R parameter of Kruppa's polynomial equation.polyS
- S parameter of Kruppa's polynomial equation.polyT
- T parameter of Kruppa's polynomial equation.polyU
- U parameter of Kruppa's polynomial equation.polyV
- V parameter of Kruppa's polynomial equation.polyW
- W parameter of Kruppa's polynomial equation.- Returns:
- roots solving Kruppa's equations.
- Throws:
com.irurueta.numerical.NumericalException
- if there are numerical instabilities.
-
knownAspectRatioRoots
private com.irurueta.algebra.Complex[] knownAspectRatioRoots(double polyA, double polyB, double polyC, double polyD, double polyE, double polyF, double polyG, double polyH, double polyI, double polyJ, double polyK, double polyL, double polyM, double polyN, double polyO, double polyP, double polyQ, double polyR) throws com.irurueta.numerical.NumericalException Solves Kruppa's equations when aspect ratio is known- Parameters:
polyA
- A parameter of Kruppa's polynomial equation.polyB
- B parameter of Kruppa's polynomial equation.polyC
- C parameter of Kruppa's polynomial equation.polyD
- D parameter of Kruppa's polynomial equation.polyE
- E parameter of Kruppa's polynomial equation.polyF
- F parameter of Kruppa's polynomial equation.polyG
- G parameter of Kruppa's polynomial equation.polyH
- H parameter of Kruppa's polynomial equation.polyI
- I parameter of Kruppa's polynomial equation.polyJ
- J parameter of Kruppa's polynomial equation.polyK
- K parameter of Kruppa's polynomial equation.polyL
- L parameter of Kruppa's polynomial equation.polyM
- M parameter of Kruppa's polynomial equation.polyN
- N parameter of Kruppa's polynomial equation.polyO
- O parameter of Kruppa's polynomial equation.polyP
- P parameter of Kruppa's polynomial equation.polyQ
- Q parameter of Kruppa's polynomial equation.polyR
- R parameter of Kruppa's polynomial equation.- Returns:
- roots solving Kruppa's equations.
- Throws:
com.irurueta.numerical.NumericalException
- if there are numerical instabilities.
-