MyMath.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. if (a == b) return a;
  26. return (b - a) * value + a;
  27. }
  28. double MyMath::InverseLerp(double a, double b, double value)
  29. {
  30. if (a == b) return a;
  31. return (value - a) / (b - a);
  32. }
  33. double MyMath::EuclideanDistance(cv::Point3d a, cv::Point3d b)
  34. {
  35. double dx = b.x - a.x;
  36. double dy = b.y - a.y;
  37. double dz = b.z - a.z;
  38. return std::sqrt(dx * dx + dy * dy + dz * dz);
  39. }
  40. double MyMath::EuclideanDistance(cv::Point2d a, cv::Point2d b)
  41. {
  42. double dx = b.x - a.x;
  43. double dy = b.y - a.y;
  44. return std::sqrt(dx * dx + dy * dy);
  45. }
  46. double MyMath::Radian(double degree)
  47. {
  48. return (degree * PI) / 180.0;
  49. }
  50. }