节点分布和移动:
在NS3仿真设计中节点分布和移动通过调用“mobility-module.h”头文件实现
一.调e用MobinlityHe'jlper 生成mobility对象
MobilityHelper mobility
二.用对象函数为节点分配初始化位置
- mobility.SetPositionAllocator ("ns3::GridPositionAllocator",
- "MinX", DoubleValue (0.0),
- "MinY", DoubleValue (0.0),
- "DeltaX", DoubleValue (5.0),
- "DeltaY", DoubleValue (10.0),
- "GridWidth", UintegerValue (3),
- "LayoutType" ,StringValue ("RowFirst"));
ns3::GridPositionAllocator 为NS3自带的位置初始化模型,MinX, MinY为起始位置,DeltaX,DeltaY为节点之间的距离,GridWidth为每行节点数目;LayoutType为布局方式。
三.节点位置初始化后,设定节点之后的运动状态
RandomWalk2dMobilityModel,为NS3自带的2d运动模型,bounds属性为设置节点移动的边界
- mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel",
- "Bounds", RectangleValue (Rectangle (-50, 50, -50, 50)));
另外我们也可以设置节点静止:
mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");
四.将移动模型绑定在到节点对象上
mobility.Install (Nodes);