Russian Qt Forum
Июнь 20, 2018, 22:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 119
1  Программирование / Алгоритмы / Re: Поиск готового решения : Июнь 18, 2018, 11:23
Цитировать
Нужно просто определить для типа точек P алгебраические операции "+", "-" между точками и "*", "/" на число.
Да можно проще.. Всё в конечном счёте сводится к СЛАУ на P0, P1, и т.д..
2  Разное / Говорилка / Re: Самоубийство программистов : Июнь 15, 2018, 21:04
С водкой можно смешивать все. Улыбающийся


Вот!!!  Улыбающийся
3  Разное / Говорилка / Re: Самоубийство программистов : Июнь 15, 2018, 20:28
Роботы-шроботы..

Вы мне лучше скажите, камрады: можно ли водку с мажителью смешивать? (Гугл, похоже, не знает  Злой)

Короче, может кому пригодится: ничего не сворачивается, в хлопья в осадок не выпадает.. После пол бутылки водки - полёт нормальный.  Улыбающийся
P.S. Продолжаю эксперимент..
4  Разное / Говорилка / Re: Самоубийство программистов : Июнь 15, 2018, 18:43
Роботы-шроботы..

Вы мне лучше скажите, камрады: можно ли водку с мажителью смешивать? (Гугл, похоже, не знает  Злой)
5  Программирование / Алгоритмы / Re: Расчет скоростей [решено] : Июнь 07, 2018, 11:05
Цитировать
Так они и так есть, напр при v0 = v1 = 0
Это точки остановки. Точки поворота это когда скорость меняет направление движения
6  Программирование / Алгоритмы / Re: Расчет скоростей [решено] : Июнь 07, 2018, 10:32
Этот интервал [c_min, c_max] будет зависеть только лишь от T, S, v0, v2. Всё!
Если ускорение и скорость неограниченны то с - может любое значение приимать вплоть до бесконечности. (чисто физически )
Можно, конешно, любое c вставить, только вот никто не гарантирует вам, что скорость не сменит знак на пути s. Т.е. не будет точек поворота..
7  Программирование / Алгоритмы / Re: Расчет скоростей [решено] : Июнь 07, 2018, 08:20
Цитировать
Может и можно но не так как Вы предложили.
Именно так. Вы просто, похоже, не понли..

Цитировать
Сначала Вы протаскиваете значение "с" "от фонаря"

Опять нет. Мы выражаем параметры a и  b через c. При этом a и b - линейно зависят от c.
Подставляем a и b, как функции c  в неравенство. Получаем линейное неравенство относительно c, где t - параметр. Никаких a  и  b там уже нет!
Решаем его, определяя границы для c, таким образом, чтоб при любых значениях t [0, T] это неравенств выполнялось. 
Этот интервал [c_min, c_max] будет зависеть только лишь от T, S, v0, v2. Всё!
8  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 06, 2018, 17:47
Цитировать
интервал будет зависеть от того "с" что "взяли"  Улыбающийся А значит каких-то конкретных чисел для "пределов" у меня нет.
Ничего подобнтго.. Интервал для c, где скорость больше нуля определяется только начальными условиями т.е. начальная и конечная скорости, полный путь и время. И его можно аналитически получить. Юзеру давайте по умолчанию положение бубочки на c=0.

Цитировать
"скорость положительна" вызывает у меня сомнения, не лучше ли поставить условие "скорость монотонно" (убывает/возрастает)
Нет, это монотонное убывание/возростание возможно только лишь в том случае, если окажется, что средняя скорость S/T будет лежать между начальной и конечной скоростями.
Более того, даже для квадратичной зависимости скорости никто не гарантирует, что на интервале [0, T] не будет точек поворота.
9  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 06, 2018, 14:20
Можно вообще в пределах некоторого ускорения разогнаться до средней скорости, потом длительное движение на средней скорости, потом ускорение до конечной скорости.
Такой вариант технически сложнее в реализации.. Поскольку зависимость скорости - уже не гладкая функция, следовательно нужно постоянно думать об интервалах, где она меняет свою функ. зависимость и т.д.. Зачем?

10  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 06, 2018, 10:58
Цитировать
Что имеете сказать по этому вопросу? Нужны еще пояснения (может проблема не ясна)?
Так уже всё сказано. Вот алгоритм для кубической зависимости скорости:

v(t) = v0 + a*t + b*t*t + c*t*t*t;

Имеем 2 условия:

v2 = v0 + a*T + b*T*T + c*T*T*T,
S/T = v0 + a*T/2 + b*T*T/3 + c*T*T*T/4.

Находим коэффициенты a и b, которые в данном случае теперь зависят (причём линейно) от параметра c.

a = (6*f2 - 2*f1)/T,
b = (3*f1 - 6*f2)/(T*T),

f1 = v2 - v0 - c*T*T*T,
f2 = S/T - v0 - c*T*T*T/4.

Далее подставляем a и b в уравнение для скорости и ищем условие для параметра c, где скорость на интервале t [0, T] больше или равна нулю:

v0 + a*t + b*t*t + c*t*t*t >= 0

