static public double[] run(double ax, double ay, double az) { try { Data data = Data.getInstance(); LineTO lt = new LineTO(ax, ay, az, data.init_x, data.init_y, data.init_z); lt.solve(); LineFrom lf; LineTO oldLt; while (true) { oldLt = lt; lf = new LineFrom(); lf.solve(lt); lt = new LineTO(lf.res_anglex, lf.res_angley, lf.res_anglez, lt.res_x, lt.res_y, lt.res_z); lt.solve(); if (lt.res_z >= data.c) { double[] res = findCross(data, lf.res_cosx, lf.res_cosy, lf.res_cosz, lt.res_x, lt.res_y, lt.res_z); return(res); } } return(new double[] { }); }catch (Exception e) { throw new Exception("ee"); } }
public void solve(LineTO lt) { d = Data.getInstance(); this.lt = lt; initN(); solveVectorLine(); solveNormN(); solveNormR(); solveCosPhi(); solveResult(); }