我对c#系统绘制非常新,所以请在我的代码上帮助我。我试图绘制二次方程曲线,并使用“for”循环以便为曲线点10个坐标。我已经多次测试过这段代码,并且在我启动代码时什么都没有出现。此外,无论何时我运行代码,我得到的消息ArgumentException是未处理的,参数是无效的代码“g.DrawCurve(aPen,Points);”突出显示。请帮助我解决这个问题,我花了很多时间尝试修复。在c中绘制二次方程曲线#
{
public Form1()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
float a = 10, b = 30, c = 10;
double x1, x2, delta, cx1, cx2, y1, y2;
int icx1, iy1, icx2, iy2;
delta = (b * b) - (4 * a * c);
x1 = ((b * (-1)) + Math.Sqrt(delta))/(2 * a);
x2 = ((b * (-1)) - Math.Sqrt(delta))/(2 * a);
for (int i = (-10); i <= 10; i = i + 1)
{
cx1 = i * x1;
cx2 = i * x2;
y1 = (cx1 * cx1 * a) + (cx1 * b) + c;
y2 = (cx2 * cx2 * a) + (cx2 * b) + c;
icx1 = Convert.ToInt32(cx1);
iy1 = Convert.ToInt32(y1);
icx2 = Convert.ToInt32(cx2);
iy2 = Convert.ToInt32(y2);
Graphics g = e.Graphics;
Pen aPen = new Pen(Color.Blue, 1);
Point point1 = new Point(icx1, iy1);
Point point2 = new Point(icx2, iy2);
Point[] Points = { point1,point2 };
g.DrawCurve(aPen, Points);
aPen.Dispose();
g.Dispose();
}
开始与画线与**两次与固定/常数/未计算出的坐标点**。 – DrKoch 2015-02-09 08:02:41