節點分佈和移動:
在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);