MyMath.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // Created by wrede on 02.05.16.
  3. //
  4. #include "MyMath.h"
  5. namespace util
  6. {
  7. const double MyMath::PI = 3.14159;
  8. double MyMath::Clamp(double min, double max, double value)
  9. {
  10. if (value < min)
  11. {
  12. return min;
  13. }
  14. else if (value > max)
  15. {
  16. return max;
  17. }
  18. else
  19. {
  20. return value;
  21. }
  22. }
  23. double MyMath::Lerp(double a, double b, double value)
  24. {
  25. return (b - a) * value + a;
  26. }
  27. double MyMath::InverseLerp(double a, double b, double value)
  28. {
  29. return (value - a) / (b - a);
  30. }
  31. double MyMath::EuclideanDistance(cv::Point3d a, cv::Point3d b)
  32. {
  33. double dx = b.x - a.x;
  34. double dy = b.y - a.y;
  35. double dz = b.z - a.z;
  36. return std::sqrt(dx * dx + dy * dy + dz * dz);
  37. }
  38. double MyMath::EuclideanDistance(cv::Point2d a, cv::Point2d b)
  39. {
  40. double dx = b.x - a.x;
  41. double dy = b.y - a.y;
  42. return std::sqrt(dx * dx + dy * dy);
  43. }
  44. double MyMath::Radian(double degree)
  45. {
  46. return (degree * PI) / 180.0;
  47. }
  48. }