mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
stats: fix line segment intersection math
Linear algebra class was a while ago, but somehow this does look more logical to me. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c63994f775
commit
ce0f64df2e
1 changed files with 3 additions and 3 deletions
|
@ -686,9 +686,9 @@ void StatsView::addLinearRegression(double a, double b, double minX, double maxX
|
|||
// but owing to floating point imprecision, let's test again.
|
||||
if ((y1 < minY || y1 > maxY || y2 < minY || y2 > maxY) && fabs(a) > 0.0001) {
|
||||
// Intersections with y = minY and y = maxY lines
|
||||
double intersect_x1 = minY / a - b;
|
||||
double intersect_x2 = maxY / a - b;
|
||||
if (intersect_x1 < intersect_x2)
|
||||
double intersect_x1 = (minY - b) / a;
|
||||
double intersect_x2 = (maxY - b) / a;
|
||||
if (intersect_x1 > intersect_x2)
|
||||
std::swap(intersect_x1, intersect_x2);
|
||||
minX = std::max(minX, intersect_x1);
|
||||
maxX = std::min(maxX, intersect_x2);
|
||||
|
|
Loading…
Add table
Reference in a new issue