Моделирование свободного падения тела, брошенного с некоторой высоты H - C#

Узнай цену своей работы

Формулировка задачи:

Задание: Смоделируйте свободное падение тела, брошенного с некоторой высоты H. Высоту выбираем сами. уже весь форум облазил и ничего похожего не нашел, могу создать окружность, но как её заставить двигаться не могу понять.

Решение задачи: «Моделирование свободного падения тела, брошенного с некоторой высоты H»

textual
Листинг программы
    public partial class MainForm : Form
    {
        RectangleF r;
        float vel;
        SynchronizationContext sc;
        public MainForm()
        {
            InitializeComponent();
            r = new RectangleF(100,100,50,50);
            sc = SynchronizationContext.Current;
            vel = 0;
            ((AsyncCallback) delegate
             {
                while (true)
                {
                    vel += (float)((9.8 * Math.Pow(0.2,2))/2.0);
                    r.Y+=vel;
                    if (r.Y>=750)
                    {
                        vel = 0;
                        r.Y=750;
                    }
                    Thread.Sleep(50);
                    sc.Post( delegate { Invalidate(); }, null);
                    
                }
             }).BeginInvoke(null, null, null);
        
        }
        
        void MainFormPaint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.DrawLine(Pens.Red, 0, 800, 800, 800);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            g.FillEllipse(Brushes.Black, r);
            string s = string.Format("{0:0.000}", vel);
            g.DrawString("Velocity:"+s,new Font("Arial",12), Brushes.Black, new PointF(400,100));
            
        }
        
        void MainFormKeyPress(object sender, KeyPressEventArgs e)
        {
            vel-=(float)0.6;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы