Advertisement
Guest User

Untitled

a guest
Oct 17th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <vector>
  3. #include <math.h>
  4. #include <iostream>
  5. #include <stdlib.h>
  6.  
  7. struct slot_t {
  8.     /** relative position */
  9.     float x, y ;
  10. } ;
  11.  
  12. float ofDist(float x1, float y1, float x2, float y2) {
  13.     return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
  14. }
  15.  
  16. //--------------------------------------------------------------
  17. int findTop() {
  18.  
  19.     float dist[3];
  20.     dist[0] = ofDist(.25, .75, .50, .12);
  21.     dist[1] = ofDist(.50, .12, .75, .75);
  22.     dist[2] = ofDist(.25, .75, .75, .75);
  23.  
  24.     float dist0to1 = dist[0];
  25.     std::cout << "dist0to1: " << dist0to1 << "\n";
  26.     float dist1to2 = dist[1];
  27.     std::cout << "dist1to2: " << dist1to2 << "\n";
  28.     float dist0to2 = dist[2];
  29.     std::cout << "dist0to2: " << dist0to2 << "\n";
  30.  
  31.     float diff01m02 = abs(dist0to1 - dist0to2);
  32.     std::cout << "diff01m02: " << diff01m02 << "\n";
  33.     float diff02m12 = abs(dist0to2 - dist1to2);
  34.     std::cout << "diff01m02: " << diff01m02 << "\n";
  35.     float diff01m12 = abs(dist0to1 - dist1to2);
  36.     std::cout << "diff01m02: " << diff01m02 << "\n";
  37.  
  38.     if (diff01m02 < diff02m12 && diff01m02 < diff01m12) {
  39.             return 0;
  40.     }
  41.     else if (diff01m12<diff01m02 && diff01m12<diff02m12) {
  42.             return 1;
  43.     }
  44.     else if (diff02m12<diff01m02 && diff02m12<diff01m12) {
  45.             return 2;
  46.     }
  47.     return 99;
  48. }
  49.  
  50. int main (){
  51.  
  52.     std::cout << "findTop: " << findTop() << "\n";
  53.  
  54.     return 0;
  55.  
  56.  
  57. }
  58.  
  59.  
  60. output:
  61.  
  62. dist0to1: 0.677791
  63. dist1to2: 0.677791
  64. dist0to2: 0.5
  65. diff01m02: 0
  66. diff01m02: 0
  67. diff01m02: 0
  68. findTop: 99
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement