⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 woimsdemo3dwithui.java

📁 MASON代表多主体邻里或网络仿真(Multi-Agent Simulator of Neighborhoods or Networks)。它是乔治梅森大学用Java开发的离散事件多主体仿真核心库
💻 JAVA
字号:
package sim.app.woims3d;import sim.portrayal3d.continuous.*;import sim.portrayal3d.simple.*;import sim.engine.*;import sim.display.*;import sim.display3d.*;import javax.swing.*;public class WoimsDemo3DWithUI extends GUIState    {    public Display3D display;    public JFrame displayFrame;    public String getName() { return "Woims Demonstration!"; }    public String getInfo()  // we'll just assume it's HTML        {        WoimsDemo3D wd = (WoimsDemo3D) state;         return "<H2>Woims Demonstration</H2>by Liviu Panait & Gabriel Balan.<p>Parameters:" +            "<tr><td>Number of Woims</td><td>" + WoimsDemo3D.NUM_WOIMS  + "</td></tr>" +            "</table>";         }    public static void main(String[] args)        {        WoimsDemo3DWithUI woims = new WoimsDemo3DWithUI(new WoimsDemo3D(System.currentTimeMillis()));        Console c = new Console(woims);        c.setVisible(true);        }    public WoimsDemo3DWithUI()        {        this(new WoimsDemo3D(System.currentTimeMillis()));        }    ContinuousPortrayal3D p2;    LightPortrayal3D light;    WireFrameBoxPortrayal3D wireFrameP;    public WoimsDemo3DWithUI(SimState state)        {        super(state);        WoimsDemo3D wd = (WoimsDemo3D) state;        p2 = new ContinuousPortrayal3D();        p2.setField(wd.environment);                 // build the light        light= new LightPortrayal3D( java.awt.Color.white, new sim.util.Double3D(-2,-3,-1));        // build the box        wireFrameP = new WireFrameBoxPortrayal3D(-WoimsDemo3D.EXTRA_SPACE,-WoimsDemo3D.EXTRA_SPACE,-WoimsDemo3D.EXTRA_SPACE,wd.environment.width + 2*WoimsDemo3D.EXTRA_SPACE,wd.environment.height + 2*WoimsDemo3D.EXTRA_SPACE,wd.environment.length + 2*WoimsDemo3D.EXTRA_SPACE);        }            public void start()        {        super.start();  // clear out the schedule        setupPortrayals();        }            public void load(SimState state)        {        super.load(state);  // clear out the schedule        setupPortrayals();        }            public void setupPortrayals()        {        p2.setField(((WoimsDemo3D) state).environment);        display.createSceneGraph();        display.reset();        }    public void init(Controller c)        {        super.init(c);        display = new Display3D(600,600,this,1);                display.attach(p2,"Woims");        display.attach(light, "SpotLight");        display.attach(wireFrameP, "WireFrame");        display.translate(-100,-100,-100);        display.scale(1.0/200);        displayFrame = display.createFrame();        c.registerFrame(displayFrame);   // register the frame so it appears in the "Display" list        displayFrame.setVisible(true);        }//    private void setDisplayPreferredSize()//    {    //              display.setPreferredSize(new Dimension(600,600));//    }            public void quit()        {        super.quit();        if (displayFrame!=null) displayFrame.dispose();        displayFrame = null;          display = null;            }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -