如何在Webots中显示图形?

时间:2013-03-03 10:23:58

标签: java webots

我已经实现了在Webots模拟e-puck(PRO 7.0.3,OS X)上工作的遗传算法(Java)。我现在要做的是显示一个图表,显示健康评分随时间的变化情况。

我一直在尝试使用JFreeChart,但遗憾的是,不允许在Webots模拟中显示新框架。

我一直在研究使用Display节点手动生成图形,但这非常繁琐且有限。

你知道其他任何方法吗?或许可以强制Webots允许JFrames的方法?

1 个答案:

答案 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链接。