Wpf 如何更好地画方程式?

Wpf 如何更好地画方程式?,wpf,draw,Wpf,Draw,我有一个代码,它采用一个方程,并使用点绘制它。例如,如果方程是y=ax^2+b*x+1-那么我将从-100到100遍历x,找到它们匹配的y值并保存一个点列表。这是我循环中代码的一部分。我的窗口高度是800,它的宽度是800,所以对于点(0,0),我通过设置Canvas.SetTop(E1400)和Canvas.SetLeft(E1500)等放置了一个小的省略。对于方程的每一点,我在画布上画了一个小的省略号来画方程 如何在WPF中更好地绘制方程式以获得平滑的线条,而不是虚线图 Ellipse E

我有一个代码,它采用一个方程,并使用点绘制它。例如,如果方程是y=ax^2+b*x+1-那么我将从-100到100遍历x,找到它们匹配的y值并保存一个点列表。这是我循环中代码的一部分。我的窗口高度是800,它的宽度是800,所以对于点(0,0),我通过设置Canvas.SetTop(E1400)和Canvas.SetLeft(E1500)等放置了一个小的省略。对于方程的每一点,我在画布上画了一个小的省略号来画方程

如何在WPF中更好地绘制方程式以获得平滑的线条,而不是虚线图

 Ellipse E1 = new Ellipse();
 E1.Width = 5;
 E1.Height = 5;
 E1.Fill = Brushes.Black;
 double y;
 y = Exp1;
 y = y / 5;
 x = x / 5;
 x = x + 500.0;
 y = 400.0 - y;
 Canvas.SetTop(E1, y);
 Canvas.SetLeft(E1, x);
 Can1.Children.Add(E1);

你可以用这个工具画出你需要的任何形状。一旦你知道每个参数的用途,它就包含了各种各样的曲线,非常容易使用。您可以在MSDN页面上找到一篇介绍性文章,其中解释了基本知识。您可以在第一个链接页面中找到更多绘图示例

需要注意的一点是,您可能会发现,使用Blend定义数学符号,然后使用自动生成的XAML,比使用C#编写数学符号容易得多


如果您不想自己绘制所有内容,您可以找到许多替代解决方案,例如第三方库和控件,列在StackOverflow问题的最常见答案中。

使用该控件并将数据点添加到其
points
属性。我认为它在raw.NET中不可用,但请寻找用于平滑曲线的三次样条曲线。如果有足够的点,多段线应该看起来平滑。