我已经实现了在Webots模拟e-puck(PRO 7.0.3,OS X)上工作的遗传算法(Java)。我现在要做的是显示一个图表,显示健康评分随时间的变化情况。
我一直在尝试使用JFreeChart,但遗憾的是,不允许在Webots模拟中显示新框架。
我一直在研究使用Display节点手动生成图形,但这非常繁琐且有限。
你知道其他任何方法吗?或许可以强制Webots允许JFrames的方法?
答案 0 :(得分:1)
您不需要使用任何java库来显示图形。 只需在您的世界中添加 Display 节点:
Display {
rotation 1 0 0 3.14
width 128
height 128
windowPosition 0 1
}
并在您的控制器中初始化它:
display = wb_robot_get_device("display");
width = wb_display_get_width(display);
height = wb_display_get_height(display);
wb_display_fill_rectangle(display,0,0,width,height);
wb_display_set_color(display,LIGHT_GREY);
这将在场景的左下角创建一个方形面板,能够在模拟过程中显示2D内容。您可以在Webots版本中包含的项目中找到 display 的一些用法示例。
初始化后,您只需将像素,线条,多边形,文本和...添加到显示面板即可。访问我之前提到的Java API链接。