我想使用控制台应用程序在C#中绘制任何多项式函数,而不使用任何窗口或表单,我搜索了很多,但我发现只是在窗口应用程序或涉及MATLAB,我想要的只是在控制台中。
我想让它绘制任何给定的多项式函数,例如;系数存储在一个数组中,我想绘制与之相关的函数,例如:
数组是:
double[] array = new double[4] { 2 , 0 , -4 , 3 };
然后函数是:3X ^ 3 - 4X ^ 2 + 2
它将在XY平面上绘制,如下所示:
例如:X + 1
http://i.stack.imgur.com/SD3tb.jpg
感谢任何帮助。
更新
使用您提供的方法,我尝试了以下代码:
WriteAt("|", 40, 0);
WriteAt("|", 40, 1);
WriteAt("|", 40, 2);
WriteAt("|", 40, 3);
WriteAt("|", 40, 4);
WriteAt("|", 40, 5);
WriteAt("|", 40, 6);
WriteAt("|", 40, 7);
WriteAt("|", 40, 8);
WriteAt("|", 40, 9);
WriteAt("-----------------------------------------", 20, 10);
WriteAt("|", 40, 11);
WriteAt("|", 40, 12);
WriteAt("|", 40, 13);
WriteAt("|", 40, 14);
WriteAt("|", 40, 15);
WriteAt("|", 40, 16);
WriteAt("|", 40, 17);
WriteAt("|", 40, 18);
WriteAt("|", 40, 19);
WriteAt("|", 40, 20);
WriteAt("*", 32, 12);
WriteAt("*", 34, 11);
WriteAt("*", 36, 10);
WriteAt("*", 38, 9);
WriteAt("*", 40, 8);
WriteAt("*", 42, 7);
WriteAt("*", 44, 6);
WriteAt("*", 46, 5);
WriteAt("*", 48, 4);
我得到了这个:
http://i.stack.imgur.com/cqLz2.jpg
所以,现在我必须给WriteAt函数提供必须绘制的点,但要记住我的绘图中的原点是(40,10)?
我从x轴减去2,因为“ - ”是“|”的一半大小所以情节会有点缩放。
答案 0 :(得分:2)
您需要使用Console.SetCursorPosition并根据需要绘制“*”,就好像您有像素的80x25显示一样。
您需要相应地缩放x
和y
轴以适应屏幕空间。不要忘记屏幕上的y
已关闭,当正常图纸上显示时 - 除了计算屏幕位置时的移位(与常规图形相同)之外,还需要反转。
以上MSDN文章中提供的示例要点:
Console.SetCursorPosition(Console.CursorTop+x, Console.CursorLeft+y);
Console.Write("*");