A5/GeometryUtils.cpp
2024-11-18 00:16:52 -07:00

33 lines
No EOL
828 B
C++

#include "GeometryUtils.h"
#include <cmath>
const double EPSILON = 1e-7;
bool double_eq(double first, double second) {
if (std::abs(first - second) <= EPSILON) {
return true;
} else {
return false;
}
}
double calculate_distance(Coordinate &firstPoint, Coordinate &secondPoint) {
return std::sqrt(std::pow(secondPoint.x - firstPoint.x, 2) +
std::pow(secondPoint.y - firstPoint.y, 2));
}
bool lengths_make_triangle(double sideOne, double sideTwo, double sideThree) {
// Not a triangle if one of the side lengths is 0
if (sideOne <= 0 || sideTwo <= 0 || sideThree <= 0) {
return false;
}
// Not a triangle if the sum of any two side lengths >= the third length
if (sideOne + sideTwo <= sideThree || sideTwo + sideThree <= sideOne ||
sideThree + sideOne <= sideTwo) {
return false;
}
return true;
}