C#中怎么让一个点按照我规定的数学轨迹运动,例如让一个点(x,y)按照 X²+Y²=1的轨迹运动,代码应该怎么写?

解决方案 »

  1.   

    Graphics g = this.CreateGraphics();
             g.DrawEllipse(new Pen(Color.Red,1.0f), 10f, 10f, 2f, 2f);
    用小椭圆画点,很逼真,楼主可以试试
    至于轨迹,做变量放进去就ok了
      

  2.   


    我是这样做的
              Point pnt = new Point();        SolidBrush brh = new SolidBrush(Color.Red);
            private void Form1_Paint(object sender, PaintEventArgs e)
            {            Graphics g = this.CreateGraphics();
                g.FillEllipse(brh, new Rectangle(pnt.x, pnt.y, 10, 10));           
            }
             private void timer1_Tick(object sender, EventArgs e)
            {
               button2.Left+=2;
               pnt.x++;
               pnt.y++;           
            }
    那个point是只有两个属性的 类,目的就是随着时间增加改变点的位置,但是在Form_Paint里边没有删除前边画出来的点,结果出来的就是一条不断增长的线。
    我想的是怎么样在画出一个点之后顺便把上个点给擦出了。