我已经实现了适用于 Webots 模拟 e-puck(PRO 7.0.3,OS X)的遗传算法(Java)。我现在要做的是显示一个图表,该图表将显示健身得分如何随时间变化。
我一直在尝试使用 JFreeChart,但不幸的是,不允许从 Webots 模拟中显示新框架。
我一直在研究使用显示节点手动生成图形,但这非常繁琐且有限。
你知道其他方法吗?或者也许是强制 Webots 允许 JFrames 的方法?
您不需要使用任何 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 版本中包含的项目中找到一些显示的使用示例。
初始化后,您可以简单地将像素、线条、多边形、文本和...添加到显示面板。访问我之前提到的 Java API 链接。