Tcl中NS2(nam)节点的标签颜色、颜色和形状问题

Tcl中NS2(nam)节点的标签颜色、颜色和形状问题,tcl,ns2,nam,Tcl,Ns2,Nam,我正在尝试在NS2 2.35/nam 1.15中标记、更改形状和更改节点的标签颜色。我能够添加标签并正确更改节点的颜色(尽管颜色需要两行)。但是,我希望将该节点设置为正方形,并更改标签颜色(标签颜色为灰绿色,难以阅读)。看起来很简单。。。通过手册/互联网/资料来源,我生成了以下代码来完成此任务: set stime 0.0 #color works... but requires BOTH these lines $ns at $stime "$BS color darkgreen" $BS

我正在尝试在NS2 2.35/nam 1.15中标记、更改形状和更改节点的标签颜色。我能够添加标签并正确更改节点的颜色(尽管颜色需要两行)。但是,我希望将该节点设置为正方形,并更改标签颜色(标签颜色为灰绿色,难以阅读)。看起来很简单。。。通过手册/互联网/资料来源,我生成了以下代码来完成此任务:

set stime 0.0

#color works... but requires BOTH these lines 
$ns at $stime "$BS color darkgreen"
$BS color darkgreen

#shape does NOT work. Shape stays a circle
$ns at $stime "$BS shape square"
$BS shape square

#Label works 
$ns at $stime "$BS label \"BASE STATION\""

#label color does NOT. Moves the node to position 0,0
$ns at $stime "$BS label-color black"
$BS label-color black;


#base station position
set bsx [expr $val(x)/2]
set bsy [expr $val(y)/2]
$BS set X_ $bsx
$BS set Y_ $bsy
$BS set Z_ 0.0;
当我运行代码时,节点颜色会改变,标签也会添加。然而,形状永远不会改变——我也无法让它改变(通过改变
stime
、注释内容、添加、尝试不同的形状等等)。此外,当我以标签颜色离开时,它会将整个节点位置从(35,35)移动到(0,0)。标签颜色如何改变节点位置???为什么我的形状永远不变?标签颜色有什么问题?这是事件计划程序中的初始化问题吗


最后,在按下nam中的“播放”之前,整个模拟中的每个节点都以绿色圆圈开始。点击播放后,颜色和标签会发生变化

默认节点颜色为黑色。当使用
energyModel
时,它是绿色的。颜色设置在
tcl/ns lib.tcl
第1344行中完成:对于energyModel。形状(圆)在第1352行和第1357行中设置。我的例子:红色,正方形

  1343      if [info exists energyModel_] { 
  1344          set nodeColor "red"
  1345      } else {
  1346          set nodeColor "black"
  1347      }
  .
  1352  -z $size -v square -c $nodeColor"
  1353      } else { 
  1354          # Flat addressing
  1355          $self puts-nam-config "n -t * -s [$nodep id] \
  1356  -x [$nodep set X_] -y [$nodep set Y_] -Z [$nodep set Z_] -z $size \
  1357  -v square -c $nodeColor"
构建一个新的ns-allinone-2.35/,并将“ns”保存到
/usr/local/bin/ns红方块中。补丁:
nam_red-square-node.补丁
(858B,26行)(易于编辑为您喜欢的颜色。)

注意:您可以同时安装任意数量的ns-allinone-2.xx

我的模拟/动画示例:
$ns红方块aodv Soumia.tcl

$ grep -ni green D-Sq-kartiksd.tcl
$ grep -ni square D-Sq-kartiksd.tcl

p.S.:
暗绿色
也很好用


添加正方形的仿真实例

带有颜色设置和正方形的模拟示例:
D-Sq-kartiksd.tcl

$ grep -ni green D-Sq-kartiksd.tcl
$ grep -ni square D-Sq-kartiksd.tcl
链接