/// <summary>
        /// 每帧会发射一个粒子,其位置在画布中间(200,200),发射方向是360度,速率为100,生命为1秒,红色、半径为5象素
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void demo2_Click(object sender, RoutedEventArgs e)
        {
            var dt = 0.01;

            AyFramework.Start(() =>
            {
                ps.emit(new AyParticle(new AyVector2(200, 200), sampleDirection().Multiply(100), 1, Colors.Green, 5));
                ps.simulate(dt);
                AyFramework.clearCanvas();
                ps.render(ctx);
            });
        }
        private void demo1_Click(object sender, RoutedEventArgs e)
        {
            AyFramework.clearCanvas();
            var position     = new AyVector2(10, 200);
            var velocity     = new AyVector2(50, -50);
            var acceleration = new AyVector2(0, 10);
            var dt           = 0.1;

            AyFramework.Start(() =>
            {
                position = position.Add(velocity.Multiply(dt));
                velocity = velocity.Add(acceleration.Multiply(dt));
                ps.CreateEllipse(position.X, position.Y, 5, Colors.Green, Colors.Yellow, ctx);
            });
        }
        void ctx_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            AyFramework.clearCanvas();
            var point = e.GetPosition(ctx);

            var dt = 0.015;

            var ddd = Color.FromRgb(Convert.ToByte(rd.Next(0, 255)), Convert.ToByte(rd.Next(0, 255)), Convert.ToByte(rd.Next(0, 255)));

            AyFramework.stop();
            AyFramework.Start(() =>
            {
                ps.emit(new AyParticle(new AyVector2(point.X, point.Y), sampleDirection().Multiply(100), 1, ddd, 5));
                ps.simulate(dt);
                AyFramework.clearCanvas();
                ps.render(ctx);
            });
        }