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