Страница 1 из 1

Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 17.01.2016 (Вс) 16:06
Admiralisimys
Добрый день.

Подавляющее большинство результатов поиска приводят к формулам
Изображение
которые строят такой график:
Изображение
Но это всего лишь один из простейших частных случаев.

А как насчёт такого?
Изображение

Эмпирическим можно свести к тому что до первой точки касание всё происходит согласно первой формулы,
а дальше всё согласно формулы амплитудной модуляции
Изображение
с результатом с периода затухания да и ещё в абсолютных (по модулю) значениях.

Но проблема в том что для каждых входных значения (начальная высота, угол, скорость, а в дальнейшем даже масса), нужно будет калибровать константные коэффициенты.

Быть может есть более универсальная формула/система? В каком направлении искать/выводить?

Заранее спасибо за ответ.

P.S.
Во время поиска встречалось упоминание про то что возможно задействуются дифференциальные уравнения.

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 17.01.2016 (Вс) 17:31
Debugger
Это не уравнение тела, брошенного под углом к горизонту. Это, хм, что-то не то.

Ты же хочешь описать по факту несколько движений тела: после каждого удара вектор скорости будет скачкообразно меняться, создавая разрыв. Не знаю, как это решить с помощью диффуров, учитывая это (и сомневаюсь, что возможно), но предложу решение проще.

Пусть тело бросили под углом со скоростью (Vx; Vy) из (0, 0). Ты можешь явно выписать формулу вплоть до точки касания земли X1. В точке касания земли у тела будет скорость (Vx; -Vy). Пусть коэффициент упругости удара будет Q. Тогда, сразу после удара, тело будет находиться на земле, и иметь скорость (Vx; Vy * Q). Как будет себя тело вести дальше? Да так же: эта та же задача про бросок под углом; только скорости и начальная точка будут (Vx; Vy * Q) и (X1; 0) соответственно. Дальше тело будет лететь по параболе до следующего касания, X2; третий отрезок будет решением задачи броска под углом со скоростью (Vx; Vy * Q * Q) из (X2; 0).

У тебя получается явно выписываемая кусочная функция.

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 0:06
Admiralisimys
Благодарю за идею Debugger.
Математически можно выразить как-то так
Изображение
причём n_max выбирается таким при котором v будет меньше какого минимального значения.

Ну, а к примеру на С#, это будет как-то так:
Код: Выделить всё
using System;
using System.Collections.Generic;

namespace Geometry
{
   public class Curve
   {
      public static readonly double g = 9.81;
      private List<Point> mPoints = null;

      public Curve(Point aPoint0, double aAngle, double aV0)
      {
         mPoints = new List<Point>(1024);

         double Q = 0.5;
         double angle = Angle.toRadians(aAngle);
         Point point = aPoint0;
         double v = aV0;
         int n = 0;
         
         do
         {
            v = aV0 * Math.Pow(Q, n++);
            double maxT = TimeInFly(angle, v);
            double delta = maxT / 10;
   
            for (double t = 0; t < maxT; t += delta)
            {
               mPoints.Add(MovingBodyOnHorizontal(point, angle, v, t));
            }
   
            point = MovingBodyOnHorizontal(point, angle, v, maxT);
            mPoints.Add(point);
         } while(v > 0.1);
      }
      
      public static Point MovingBodyOnHorizontal(Point aPoint0, double aAngle, double aV0, double aTime)
      {
         double x = aPoint0.X + aV0 * aTime * Math.Cos(aAngle);
         double y = aPoint0.Y + aV0 * aTime * Math.Sin(aAngle) - (g * Math.Pow(aTime, 2)) / 2;
         return new Point(x, y);
      }
      
      public static double TimeInFly(double aAngle, double aV0)
      {
         return (2 * aV0 * Math.Sin(aAngle)) / g;
      }
      
      public List<Point> GetPoints()
      {
         return mPoints;
      }
   }
}


Меня всё же смущает не задействование массы.
Или это уже вопрос физического моделирования и тут простой формулой не отделаешься?

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 0:38
Debugger
Масса и не должна задействоваться.

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 1:13
Хакер
Всё-таки это вовсе не алгоритм.

СообщениеДобавлено: 18.01.2016 (Пн) 4:37
Qwertiy
Debugger писал(а):Масса и не должна задействоваться.

Почему? Импульс же массу содержит. Если при ударе поглощается какая-то его часть, то масса должна оказаться в формуле. А если удар абсолютно упругий, то высота отскока будет равна высоте броска - это не тот вариант, который требуется.

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 9:44
alibek
Admiralisimys писал(а):А как насчёт такого?

А что на этом графике означает асимметричность?
Что тело падает медленнее, чем подпрыгивает?

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 19:19
Debugger
alibek писал(а):
Admiralisimys писал(а):А как насчёт такого?

А что на этом графике означает асимметричность?
Что тело падает медленнее, чем подпрыгивает?

Графики построены по "приблизительной" формуле.

Qwertiy писал(а):
Debugger писал(а):Масса и не должна задействоваться.

Почему? Импульс же массу содержит. Если при ударе поглощается какая-то его часть, то масса должна оказаться в формуле. А если удар абсолютно упругий, то высота отскока будет равна высоте броска - это не тот вариант, который требуется.

Угу. В том-то и дело - "часть". Пусть масса и начальная скорость тела - m и V0; конечная - V1; при ударе остается Q-тая часть импульса. Тогда:
P0 = m * V0
P1 = P0 * Q = m * V1
=>
m * V0 * Q = m * V1

Как видишь, m успешно сокращается. Что вполне ожидаемо: какой бы ты тело массы не бросил, оно упадет за одинаковое время, пренебрегая сопротивлением; логично это продлить это правило и до одинаковой траектории при любой массе тел.

*Так что к формуле ещё фикс: после удара горизонтальная скорость тоже меняется. Поэтому вектор скорости после удара будет (Vx * Q; Vy * Q)

Re: Уравнение графика тела брошенного под углом к горизонту

СообщениеДобавлено: 18.01.2016 (Пн) 19:26
Хакер
alibek писал(а):А что на этом графике означает асимметричность?
Что тело падает медленнее, чем подпрыгивает?

Экранный эффект :D .