Это, так называемое неравенство с параметром, то, чего так боятся школьники на ЕГЭ.
Решая его, получаете возможный интервал изменения параметра c. Всё. юзеру даёте бубочку с мин и мак. значениями для c.
Пускай крутит туда-сюда)   
11  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 05, 2018, 11:57
Цитировать
Точнее даже не так, машина разгониться и будет ехать по спидлимиту на всем протяжении дороги, если будет время в запасе - срежет скорость чтобы экономить топливо(или будет нарушать, если времени мало) . Если времени будет слишком много, будет пить кофе на заправках.

просто езда с постоянным движением педали газа не очень реальна.

А откуда такая привязка конкретно к случаю движения машины? Может igors решает проблему полёта пьяного Карлсона? Улыбающийся Кто его знает, что у него в голове)

Цитировать
Update: прочитал свой же пост выше и подумал - а что тут военного? Ну возьмем третье ускорение, вот у него коэффициент свободен и может задаваться юзером. СЛАУ остается 2х2. Вот только как этот коэффициент втихаря подстроить (от юзеровского ввода) чтобы график не "вилял"?
 
С точки зрения юзера, мне, лично, было бы гораздо нагляднее задавать (и редактировать) график зависимости скорости от пройденного пути - это интуитивней. А не скорости от времени..
12  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 04, 2018, 17:10
Я извиняюсь, но вот "квадратичность" зависимости скорости от времени - это 100% заданное начальное условие или просто взято как иллюстрация (а движение может быть неравномерным)?
Как иллюстрация) Если использовать в качестве апроксимирующей функции полином, то в общем случае (для фиксации трёх необходимых условий), вторая степень - это минимально возможная)
13  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 04, 2018, 14:40
Цитировать
Как его "дать"? Какие ручки / контролы? Рассказывать ему о полиномах (любой степени) бесполезно.
Юзер вообще не будет знать о ваших полиномах и т.д.. Вы ему дадите N-ное колличество "бубочек", которые он может крутить-вертеть. Число "бубочек" определяет число свободных параметров. Число свободных параметров N задаётся условием: N = n-2, где n - степень полинома (n >= 2).

Цитировать
Ну вот, только подумал "на этот раз удачно проскочил" - и на тебе   Плачущий Хирак - выдает 3 корня.

Если на пути нет точек останова (т.е. точек, где скорость меняет направление) то корень на интервале t [0, T] будет только один.
14  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 04, 2018, 14:18
Цитировать
А так неясно почему средняя должна быть такой. Ну это не принципиально
Цитировать
Ну вообще-то парабола задается 3 точками, а здесь только 2
Это принципиально! Это условие фактически фиксирует третью точку. Поскольку с одной стороны суммарный путь по условию это S, а с другой стороны - это интеграл от скорости от начального момента времени до конечного!

Цитировать
Как сместить максимум влево/вправо по желанию юзверя (пусть примитивно но с минимумом опций и не влезая в обильную математику)?
Как только мы решили аппроксимировать скорость квадратичной функцией и юзер задал начальную и конечную скорости, полное время в пути и длину пути - то он уже больше ничего варьировать не сможет, поскольку (в сотый раз повторяю) решение для квадратичной функции в этом случае определяется однозначно!

Хотите дать юзеру свободу вырьировать параметры: апроксимируйте скорость полиномом выше второй степени. Например, для кубической функции и юзера появится один свободный параметр.

Цитировать
Вобщем есть много краевых моментов и не факт что алгоритм оптимальный.

Я бы сказал, выбор зависимости скорости от времени не единственно возможный - можно туеву хучу вариантов рассматривать, но сам алгоритм примерно один и тот же - фактически это просто решение краевой задачи.
15  Программирование / Алгоритмы / Re: Расчет скоростей : Июнь 04, 2018, 12:09
Еще у вас скорость в конечной точке разве учитывается?
Конечно учитывается. Учитывается и скорость в начальной, конечной да и ещё средняя скорость полностью согласована)

Цитировать
квадратичное уравнение задается жестко начальной скоростью и временем(конечную скорость уже не изменить).
Нет, ничего подобного. Вот квадратичная функция в общем случае: v(t) = v0 + a*t + b*t*t.
v0 - скорость в начальный момент времени (t=0). Остаётся ещё два параметра. Для их определения нужно два уравнения. Одно из них как раз определяет скорость в конечный момент времени
t = T: v2 = v0 + a*T + b*T*T. Второе уравнение определяет среднюю скорость: S/T = v0 + (a/2)*T + (b/3)*T*T
В итоге у нас СЛАУ 2x2:

v2 = v0 + a*T + b*T*T,
S/T = v0 + (a/2)*T + (b/3)*T*T.

из которых мы однозначно найдём a и b.  

Цитировать
Кубическое уравнение опишет вашу задачу, по скорости в начальной и конечной точке, и времени
Кубическое, конечно тоже опишет, но оно избыточно (более того, для кубической зависимости мы уже будем иметь множество решений)..
Квадратичное же имеет единственное. Короче, квадратичного вполне достаточно Улыбающийся
Страниц: [1] 2 3 ... 119
Страница сгенерирована за 0.221 секунд. Запросов: 23.