NetLogo3D 시뮬레이션에서 웹 응용 프로그램을 만들려고합니다.헤드리스 API를 사용하여 NetLogo3D의 내보내기보기
NetLogo3D 5.0.5는 (아직) 애플릿 제작을 지원하지 않기 때문에 "export-view"명령을 사용하여 시뮬레이션에서 직접 API와 출력 스크린 샷을 사용할 생각이있었습니다. 시뮬레이션은 잘 작동하고
import org.nlogo.headless.HeadlessWorkspace;
public class main {
public static void main(String[] argv) {
System.setProperty("org.nlogo.is3d", "true");
HeadlessWorkspace workspace = HeadlessWorkspace.newInstance() ;
try {
System.out.println("Working Directory = " + System.getProperty("user.dir"));
workspace.open("MyProject.nlogo3d");
workspace.command("setup");
workspace.command("repeat 50 [ go ]") ;
workspace.command("export-view \"screenshot.jpg\"") ;
workspace.dispose();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
}
, 에이전트가 다음 화면이 출력된다 50 틱에 대한 이동 :
여기에 지금까지 내 코드입니다.문제는 스크린 샷이 모든 요소를 캡처하지 못한다는 것입니다. 모든 패치는 보이지 않으며 (일반적으로 색이있는 것조차도) 에이전트는 "자동차와 같은 특정 3D 모양을 가져야한다고하더라도 2D 모양으로 그립니다 ").
Export-view는 NetLogo3D GUI에서 제대로 작동하므로 API를 사용하지 않아야하는 이유를 알 수 없습니다.
내가 할 수있는 일이 더 많습니까? 아니면 헤드리스 API에 아직 완전히 구현되지 않은 명령입니까?