Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <vector>
- #include <math.h>
- #include <iostream>
- #include <stdlib.h>
- struct slot_t {
- /** relative position */
- float x, y ;
- } ;
- float ofDist(float x1, float y1, float x2, float y2) {
- return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
- }
- //--------------------------------------------------------------
- int findTop() {
- float dist[3];
- dist[0] = ofDist(.25, .75, .50, .12);
- dist[1] = ofDist(.50, .12, .75, .75);
- dist[2] = ofDist(.25, .75, .75, .75);
- float dist0to1 = dist[0];
- std::cout << "dist0to1: " << dist0to1 << "\n";
- float dist1to2 = dist[1];
- std::cout << "dist1to2: " << dist1to2 << "\n";
- float dist0to2 = dist[2];
- std::cout << "dist0to2: " << dist0to2 << "\n";
- float diff01m02 = abs(dist0to1 - dist0to2);
- std::cout << "diff01m02: " << diff01m02 << "\n";
- float diff02m12 = abs(dist0to2 - dist1to2);
- std::cout << "diff01m02: " << diff01m02 << "\n";
- float diff01m12 = abs(dist0to1 - dist1to2);
- std::cout << "diff01m02: " << diff01m02 << "\n";
- if (diff01m02 < diff02m12 && diff01m02 < diff01m12) {
- return 0;
- }
- else if (diff01m12<diff01m02 && diff01m12<diff02m12) {
- return 1;
- }
- else if (diff02m12<diff01m02 && diff02m12<diff01m12) {
- return 2;
- }
- return 99;
- }
- int main (){
- std::cout << "findTop: " << findTop() << "\n";
- return 0;
- }
- output:
- dist0to1: 0.677791
- dist1to2: 0.677791
- dist0to2: 0.5
- diff01m02: 0
- diff01m02: 0
- diff01m02: 0
- findTop: 99
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement