Esempio n. 1
0
  private void transform(CoordMatrix4x4 m) {

    // current expressions
    ExpressionNode[] expr = new ExpressionNode[3];
    for (int i = 0; i < 3; i++) {
      expr[i] = ((Function) fun[i].deepCopy(kernel)).getExpression();
    }

    for (int row = 0; row < 3; row++) {
      MyDouble[] coeff = new MyDouble[4];
      for (int i = 0; i < 4; i++) {
        coeff[i] = new MyDouble(kernel, m.get(row + 1, i + 1));
      }

      ExpressionNode trans = new ExpressionNode(kernel, coeff[3]);
      for (int i = 0; i < 3; i++) {
        trans = trans.plus(expr[i].multiply(coeff[i]));
      }

      fun[row].setExpression(trans);
    }
  }