public ActionResult GetGraph() { EvaluationContext context = Session["Context"] as EvaluationContext; using (MemoryStream stream = new MemoryStream()) { Bitmap bitmap = ComputePlanVisualizer.Visualize(context); bitmap.Save(stream, ImageFormat.Png); return(File(stream.GetBuffer().Take((int)stream.Length).ToArray(), "image/png")); } }
public static void TestDiffPlan() { MathyShell.Init(@"H:\VS Projects\Cherimoya\Mathy.Web\Repository\Mathy"); EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\TwilightPlain\diff.txt")).CreateEvaluationContext(); ec.Settings = new Settings() { DecimalDigitCount = 5 }; ec.Update(); ComputePlanVisualizer.Visualize(ec).Save(@"H:\Users\lkd\Desktop\r12.jpg"); // (ec.GetValue("graph") as Bitmap).Save(@"H:\Users\lkd\Desktop\r1.jpg"); }
public static void TestPartialDiffPlan() { MathyShell.Init(@"H:\VS Projects\Cherimoya\Mathy.Web\Repository\Mathy"); EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\TwilightPlain\partial-diff.txt")).CreateEvaluationContext(); ec.SetValueString("r", "[0,0.2,0,0,0;0,0.1,0.1,0,0;0.1,0.2,0,0,0;0,0.1,0.2,0,0;0,0.1,0.1,0,0]"); ec.SetValueString("u", "[0.1,0.2,0.2,0.1,0.2]"); ec.Settings = new Settings() { DecimalDigitCount = 5 }; ec.Update(); ComputePlanVisualizer.Visualize(ec).Save(@"H:\Users\lkd\Desktop\r12.jpg"); int nodeCount = (ec.GetValue("f_1") as Expression).Flatten().Distinct().Count(); double r1 = (double)ec.GetValue("r1"); }
private void BuildChaptor3() { db.T0("三 实验过程图示") .Image(ComputePlanVisualizer.Visualize(context), "ComputationTree.png"); }
static void Main(string[] args) { // TestDiff.TestDiffPlan(); // return; /* * MathyShell.Init(@"H:\VS Projects\Cherimoya\Mathy.Web\Repository\Mathy"); * * Expression[] roots = MathyShell.Compile("x=[1,2,3,4,5,6];x1=mapd(x, i->pow(i,2));sum1=sum([1.0,2.0])", new Dictionary<string,object>()); * object result = MathyShell.Evaluate(roots, new Dictionary<string, object>()); */ EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\10faf6b7-6e03-4dd1-a6fd-33e4dd6fea92.txt")).CreateEvaluationContext(); ec.Settings = new Settings() { DecimalDigitCount = 5 }; ec.SetValueString("a", "1"); ec.SetValueString("b", "8"); ec.Update(); ComputePlanVisualizer.Visualize(ec).Save(@"H:\Users\lkd\Desktop\r1.jpg"); /* * MathyShell.Init(@"H:\VS Projects\Cherimoya\Mathy.Web\Repository\Mathy"); * * EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\TwilightPlain\demo1.txt")).CreateEvaluationContext(); * * StringBuilder b = new StringBuilder(); * b.Append("121.3,-,119.91;"); * // b.Append("121.3,128.74,119.91;"); * b.Append("120.87,121.32,119.24;"); * b.Append("122.44,122.96,123.45;"); * b.Append("117.6,119.66,118.96;"); * b.Append("110.65,112.34,110.29;"); * b.Append("117.29,120.79,121.42;"); * b.Append("115.27,121.45,117.48;"); * b.Append("118.96,123.78,123.29;"); * b.Append("118.67,116.67,114.58;"); * b.Append("126.24,123.51,126.2;"); * b.Append("128.65,122.02,121.93;"); * b.Append("126.84,124.72,123.14;"); * b.Append("122.61,128.48,126.2;"); * b.Append("118.95,123.82,118.11;"); * b.Append("118.74,118.23,117.38;"); * b.Append("119.74,121.78,121.01;"); * b.Append("121.21,123.28,116.38;"); * b.Append("129.3,124.1,122.02;"); * b.Append("136.81,129.8,128.47;"); * b.Append("127.81,117.66,122.9"); * * * ec.SetValueString("m", "[" + b + "]"); * ec.Settings = new Settings() { DecimalDigitCount = 3 }; * ec.Update(); * * / * * ec = null; * * /* * EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\Petunia\Repository\Plans\2.txt")).CreateEvaluationContext(); * ec.SetValueString("from", "1"); * ec.SetValueString("to", "10"); * ec.SetValueString("p", "5"); * ec.SetValueString("a", "2"); * ec.SetValueString("width", "400"); * ec.SetValueString("height", "200"); * ec.Update(); * * Report.FromEvaluationContext(ec).SaveAsWordDocument(@"H:\Users\lkd\Desktop\report.docx"); */ /* * EvaluationContext ec = Plan.Parse(System.IO.File.ReadAllText(@"H:\Users\lkd\Desktop\Petunia\Repository\Plans\1.txt")).CreateEvaluationContext(); * ec.SetValueString("x", "[0.98464,0.98971,0.98028,0.98233,0.98854,0.98188,0.98963]"); * ec.SetValueString("im", "[0.0135,0.0012]"); * ec.SetValueString("mf", "[0.955,1.939]"); * ec.SetValueString("uim", "0.00013"); * ec.SetValueString("ub", "1"); * ec.SetValueString("uv", "0.35"); * ec.SetValueString("us", "0.01"); * ec.Update(); * * Report.FromEvaluationContext(ec).SaveAsWordDocument(@"H:\Users\lkd\Desktop\report.docx"); */ /* * string expression = "draw(@[expression(0,10,@x:double -> p*sin(a*x))], {margin:@[40,20,20,20],padding:@[10,10,10,10]}, 300, 300)"; * * Dictionary<string, object> dict = new Dictionary<string, object>(); * dict.Add("p", 5); * dict.Add("a", 2); * * Bitmap bitmap = MathyShell.Visualize(expression, dict); * bitmap.Save(@"H:\Users\lkd\Desktop\pr1.jpg"); * * * byte[] data = (byte[])MathyShell.Evaluate(expression, dict); * * System.IO.File.WriteAllBytes(@"H:\Users\lkd\Desktop\r12.jpg", data); */ }