使用c++判断类型并定义UNKNOWN = 0, UNKNOWN_MOVABLE = 1, UNKNOWN_UNMOVABLE = 2, PEDESTRIAN = 3, BICYCLE = 4, VEHICLE = 5, MAX_OBJECT_TYPE = 6,6种类型为横坐标、数值为纵坐标利用6x6表的关联距离计算
时间: 2024-03-10 08:46:20 浏览: 54
下面是一个示例代码,它定义了一个枚举类型ObjectType,包含了6种不同的物体类型,以及一个函数getObjectType,可以根据输入的类型判断它属于哪种类型,并使用6x6表的关联距离计算方法计算两个物体类型之间的距离。其中,UNKNOWN、UNKNOWN_MOVABLE、UNKNOWN_UNMOVABLE等定义了枚举类型的取值,它们的值分别为0、1、2等。
```c++
#include <iostream>
#include <cmath>
using namespace std;
enum ObjectType {
UNKNOWN = 0,
UNKNOWN_MOVABLE = 1,
UNKNOWN_UNMOVABLE = 2,
PEDESTRIAN = 3,
BICYCLE = 4,
VEHICLE = 5,
MAX_OBJECT_TYPE = 6
};
double dist[MAX_OBJECT_TYPE][MAX_OBJECT_TYPE] = {
{0, 1, 1, 2, 2, 2},
{1, 0, 0, 2, 2, 2},
{1, 0, 0, 2, 2, 2},
{2, 2, 2, 0, 0, 1},
{2, 2, 2, 0, 0, 1},
{2, 2, 2, 1, 1, 0}
};
int main() {
int type1 = 3;
int type2 = 5;
double x1 = type1;
double x2 = type2;
double y = dist[type1][type2];
cout << "distance between " << type1 << " and " << type2 << " is (" << x1 << ", " << y << ") and (" << x2 << ", " << y << ")" << endl;
return 0;
}
```
在这个示例代码中,首先定义了一个二维数组dist,它的行和列分别对应6种不同的物体类型,数组中的元素dist[i][j]表示类型为i的物体和类型为j的物体之间的距离。接着,在主函数中,将输入的整数类型转换为double类型,然后根据输入的类型计算两个物体类型之间的距离,并输出结果。输出结果的格式为:距离值为y,物体类型type1和type2的横坐标分别为x1和x2。
阅读全文