如何根据已知方程作曲线
通常大家都是一组X,Y,然后通过方程拟合出曲线,得到方程的系数。如果已经知道方程的系数,也就是有方程的情况下,如何做出曲线呢?
[解决办法]
假设y=x^2 / 32
private void draw()
{
int n = 100; //100个点
Point[] pts = new Point[n];
//这里的i表示x,单位为像素点
for (int i = 0; i < n; i++)
{
int y = i * i / 32;
pts[i] = new Point(i, y);
}
Graphics g = panel1.CreateGraphics();
Pen p = new Pen(Color.Black, 1);
g.DrawCurve(p, pts);
}
[解决办法]
最小刻度就是你窗体的像素点,没法再小了,不过可以放大,也就是将Y和X成倍放大
你说的显示不全会不会是没有显示x和y小于零的情况,因为程序里面默认原点(0,0)是在左上角,所以如果要移动原点就要改变最后x和y的值,比如移动到窗体正中:
由原来x的位置向右移动半个窗体的位置 i+panel1.width,y也是,y + panel1.height
//这里的i表示x,单位为像素点
for (int i = 0; i < n; i++)
{
int y = i * i / 32;
pts[i] = new Point(i+panel1.width/2, y);
}
[解决办法]
当然也可能带入的x太小,那就带10000个x或者100个x乘一个倍数。