public void control(Agent[] agents, Thing[] things) {
        MeView meV = new MeView();
        meV.t = t;
        meV.vt = vt;
        meV.x = x;
        meV.y = y;
        meV.r = r;
        meV.a = a;
        meV.AMIN = AMIN;
        meV.AMAX = AMAX;
        meV.VTMIN = VTMIN;
        meV.VTMAX = VTMAX;
        meV.CDRAG = CDRAG;
        AgentView[] aVs = new AgentView[agents.length];
        for (int i = 0; i < aVs.length; i++) {
            aVs[i] = new AgentView();
            aVs[i].c = agents[i].getClass();
            aVs[i].r = agents[i].r;
            aVs[i].t = agents[i].t;
            aVs[i].v = agents[i].v;
            aVs[i].x = agents[i].x;
            aVs[i].y = agents[i].y;
        }
        if (things != null)
            throw new Error("internal error: no things yet");
        ai.control(meV, aVs, null);
        a = clamp (meV.a, AMIN, AMAX);
        vt = clamp (meV.vt, VTMIN, VTMAX);
    }