在Netlogo源中给定(x_top_left,y_top_left)和(x_low_right,y_low_right),保存的Netlogo小程序的宽度和高度应该是多少?
我有很多正宗的Netlogo文件,为课程和演示做好准备。使用Perl或Ruby,我想将它们批量导出为不同文件中的applet,可能与左框架中的目录相关。很像"保存为applet",然后批处理,保存到不同的HTML文件。
所有这些都是微不足道的,如果不是因为我不知道我应该在写作中使用哪些applet尺寸
<applet code="org.nlogo.lite.Applet" archive="NetLogoLite.jar"
width="???" height="???">
<param name="DefaultModel" value="netlogofile.nlogo">
</applet>
注意???。我搜索了其他Netlogo文件解析器并遇到了https://github.com/NetLogo/NetLogo/wiki/Model-file-format,这是不够具体的https://github.com/rikblok/dokuwiki-plugin-netlogo/blob/master/syntax/applet.php这是一个解析器,但产生的结果对我来说似乎没用。 (我让它运行但它似乎错误地解析了Netlogo源。)
我发现Netlogo文件格式如下(分号后的注释)
@#$#@#$#@
GRAPHICS-WINDOW
210 ; x-coord of upper left corner
10 ; y-coord of upper left corner
544 ; x-coord of lower right corner?
215 ; y-coord of lower right corner?
-1
-1
2.77 ; patch size
1
10 ; font size
1
1
1
0
1
0 ; world-wrap
1 world-wrap
-45 ; min-pxcor
71 ; max-pcor
-33 ; min-pycor
29 max-pycor
0
0
1 ; show tick counter
ticks ; tick counter label
为了了解逻辑,我解析了一些已保存的applet并获得了以下结果:
(x_top_left, y_top_left) = (210, 10).
(x_low_right, y_low_right) = (649, 470).
Netlogo saves applet with width x height: 794 x 480.
(x_top_left, y_top_left) = (96, 10).
(x_low_right, y_low_right) = (535, 470).
Netlogo saves applet with width x height: 629 x 480.
(x_top_left, y_top_left) = (96, 10).
(x_low_right, y_low_right) = (483, 340).
Netlogo saves applet with width x height: 575 x 350.
(x_top_left, y_top_left) = (96, 10).
(x_low_right, y_low_right) = (396, 271).
Netlogo saves applet with width x height: 690 x 300.
根据这些数据,我试图在这些数字中发现一种模式,但坦率地说它们之间的关系超出了我的范围。
我的问题是:在Netlogo源中给出(x_top_left,y_top_left)和(x_low_right,y_low_right),保存的Netlogo小程序的宽度和高度应该是多少?
答案 0 :(得分:1)
您必须查看“接口”选项卡中所有小部件的尺寸,一起计算所有这些小部件的边界框,然后添加一些边框。
我知道这个计算的两个实现,两者都非常相似。
一个是NetLogo本身的一个。它在这里,分为两个文件:
另一个是在NetLogo网站上的Perl脚本(Perl?是的,2002年,几乎没有被触及过),它提供了Model Library模型的applet版本。这些脚本是私人仓库,但我对相关部分作了一个要点:
在驴子的岁月里,我还没有看过这些东西,但如果你对它有疑问,那么我的记忆可能会慢慢来。