Netlogo导出世界格式

Netlogo导出世界格式,netlogo,Netlogo,我一直在尝试找出导出世界是如何工作的,特别是绘图部分是如何工作的 我创建了以下代码,以使用默认环境大小max pxcor和max pycor 16进行实验。如果您运行本文末尾显示的代码,生成的每个文件将为5兆字节,因此运行一分钟后很容易使用超过1千兆字节的数据 无论如何,我的问题是:绘图部分是如何工作的?我看到第一个条目是-16.4,16.4。我在下面的简单表格中总结了我的一些观察结果。第一列显示海龟移动了多少,第二列显示CSV文件中的部分输出 0.001 FF1D9F78 0.016 FF

我一直在尝试找出导出世界是如何工作的,特别是绘图部分是如何工作的

我创建了以下代码,以使用默认环境大小max pxcor和max pycor 16进行实验。如果您运行本文末尾显示的代码,生成的每个文件将为5兆字节,因此运行一分钟后很容易使用超过1千兆字节的数据

无论如何,我的问题是:绘图部分是如何工作的?我看到第一个条目是-16.4,16.4。我在下面的简单表格中总结了我的一些观察结果。第一列显示海龟移动了多少,第二列显示CSV文件中的部分输出

0.001  FF1D9F78
0.016  FF1D9F78FF1D9F78
0.093  FF1D9F78FF1D9F78FF1D9F78
我还看到,第一个条目是在海龟移动0.001时创建的。第二个条目似乎发生在海龟移动0.016时,第三个条目是0.093

我正试图找出可能的模式,但似乎没有。其中一个条目在CSV文件中代表多少海龟移动

谢谢

----代码如下

globals
[
  totalAmount
]

to setup
  ca
  crt 1
  [
    setxy -16.4 16.4
    pd
    set heading 90
    set color turquoise
  ]
  set totalAmount 0
end

to go
  ask turtles
  [
    fd moveAmount
  ]
  set totalAmount moveAmount + totalAmount
  export
end

to export
  let filetemp word "turtletest" totalAmount
  let filename word filetemp ".csv"
  ;print filename
  export-world filename
end 

绘图层只是一个位图–一个像素网格。它不知道海龟们移动了什么,移动了多远,它只知道海龟们在移动时用什么像素着色。在内部,它是一个
java.awt.image.buffereImage
TYPE\u INT\u ARGB
编码

通过以下代码将其写入导出的世界文件:

其中,
colors
是支持BuffereImage的整数数组,
toHexString
只是将字节写入十六进制数字()

如果您的图像大部分是黑色的,您将在文件中看到大量
00
字节

至于非零字节,我觉得FF1D9F78是一个alpha=FF(不透明)、红色=29、绿色=159、蓝色=120的像素。至少,我认为这是正确的解释?这对你们在屏幕上看到的东西是合理的吗?也许A-R-G-B字节的顺序是相反的?要仔细检查它,我需要做
导出视图
,然后在一个程序中查看生成的PNG文件,该程序可以告诉我单个像素的RGB值——我现在手头没有这样的程序。但希望这能让你走上正轨