日期:2014-05-18  浏览次数:21071 次

C#画曲线
画一个 y = x * x + a(a是一个变量),要求a的值改变时,曲线图仍然在屏幕中心
谢谢

------解决方案--------------------
建立一个wpf应用程序吧,容易些。
------解决方案--------------------
1:我不知道你要画到哪里?
2:坐标方向是?
3:a是变量,那么图中x,y,a都是变量。问题在于在一条曲线计算的过程中,a是常量还是变量?
你的这个绘制没有难度把其它都说清后做到你说的要求很容易。
另外你说的:曲线图仍然在屏幕中心 
很明显,这是一个二次曲线,对于二次网线来说,它可能在第I,V象限的任何地方?一个可能无穷高的图形,我怎么可能保证它总在一个有限的屏幕中英呢?
很显然的,你应该说明对于这个曲线,它的几个变量的定义域,然后说明这个中心以什么为基准对齐。例如X以原点对齐,Y以值域的中间点为中间对齐==。
------解决方案--------------------
探讨
1:我不知道你要画到哪里?
2:坐标方向是?
3:a是变量,那么图中x,y,a都是变量。问题在于在一条曲线计算的过程中,a是常量还是变量?
你的这个绘制没有难度把其它都说清后做到你说的要求很容易。
另外你说的:曲线图仍然在屏幕中心
很明显,这是一个二次曲线,对于二次网线来说,它可能在第I,V象限的任何地方?一个可能无穷高的图形,我怎么可能保证它总在一个有限的屏幕中英呢?
很显然的,你应该说明对于这个曲…

------解决方案--------------------
UP
------解决方案--------------------
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics grfx = e.Graphics;
PointF[] aptf = new PointF[150];
for (int i = 0; i < 150; i++)
{
aptf[i].X = i;
aptf[i].Y = i*i + 2;//这就是x与y之间的关系
}
grfx.DrawLines(new Pen(Brushes.Blue), aptf);
}
//我写的一小段程序,但是不能在屏幕中央。