geometry.h 929 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef __GEOMETRY_H
  2. #define __GEOMETRY_H
  3. #define PI 3.14159265359
  4. typedef struct {
  5. double x;
  6. double y;
  7. } cartesian_pos_2d_t;
  8. typedef struct {
  9. double length;
  10. double theta;
  11. } polar_pos_2d_t;
  12. typedef struct {
  13. double x;
  14. double y;
  15. double z;
  16. } cartesian_pos_3d_t;
  17. typedef struct {
  18. double length;
  19. double theta;
  20. double phi;
  21. } polar_pos_3d_t;
  22. double to_radian(double reg);
  23. double to_degree(double rad);
  24. double cos_deg(double deg);
  25. double acos_deg(double deg);
  26. double sin_deg(double deg);
  27. double asin_deg(double deg);
  28. cartesian_pos_2d_t convert_to_2d_cartesian_pos(
  29. const polar_pos_2d_t* polar_pos);
  30. polar_pos_2d_t convert_to_2d_polar_pos(
  31. const cartesian_pos_2d_t* cartesian_pos);
  32. cartesian_pos_3d_t convert_to_3d_cartesian_pos(
  33. const polar_pos_3d_t* polar_pos);
  34. polar_pos_3d_t convert_to_3d_polar_pos(
  35. const cartesian_pos_3d_t* cartesian_pos);
  36. #endif