protected override void InitFunction() { if (this.SourceType == SourceType.Equation) { _function = new Parameter2DFunction(_formula, _formulaY); } else { // Parametric2DEvalutor evalutor = new Parametric2DEvalutor(); // evalutor.Text = this.CodeBody; // switch(this.CodeLanguage) // { // case CodeLanguage.CSharp: // evalutor.language= CodeLanguage.CSharp; // break; // case CodeLanguage.VBNET: // evalutor.language = CodeLanguage.VBNET; // break; // } // _function = new Parameter2DFunction(new Parameter2DFunctionDelegate(evalutor.Invoke)); FunctionEvalutor evalutor = new FunctionEvalutor(this.CodeBody, new string[] { "t" }, this.CodeLanguage); _function = new Parameter2DFunction((Parameter2DFunctionDelegate)evalutor.CreateDelegate(typeof(Parameter2DFunctionDelegate))); } if (this.DerivativeMode) { for (int i = 0; i < this.OrderOfDerivative; i++) { _function = _function.Derivative; } } }
private void btnCalcParametric_Click(object sender, EventArgs e) { try { Parameter2DFunction paramFunction = null; paramFunction = new Parameter2DFunction(txtSourceX.Text, txtSourceY.Text); Point2D point = paramFunction.ValueAt((double)nudtValue.Value); txtXValue.Text = point.X.ToString(); txtYValue.Text = point.Y.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message, "MathX Demo", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
public Parameter2DFunctionPlotter(Parameter2DFunction function) { _function = function.ValueAt; }