我已经实现了遗传算法(Java),该算法适用于Webots模拟电子冰球(PRO 7.0.3,OS X)。我现在想做的是显示一个图表,显示健身得分如何随时间变化。
我一直在尝试使用 JFreeChart,但不幸的是不允许从 Webots 模拟内部显示新框架。
我一直在研究使用显示节点手动生成图形,但这非常乏味且有限。
你知道还有其他方法吗?或者也许有办法强制 Webbots 允许 JFrames?
最佳答案
您不需要使用任何 Java 库来显示图形。 只需添加 Display 到你的世界的节点:
Display {
rotation 1 0 0 3.14
width 128
height 128
windowPosition 0 1
}
并在 Controller 中初始化它:
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 链接。关于java - 如何在Webots中显示图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184675/