计算汽车节点之间的距离 VEINS
Calculating distance between cars nodes VEINS
我是 VEINS 的新手,正在尝试在 MyVeinsApp.cc 中实现加权 p-持久性。该公式中使用了发送节点和接收节点之间的距离。我看到了下面的 2 个函数。
virtual Coord& getSenderPos();
virtual const Coord& getSenderPos() const {return const_cast<WaveShortMessage*>(this)->getSenderPos();}
我应该使用其中一种方法来计算节点之间的距离吗?
请告知最佳方法。
对于距离你显然需要两个位置。你可以通过向移动模块询问当前节点的位置和你收到的消息中发送者的位置。然后你可以使用Coord中的以下方法来计算两点之间的距离:
/**
* @brief Returns the distance to Coord 'a'.
*/
double distance(const Coord& a) const {
Coord dist(*this - a);
return dist.length();
}
查找您的应用程序实现的路径损耗模型。这可以在 config.xml 文件中的模拟模型类型中看到。
例如,默认情况下,veins4.7.1 使用 SimplePathLossModel。在这个路径损耗模型(.cc文件)的行为描述中,可以看到变量
reveiverPos, senderPos
只要找到它们之间的长度,就可以得到发送者和接收者之间的距离。
double yourDistance = (receiverPos-sendersPos).length();
如果你像我一样喜欢调试标签,你可以通过在调试中打印它来查看这个距离:
splmEV << "Distance between sender and receiver is: " << yourDistance << endl;
确保定义 splmEV。
我是 VEINS 的新手,正在尝试在 MyVeinsApp.cc 中实现加权 p-持久性。该公式中使用了发送节点和接收节点之间的距离。我看到了下面的 2 个函数。
virtual Coord& getSenderPos();
virtual const Coord& getSenderPos() const {return const_cast<WaveShortMessage*>(this)->getSenderPos();}
我应该使用其中一种方法来计算节点之间的距离吗?
请告知最佳方法。
对于距离你显然需要两个位置。你可以通过向移动模块询问当前节点的位置和你收到的消息中发送者的位置。然后你可以使用Coord中的以下方法来计算两点之间的距离:
/**
* @brief Returns the distance to Coord 'a'.
*/
double distance(const Coord& a) const {
Coord dist(*this - a);
return dist.length();
}
查找您的应用程序实现的路径损耗模型。这可以在 config.xml 文件中的模拟模型类型中看到。 例如,默认情况下,veins4.7.1 使用 SimplePathLossModel。在这个路径损耗模型(.cc文件)的行为描述中,可以看到变量
reveiverPos, senderPos
只要找到它们之间的长度,就可以得到发送者和接收者之间的距离。
double yourDistance = (receiverPos-sendersPos).length();
如果你像我一样喜欢调试标签,你可以通过在调试中打印它来查看这个距离:
splmEV << "Distance between sender and receiver is: " << yourDistance << endl;
确保定义 splmEV。