private static void EvalStepByStep() { string htmlLog; E e = E.Sum(E.Div(E.NumConst(1), E.Num("d")), E.Mul(E.Num("a"), E.Div(E.Sum(E.Num("b"), E.NumConst(14), E.Num("c")), E.Num("d")))); e = e.EvaluateStepByStep(out htmlLog, "a", 2, "b", 33, "c", 24); E x = E.Num("x"); E y = E.Num("y"); E z = E.Num("z"); Vec4 v = new Vec4(x, y, z, E.Zero); Mat4 rotToX = Mat4.RotToX(v); Mat4 rotXAlpha = Mat4.RotX(E.Num("alpha")); Mat4 r = rotToX * rotXAlpha; r.EvaluateStepByStep(out htmlLog /*, "x", 1, "y", 1, "z", 1*/); Mat4 rotX = Mat4.RotX(E.Num("phi")); Mat4 rotY = Mat4.RotY(E.Num("theta")); Mat4 rotZ = Mat4.RotZ(E.Num("psi")); r = rotX * rotY * rotZ; r.EvaluateStepByStep(out htmlLog); Mat4 rotToZ = Mat4.RotToZ(v); r = rotToZ.Evaluate(); }